- 浏览: 221189 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
dysking:
SWT 和 JFace -
wangyuhfut:
东西不少啊。学习中。。。
一个比较好、中文说明的emacs配置文件 1 -
pacocai:
呵呵!学习,学习~~~不过要说编辑器的话个人更喜欢用VIM,比 ...
一个比较好、中文说明的emacs配置文件 1 -
zhf1zhf2:
这两百多个记起来也不容易啊
英国人是这样背的! -
regex:
试了两次,都是乱码,版本是23.1.1,看来不适合
汉化 Emacs 菜单
级别: 中级
马 若劼 (maruojie@cn.ibm.com), 软件工程师, IBM 中国软件开发中心
(暂时没有维护图片链接)
2008 年 3 月 20 日
JFace Text Framework(JFace 文本框架,后面直接简称为 JTF)是 Eclipse 中重要的框架,是其它开发工具的基石之一,比如 JDT (Java Development Tool) 中的 Java 源代码编辑器就是基于它开发的。相信用过 JDT 的人都会对它的源代码编辑器有深刻印象,因为它的很多功能可以让我们很方便的编辑 Java 源代码,比如语法高亮和内容提示等等。所有这些功能都是在 JTF 架的基础上实现的,所以学会使用这个框架对于开发某种语言的编辑工具是至关重要的。即使不是为了这个目的,学习这个框架也有助于提高对 Eclipse 整体的认识。但是JTF本身也确实是一个复杂的框架,非几句话能解释清楚。本系列文章以 JTF 的特性为中心,逐个介绍某个特性的相关概念以及实现方式,并且会给出相应的示例程序。因此随着系列的进行,示例程序会发展成一个全功能的编辑器。本文是此系列文章的第一篇,列举了 JTF 的一些特性,并且简略的介绍了 ANTLR 的相关技术,为后续的文章做好了铺垫。本系列的所有代码都是在 Eclipse 3.3 上调试运行的。
JFace Text Framework(JFace 文本框架,后面直接简称为 JTF)是 Eclipse 中重要的框架,是其它 开发工具的基石之一,比如 JDT (Java Development Tool) 中的 Java 源代码编辑器就是基于它开发的。 相信用过 JDT 的人都会对它的源代码编辑器有深刻印象,因为它的很多功能可以让我们很方便的编辑 Java 源代码,比如语法高亮和内容提示等等。所有这些功能都是在 JTF 架的基础上实现的,所以学会 使用这个框架对于开发某种语言的编辑工具是至关重要的。即使不是为了这个目的,学习这个框架也 有助于提高对 Eclipse 整体的认识。但是JTF本身也确实是一个复杂的框架,非几句话能解释清楚。 本系列文章以 JTF 的特性为中心,逐个介绍某个特性的相关概念以及实现方式,并且会给出相应的示 例程序。因此随着系列的进行,示例程序会发展成一个全功能的编辑器。本文是此系列文章的第一篇, 列举了 JTF 的一些特性,并且简略的介绍了 ANTLR 的相关技术,为后续的文章做好了铺垫。本系列的所有 代码都是在 Eclipse 3.3 上调试运行的。
JFace 文本框架特性一览
JFace 本身是一个更高级的 UI 库,文本框架只是其中的一部分。JFace 本身是基于 SWT 的,所以文本框架 的功能也是受制于 SWT 的,具体的说,是受制于 SWT 中 StyledText 的能力。如果要简单的概括一下 JTF 是 什么,可以说 JTF 只不过是把 StyledText 的一些功能包装的很方便让你来用罢了。所以对 JTF的功能不 要感到很神奇,所有的特性都可以在SWT中找到它的根据。目前,JTF支持以下特性:
* Syntax Highlight(语法高亮)
* Double Click (鼠标双击)
* Content Assistant (内容提示)
* Text Decoration (文本装饰)
* Text Hover (文本悬浮帮助)
* Annotation Hover (标注悬浮帮助)
* Quick Assistant (快速帮助)
* Hyperlink (超链接)
* Template (模版)
* Text Formatting (文本格式化)
* Text Folding (文本折叠)
本系列将介绍所有这些特性,至于这些特性的具体概念会在以后的文章中一一介绍,而且还会顺带介绍一些 JTF 本身并不支持的特性,比如 Triple Click (鼠标三击) 。由于 JFace 和 SWT 都在不断发展中,所以也有可能提到一些上面没有列出的特性。但是JTF本身是一个复杂的框架,所以我不打算一一讲解每一行示例代码的含义,只会关注基本概念和架构以及核心代码,同时为了尽量保持示例代码的简洁,我也不考虑性能等诸多因素。
回页首
ANTLR
对于编写自定义的源代码编辑器来说,有一个源代码的解析器是很重要的。现在有很多这样的工具,比如 JavaCC, Antlr,bison 等等,我们将使用 Antlr 来构造我们的语言解析器。如果你不熟 Antlr 也没有关系,这并不是本文的重点,我会稍微介绍一下 Antlr 的基本概念,你只要了解我用 Antlr 做了什么事就可以了。
Antlr 是一个解析器生成器,可以根据你书写的文法自动生成解析器代码,并且可以生成语法树。之所以需要一个解析器是因为我们要在本系列中一步步实现一个源代码编辑器,很多情况下我们需要一颗语法树来帮助我们获得一些信息。我们可以通过遍历这棵语法树查询我们想要的信息,然后决定我们的程序逻辑。
我将自定义一种简单的语言,然后实现这种语言的编辑器,可以称这种语言为数学表达式语言,在这种语言里,我们仅支持变量声明和四则运算,并且只支持整数类型。看下面的例子:
清单1. 非常简单的假想语言:数学表达式语言
a = 3;
b = (1 + 2) * 3;
a / 2 + b * 5;
从例子中可以看出,我定义的这种语言以分号作为行的结尾,变量声明采用等号作为操作符,变量声明了之后,可以参与到四则运算中,或者直接使用数字常量。这就是全部的语法了。下面是对这种简单语言的一个总结:
* 操作符: +, -, *, /, (, ), =
* 变量名: 任意长度,仅能由字母组成
* 每条语句以分号结尾
我为这种语言定义了 Antlr 的文法,由于并非本文主题,这里不列举其代码,下面是一个与之相关的文件清单,大家可以在示例代码中找到它们:
表 1. ANTLR 相关文件说明
文件名 说明
Expr.g 语言的ANTLR语法描述
Expr__.g ANTLR自动从Expr.g生成的词法分析器文法描述
Expr.tokens ANTLR自动生成的所有符号的列表
ExprLexer.java 语言的词法分析器
ExprParser.java 语言的语法分析器
TokenList.java 符号列表,可以通过它得到指定偏移位置的符号以及得到某个符号的下一个符号
TokenManager.java 符号管理器,维护 IDocument 实例到符号列表的映射,每次 IDocument 实例发生变化时,符号列表缓存将被清空,这样下次会得到一个重新生成的符号列表
TreeManager.java 语法树管理器,维护 IDocument 实例到语法树的映射,每次 IDocument 实例发生变化时,语法树的缓存将被清空,这样下次会得到一个重新生成的语法树
TreeHelper.java 这个方法定义了一些和语法树相关的方法,可以从语法树中抽取一些信息
IExprTokens.java 这个接口定义了语言中可能出现的所有符号
SharedParser.java 为了稍微提高一点性能,维护了词法分析器和语法分析器的单一实例
需要强调的是:上述这些类对于实现一个完整的代码编辑器是非常重要的。对于文本来说,我们没有篇幅去仔细了解它们是怎么实现的,只需要明白它们能够做什么就可以了。对于 ANTLR 的具体使用和解析器相关的内容,值得花一本书的篇幅来介绍,对此有兴趣的读者可以阅读最后的参考文献。我们不做详细阐述,但是下面会介绍一些ANTLR的基本概念:
* 符号(Token): 可以认为符号是一个具有特定意义的词法单元,比如一个英文单词,一个数字都是一个符号,比如语句”a = 3;”,它包含了 6 个符号:a, 空格,等于号,空格,3,分号。当然具体哪些部分能构成一个符号是由你写的文法来规定的。符号可以有很多属性,比如符号的类型、起始位置、结束位置等等
* 词法分析器(Lexer): 词法分析器把一个字符流解析成为一个符号流。词法分析器一般要和一个语法分析器结合起来使用。词法分析器的输出就是语法分析器的输入
* 语法分析器(Parser)和语法树(Tree):语法分析器把一个符号流解析成其它的格式,可以是一棵树或者其它什么东西。比如3 + 4可以变为如下图所示的结构:
图1. 语法树
语法树
加号变成了一颗树的根节点,而3和4成为了它的孩子节点。在这样的树结构里,包含了一定的语义信息。我们通过遍历这颗树,得到数学表达式的结果或者进行其它操作。语法树的好处是可以重复的遍历它而不是每次都去把表达式解析一次。语法树实际上是一种中间格式。
* 文法(Grammar):ANTLR中可以编写很多文法:比如词法分析器的文法,语法解析器的文法,语法树文法等。ANTLR 的文法文件的扩展名是”.g”, 根据你的文法类型,ANTLR会生成不同的源代码文件
一旦我们拥有了处理我们语言源代码的能力,并能够方便的管理源代码的词法语法信息,就相当于大楼有了牢固的地基一样,事情已经成功了一半了。后面的文章将告诉大家如何完成另外一半的工作。
回页首
初始示例代码
为了提供文本编辑和源代码编辑的能力,JTF 提供了 TextViewer 和 SourceViewer。TextViewer 仅仅面向纯文本的编辑,而 SourceViewer 提供了一个代码编辑器所需要的特性。代码编辑相对纯文本编辑来说复杂很多,需要很多附加功能,比如前面提到的 JTF 的所有特性,SourceViewer 都是做了一定的包装的。为了方便自定义,SourceViewer 通过一个 SourceViewerConfiguration 来控制这些特性的行为。缺省的实现基本上就和纯文本编辑器一样,所以我们从扩展 SourceViewer 以及 SourceViewerConfiguration 开始,一步步来完成我们自己的代码编辑器。本文附带的例子是一个起点,虽然有 ExprViewer 和 ExprConfiguation,但是还没有任何自定义代码。
在初始示例代码里,我们为 Eclipse 工具条添加了一个按钮,点击之后会出来一个对话框,我们的自定义编辑器就放在对话框里。之所以没有用 Eclipse 标准的 org.eclipse.ui.editors 扩展点,是因为 editor 本质上也是包装了一个 SourceViewer, 它为我们隐藏了一些东西。所以为了更清楚的说明问题,我们从一个较为原始的状态开始。
回页首
结束语
JTF 是一个比较成熟的文本编辑框架,通过 JTF 我们可以实现自己的代码编辑器。我的目的是对JTF的每个特性进行详细的解说,最终能够构建出一个可以达到和 Java Editor 相同水平的代码编辑器。本系列的每一篇都会附带一个阶段性的代码示例,以便读者对照代码更好的理解 JTF 的架构和细节。
回页首
声明
本文仅代表作者的个人观点,不代表 IBM 的立场。
马 若劼 (maruojie@cn.ibm.com), 软件工程师, IBM 中国软件开发中心
(暂时没有维护图片链接)
2008 年 3 月 20 日
JFace Text Framework(JFace 文本框架,后面直接简称为 JTF)是 Eclipse 中重要的框架,是其它开发工具的基石之一,比如 JDT (Java Development Tool) 中的 Java 源代码编辑器就是基于它开发的。相信用过 JDT 的人都会对它的源代码编辑器有深刻印象,因为它的很多功能可以让我们很方便的编辑 Java 源代码,比如语法高亮和内容提示等等。所有这些功能都是在 JTF 架的基础上实现的,所以学会使用这个框架对于开发某种语言的编辑工具是至关重要的。即使不是为了这个目的,学习这个框架也有助于提高对 Eclipse 整体的认识。但是JTF本身也确实是一个复杂的框架,非几句话能解释清楚。本系列文章以 JTF 的特性为中心,逐个介绍某个特性的相关概念以及实现方式,并且会给出相应的示例程序。因此随着系列的进行,示例程序会发展成一个全功能的编辑器。本文是此系列文章的第一篇,列举了 JTF 的一些特性,并且简略的介绍了 ANTLR 的相关技术,为后续的文章做好了铺垫。本系列的所有代码都是在 Eclipse 3.3 上调试运行的。
JFace Text Framework(JFace 文本框架,后面直接简称为 JTF)是 Eclipse 中重要的框架,是其它 开发工具的基石之一,比如 JDT (Java Development Tool) 中的 Java 源代码编辑器就是基于它开发的。 相信用过 JDT 的人都会对它的源代码编辑器有深刻印象,因为它的很多功能可以让我们很方便的编辑 Java 源代码,比如语法高亮和内容提示等等。所有这些功能都是在 JTF 架的基础上实现的,所以学会 使用这个框架对于开发某种语言的编辑工具是至关重要的。即使不是为了这个目的,学习这个框架也 有助于提高对 Eclipse 整体的认识。但是JTF本身也确实是一个复杂的框架,非几句话能解释清楚。 本系列文章以 JTF 的特性为中心,逐个介绍某个特性的相关概念以及实现方式,并且会给出相应的示 例程序。因此随着系列的进行,示例程序会发展成一个全功能的编辑器。本文是此系列文章的第一篇, 列举了 JTF 的一些特性,并且简略的介绍了 ANTLR 的相关技术,为后续的文章做好了铺垫。本系列的所有 代码都是在 Eclipse 3.3 上调试运行的。
JFace 文本框架特性一览
JFace 本身是一个更高级的 UI 库,文本框架只是其中的一部分。JFace 本身是基于 SWT 的,所以文本框架 的功能也是受制于 SWT 的,具体的说,是受制于 SWT 中 StyledText 的能力。如果要简单的概括一下 JTF 是 什么,可以说 JTF 只不过是把 StyledText 的一些功能包装的很方便让你来用罢了。所以对 JTF的功能不 要感到很神奇,所有的特性都可以在SWT中找到它的根据。目前,JTF支持以下特性:
* Syntax Highlight(语法高亮)
* Double Click (鼠标双击)
* Content Assistant (内容提示)
* Text Decoration (文本装饰)
* Text Hover (文本悬浮帮助)
* Annotation Hover (标注悬浮帮助)
* Quick Assistant (快速帮助)
* Hyperlink (超链接)
* Template (模版)
* Text Formatting (文本格式化)
* Text Folding (文本折叠)
本系列将介绍所有这些特性,至于这些特性的具体概念会在以后的文章中一一介绍,而且还会顺带介绍一些 JTF 本身并不支持的特性,比如 Triple Click (鼠标三击) 。由于 JFace 和 SWT 都在不断发展中,所以也有可能提到一些上面没有列出的特性。但是JTF本身是一个复杂的框架,所以我不打算一一讲解每一行示例代码的含义,只会关注基本概念和架构以及核心代码,同时为了尽量保持示例代码的简洁,我也不考虑性能等诸多因素。
回页首
ANTLR
对于编写自定义的源代码编辑器来说,有一个源代码的解析器是很重要的。现在有很多这样的工具,比如 JavaCC, Antlr,bison 等等,我们将使用 Antlr 来构造我们的语言解析器。如果你不熟 Antlr 也没有关系,这并不是本文的重点,我会稍微介绍一下 Antlr 的基本概念,你只要了解我用 Antlr 做了什么事就可以了。
Antlr 是一个解析器生成器,可以根据你书写的文法自动生成解析器代码,并且可以生成语法树。之所以需要一个解析器是因为我们要在本系列中一步步实现一个源代码编辑器,很多情况下我们需要一颗语法树来帮助我们获得一些信息。我们可以通过遍历这棵语法树查询我们想要的信息,然后决定我们的程序逻辑。
我将自定义一种简单的语言,然后实现这种语言的编辑器,可以称这种语言为数学表达式语言,在这种语言里,我们仅支持变量声明和四则运算,并且只支持整数类型。看下面的例子:
清单1. 非常简单的假想语言:数学表达式语言
a = 3;
b = (1 + 2) * 3;
a / 2 + b * 5;
从例子中可以看出,我定义的这种语言以分号作为行的结尾,变量声明采用等号作为操作符,变量声明了之后,可以参与到四则运算中,或者直接使用数字常量。这就是全部的语法了。下面是对这种简单语言的一个总结:
* 操作符: +, -, *, /, (, ), =
* 变量名: 任意长度,仅能由字母组成
* 每条语句以分号结尾
我为这种语言定义了 Antlr 的文法,由于并非本文主题,这里不列举其代码,下面是一个与之相关的文件清单,大家可以在示例代码中找到它们:
表 1. ANTLR 相关文件说明
文件名 说明
Expr.g 语言的ANTLR语法描述
Expr__.g ANTLR自动从Expr.g生成的词法分析器文法描述
Expr.tokens ANTLR自动生成的所有符号的列表
ExprLexer.java 语言的词法分析器
ExprParser.java 语言的语法分析器
TokenList.java 符号列表,可以通过它得到指定偏移位置的符号以及得到某个符号的下一个符号
TokenManager.java 符号管理器,维护 IDocument 实例到符号列表的映射,每次 IDocument 实例发生变化时,符号列表缓存将被清空,这样下次会得到一个重新生成的符号列表
TreeManager.java 语法树管理器,维护 IDocument 实例到语法树的映射,每次 IDocument 实例发生变化时,语法树的缓存将被清空,这样下次会得到一个重新生成的语法树
TreeHelper.java 这个方法定义了一些和语法树相关的方法,可以从语法树中抽取一些信息
IExprTokens.java 这个接口定义了语言中可能出现的所有符号
SharedParser.java 为了稍微提高一点性能,维护了词法分析器和语法分析器的单一实例
需要强调的是:上述这些类对于实现一个完整的代码编辑器是非常重要的。对于文本来说,我们没有篇幅去仔细了解它们是怎么实现的,只需要明白它们能够做什么就可以了。对于 ANTLR 的具体使用和解析器相关的内容,值得花一本书的篇幅来介绍,对此有兴趣的读者可以阅读最后的参考文献。我们不做详细阐述,但是下面会介绍一些ANTLR的基本概念:
* 符号(Token): 可以认为符号是一个具有特定意义的词法单元,比如一个英文单词,一个数字都是一个符号,比如语句”a = 3;”,它包含了 6 个符号:a, 空格,等于号,空格,3,分号。当然具体哪些部分能构成一个符号是由你写的文法来规定的。符号可以有很多属性,比如符号的类型、起始位置、结束位置等等
* 词法分析器(Lexer): 词法分析器把一个字符流解析成为一个符号流。词法分析器一般要和一个语法分析器结合起来使用。词法分析器的输出就是语法分析器的输入
* 语法分析器(Parser)和语法树(Tree):语法分析器把一个符号流解析成其它的格式,可以是一棵树或者其它什么东西。比如3 + 4可以变为如下图所示的结构:
图1. 语法树
语法树
加号变成了一颗树的根节点,而3和4成为了它的孩子节点。在这样的树结构里,包含了一定的语义信息。我们通过遍历这颗树,得到数学表达式的结果或者进行其它操作。语法树的好处是可以重复的遍历它而不是每次都去把表达式解析一次。语法树实际上是一种中间格式。
* 文法(Grammar):ANTLR中可以编写很多文法:比如词法分析器的文法,语法解析器的文法,语法树文法等。ANTLR 的文法文件的扩展名是”.g”, 根据你的文法类型,ANTLR会生成不同的源代码文件
一旦我们拥有了处理我们语言源代码的能力,并能够方便的管理源代码的词法语法信息,就相当于大楼有了牢固的地基一样,事情已经成功了一半了。后面的文章将告诉大家如何完成另外一半的工作。
回页首
初始示例代码
为了提供文本编辑和源代码编辑的能力,JTF 提供了 TextViewer 和 SourceViewer。TextViewer 仅仅面向纯文本的编辑,而 SourceViewer 提供了一个代码编辑器所需要的特性。代码编辑相对纯文本编辑来说复杂很多,需要很多附加功能,比如前面提到的 JTF 的所有特性,SourceViewer 都是做了一定的包装的。为了方便自定义,SourceViewer 通过一个 SourceViewerConfiguration 来控制这些特性的行为。缺省的实现基本上就和纯文本编辑器一样,所以我们从扩展 SourceViewer 以及 SourceViewerConfiguration 开始,一步步来完成我们自己的代码编辑器。本文附带的例子是一个起点,虽然有 ExprViewer 和 ExprConfiguation,但是还没有任何自定义代码。
在初始示例代码里,我们为 Eclipse 工具条添加了一个按钮,点击之后会出来一个对话框,我们的自定义编辑器就放在对话框里。之所以没有用 Eclipse 标准的 org.eclipse.ui.editors 扩展点,是因为 editor 本质上也是包装了一个 SourceViewer, 它为我们隐藏了一些东西。所以为了更清楚的说明问题,我们从一个较为原始的状态开始。
回页首
结束语
JTF 是一个比较成熟的文本编辑框架,通过 JTF 我们可以实现自己的代码编辑器。我的目的是对JTF的每个特性进行详细的解说,最终能够构建出一个可以达到和 Java Editor 相同水平的代码编辑器。本系列的每一篇都会附带一个阶段性的代码示例,以便读者对照代码更好的理解 JTF 的架构和细节。
回页首
声明
本文仅代表作者的个人观点,不代表 IBM 的立场。
发表评论
-
基于 JFace Text Framework 构建全功能代码编辑器: 第 7 部分:
2009-05-17 16:18 1081https://www.ibm.com/developerwo ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Ho
2009-05-17 16:17 1307https://www.ibm.com/developerwo ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 5 部分:
2009-05-14 17:32 1235https://www.ibm.com/developerwo ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 4 部分
2009-05-14 17:31 1538Content Assistant developerWor ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 3 部分
2009-05-14 17:30 1317Double Click 和 Triple Click de ... -
实战SWT布局
2008-12-08 00:55 1427标准的SWT布局类 FillLayou ... -
SWT布局
2008-12-08 00:53 1154另外参见:http://java.chinaitlab.com ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 2 部分
2008-11-19 18:12 1233Syntax Highlight developerWork ... -
SWT 和 JFace, 第 2 部分: 简介
2008-11-19 18:06 1164http://www.ibm.com/developerwor ... -
SWT 和 JFace,第 1 部分: 简介
2008-11-19 18:04 1194http://www.ibm.com/developerwor ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 8 部分:
2008-11-19 03:54 0https://www.ibm.com/developerwo ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 10 部分:Text F
2008-11-19 03:50 0https://www.ibm.com/developerwo ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 11 部分:
2008-11-19 03:48 0https://www.ibm.com/developerwo ... -
基于 JFace Text Framework 构建全功能代码编辑器: 第 9 部分:Templa
2008-11-19 03:23 0基于 JFace Text Framework 构 ... -
JFace Text Editor完全掌握之终极指南
2008-06-13 01:57 1918JFace Text Editor是JFace里面一个功能强大 ... -
JFace 视图
2008-06-13 01:49 1169http://blog.itpub.net/post/5050 ... -
SWT的体系结构
2008-06-13 01:18 1249http://flyingbug.blogdriver.com ... -
SWT 全接触
2008-06-13 01:15 1750http://blog.csdn.net/DL88250/ar ... -
细说:AWT,SWT,Swing
2008-06-13 00:42 2044http://www.java3z.com/cwbwebhom ... -
SWT的--键盘事件处理
2008-06-12 21:51 2356http://203.208.37.104/search?q= ...
相关推荐
### 基于_JFace_Text_Framework_构建全功能代码编辑器 #### 引言与概述 _JFace_Text_Framework_(简称JTF),作为Eclipse平台的重要组成部分,为开发者提供了构建高度定制化的代码编辑器的强大能力。JTF不仅支撑了...
总结来说,IBM的JFace Text Framework教程为开发者提供了一个强大且灵活的工具,用于构建功能丰富的文本编辑器。通过学习和实践,开发者可以掌握如何利用这个框架来提升开发效率,创建出专业级的IDE(集成开发环境)...
标题提及的"org.eclipse.jface.text_3.8.101.v20130802-1147"是Eclipse中的一个关键组件,它负责文本编辑器的相关功能,包括代码提示。 `org.eclipse.jface.text`是Eclipse JFace库的一部分,JFace是构建用户界面的...
本文将围绕"jface.text 3.12.1.zip"这一特定的Eclipse插件进行深入探讨,该插件是Eclipse文本编辑器的重要组成部分,对于提升Java代码补全体验有着至关重要的作用。 首先,"jface.text"是Eclipse的Java Face (JFace...
标题中的"org.eclipse.jface.text_3.12.2.v20180112-1341.zip"是Eclipse插件的一个版本,它专注于文本编辑功能。Eclipse是一个开源的集成开发环境(IDE),而JFace是Eclipse的一部分,提供了面向用户的界面组件。...
Eclipse JFace Text是Eclipse IDE中的一个核心组件,它提供了高级文本编辑功能,广泛用于构建用户界面中的文本编辑器。这个特定的版本号表明它是该组件的一次更新迭代,可能包含错误修复、性能提升或其他新特性。 ...
JFace Text是Eclipse中的一个API,它是构建文本编辑器的基础,提供了文本编辑、搜索、替换、高亮等基本功能。在这个特定的版本中,开发者们对JFace Text进行了优化,特别是对于用户输入行为的处理,比如取消了空格和...
了解和利用WTP中与插件开发相关的其他关键概念,如JFace Text Framework和Eclipse Editor Framework,可以帮助进一步优化编辑器的性能和用户体验。 #### 五、总结 基于WTP开发自定义的JSP编辑器是一个综合性的工程...
深入研究这部分源码,不仅可以提升对Eclipse JFace的理解,也有助于提升开发者在构建文本编辑器组件时的定制能力。同时,这也提醒我们,源码的修改应遵循良好的编程实践,确保软件的稳定性和可维护性。
《Eclipse JFace Text库与MyEclipse 10.0.0的编辑器功能优化》 在IT行业中,开发工具的效率与便利性对于程序员的工作至关重要。Eclipse作为一款广受欢迎的开源集成开发环境(IDE),其强大的扩展性和自定义能力一直...
JFace包括数据绑定、视图管理、对话框和服务等组件,它将许多复杂的SWT操作进行了封装,例如表格和树的数据模型、表单编辑器等。通过研究JFace的源代码,开发者可以学习到如何优雅地组织用户界面,提高代码的可读性...
这个插件是JFace Text组件的一部分,JFace是Eclipse工作台(Workbench)框架的一个子项目,它提供了基于SWT(Standard Widget Toolkit)的高级用户界面构建工具。版本号"3.9.2"表明这是该插件的第三个主要版本的第九...
因为10.7.1已经完美破解(修正了war文件到处问题),故放上该版本修改过的org.eclipse.jface.text_3.7.2.v20111213-1208.jar 代码补全空格不上屏,适合习惯使用vs等工具的用户 详细描述参见10.0时的插件 ...
7. **视图和编辑器的实现**:Eclipse RCP中的视图和编辑器是通过JFace实现的,源代码能帮助我们理解这两者如何在RCP环境中协同工作。 总之,研究JFace的源代码不仅可以帮助开发者深入理解Eclipse RCP的工作原理,还...
描述中的两个 jar 文件,"org.eclipse.jface.nl1_3.2.1.v200609270227.jar" 和 "org.eclipse.jface.text.nl1_3.2.1.v200609270227.jar",是实际包含这些功能的可执行代码包,它们都带有相同的版本标识,表明它们属于...
**JFace** 是 Eclipse 平台的一个重要组成部分,它提供了一套丰富的 API 来帮助开发者构建基于 SWT(Standard Widget Toolkit)的用户界面。JFace 的核心目标是简化 GUI 开发流程,使开发者能够更加专注于应用程序...
Eclipse SWT(Standard Widget Toolkit)和JFace是用于构建Java GUI应用程序的强大工具,它们与Eclipse IDE紧密集成,提供了一种高效、灵活的方式来创建桌面应用程序。这个压缩包包含的源代码是围绕这两个库的核心...
Eclipse SWT(Standard Widget Toolkit)和JFace是Java编程中用于构建桌面应用程序的两个关键库。它们都是Eclipse IDE的一部分,提供了丰富的用户界面组件和高级的UI设计工具。本篇文章将深入探讨这两个库的核心概念...
在"SWT,JFACE核心应用源代码,第二部分.rar"这个压缩包中,我们可以预期找到一系列关于SWT和JFace实际应用的源代码示例。这些示例可能涵盖了如何使用SWT创建基本和复杂的用户界面元素,如何利用JFace进行数据绑定,...
7. **Views and Editors**:JFace 提供了用于构建工作台视图和编辑器的框架,支持多窗口和多页编辑环境。 8. **Control Adapters**:这些适配器类可以添加额外的功能,例如在控件上添加右键菜单。 9. **Bindings ...