本文档包含自从 Eclipse 发行版 3.0 以来,对发行版 3.1 的 Java 开发工具所作的一些更有意义或更重要的更改的描述。本文档分为下列各节:
|
|
J2SE 5.0 |
Eclipse 3.1 包含对 J2SE 5.0(aka "Tiger")的新功能的全面支持。此支持中有一个最重要的成果,您可能根本没有注意到它,即,您在 J2SE 1.4 中期望使用的所有功能(包括编辑、编译、调试、快速修正、重构、源代码操作以及搜索等等)都可以无缝地应用于 J2SE 5.0 的新类型和语法。 为了开发与 J2SE 5.0 一致的代码,您需要 5.0 Java 运行时环境(JRE)。如果您启动 Eclipse 并是第一次使用 5.0 JRE,则 Eclipse 在缺省情况下将使用该 JRE。否则,您需要使用“已安装的 JRE”对话框来向 Eclipse 注册一个 JRE。您可以通过首选项 Java > 已安装的 JRE 或遵循“新建 Java 项目”向导上的配置缺省值... 链接来打开此对话框。 |
|
|
快速修正功能 |
当您尝试在 1.4 项目中输入 5.0 构造时,新的快速修正功能将帮助您更改一致性设置。注意,此功能需要 1.5 JRE,您可以在“已安装的 JRE”首选项页面中添加该 JRE。
|
|
|
“新建类型”向导支持通用类型 |
“新建类型”向导的各个字段都支持 J2SE 5.0 通用类型:
|
|
|
创建枚举和注释 |
可以使用“新建枚举或注释”向导来创建枚举和注释:
|
|
|
猜测类型自变量 |
在 Java 编辑器中补全类型时,“代码辅助”功能能够插入正确类型的自变量。无法消除歧义的类型自变量将被选中,Tab 键将从一个自变量移到下一个自变量。
在本示例中, 要试用此功能,您需要在 Java > 编辑器 > 代码辅助首选项页面上启用填写自变量名。 |
|
|
对“隐藏了另一类型的类型参数声明”的诊断 |
(可选)Java 编译器可以对隐藏了另一类型的类型参数声明进行标记。
|
|
|
重命名重构 |
“重命名”重构已扩展为能够处理类型参数的重命名。 |
|
|
推断通用类型自变量 |
借助 J2SE 5.0,代码可以使用通用类型来提高可读性和静态类型安全性。重构 > 推断通用类型自变量是一项新的重构功能,它为客户机提供通用类库(例如 Java 集合框架)以迁移它们的代码。
重构功能推断通用类型的类型参数并除去任何不必要的强制类型转换。此功能可以对单个编译单元执行,也可以对整个包和 Java 项目执行。 |
|
|
通用类型的快速修正功能 |
现在,对于未解析的 Java 类型,您还将获得一个建议,从而能够创建新的类型参数:
|
|
|
用于参数化类型的引用搜索的新搜索结果过滤器 |
当搜索对参数化类型(例如
|
|
|
注释补全 |
支持在单个成员注释或注释属性值内进行代码补全。
|
|
|
对“使用了注释类型作为超接口”的诊断 |
在 J2SE 5.0 中,Java 语言允许类实现注释类型。然而,不鼓励这样做。(可选)Java 编译器可以对这样的使用作标记。 |
|
|
对 @SuppressWarnings 注释的支持 |
支持 J2SE 5.0 @SuppressWarnings 注释。识别的警告标记名是:“all”、“boxing”、“dep-ann”、“deprecation”、“incomplete-switch”、“hiding”、“finally”、“static-access”、“nls”、“serial”、“synthetic-access”、“unqualified-field-access”、“unchecked”、“unused”和“warningToken”。在下面的示例中,使用
@SuppressWarnings("deprecation")
注释对第一个字段进行了标记,未报告“建议不要使用”警告。未对第二个字段作标记,报告了“建议不要使用”警告。
注意,有一个编译器选项控制 @SuppressWarnings 注释是否处于活动状态。参见首选项 Java > 编译器 > 错误/警告 > J2SE 5.0 选项 > 启用“@SuppressWarnings”注释 缺省情况下,未处理的警告标记由警告指示。也可以使用 @SuppressWarnings("warningToken") 注释来消除此警告。 |
|
|
对 |
可以使用 @SuppressWarning 注释来消除的警告提供了用于执行此操作的快速修正功能。将快速修正功能应用于以下“未使用的局部变量”警告: 将导致: |
|
|
对“缺少 @Override 注释”的诊断 |
(可选)Java 编译器可以对覆盖了超类方法但缺少正确 @Override 注释的方法作标记。可以使用快速修正功能来添加缺少的 @Override 注释。 |
|
|
对“缺少 @Deprecated 注释”的诊断 |
Java 编译器能够识别 @Deprecated 注释并将它们视为等同于文档注释
/** @deprecated */。(可选)它可以对缺少正确 @Deprecated 注释的建议不要使用的构造作标记(以鼓励使用注释来代替文档注释标记)。 |
|
|
对“不完整的 enum 开关语句”的诊断 |
(可选)Java 编译器可以对不完整的 enum 开关语句进行标记。 |
|
|
编译器对“enum”标识的诊断 |
Java 编译器可以找到并标记“enum”被用作标识的位置。到源代码级别
1.4 为止,“enum”都是合法的标识,但在 5.0 源代码中,它是保留的关键字。启用此警告有助于预测源代码迁移问题。参见首选项 Java > 编译器 > JDK 一致性 > 不允许名为“enum”的标识。
|
|
|
用于创建枚举常量的 |
快速修正功能支持创建枚举常量。在下面的示例中,在枚举 Colors 中遗漏了常量 BLUE。 |
|
|
自动装箱参数 |
建议的参数包括自动装箱(拆箱)建议:
注意:必须启用 Java > 编辑器 > 代码辅助 > 补全时填写自变量名首选项。 |
|
|
装箱/ |
J2SE 5.0 自动装箱功能十分强大,但是它可能会引起意外的行为,传递自变量时尤其如此。编译器引入了可选的诊断功能,该功能指示在什么时候执行了自动装箱或自动拆箱操作。在下面的示例中,您可能会认为将调用 foo(Integer) ,但由于执行了自动拆箱,结果调用的是 foo(int) 。
|
|
|
Java 编辑器对 J2SE 5.0 的支持 |
Java 编辑器提供了用于新的 J2SE 5.0 语言特征的语法着色功能。请转至
Java > 编辑器 > 语法着色首选项页面以更改颜色或者对类型变量、注释元素和
auto(un-)boxed 表达式启用语义着色: |
|
|
新的 for 循环模板 |
foreach
模板在代码中插入新的“for”循环,并提供了可以用来执行迭代的局部
Iterable 实例:
|
|
|
转换为增强型 for 循环 |
新的“快速辅助”功能(Ctrl+1)能够将对数组和集合执行的旧式 for 循环转换为 J2SE 5.0 增强型 for 循环:
快速修正功能将该循环简化为: |
|
|
需要进行强制类型转换的 |
(可选)Java 编译器可以对可疑 varargs 方法调用进行标记。末端加空值的自变量并不会如您所期望那样被合并为 1 个元素的数组;添加显式的强制类型转换可以实现使代码清晰的意图。
可以在 Java > 编译器 > 错误/警告 > J2SE 5.0 选项 > vararg 自变量的不精确类型匹配中找到首选项设置。 |
|
|
补全功能使用静态导入 |
Java 编辑器中的代码补全功能在推断上下文敏感补全时能够处理静态导入。
|
|
|
静态导入 |
要对静态导入进行组织,可以创建静态导入组并将静态导入放到您选择的组中。您可以定义一个“其它”组以将所有与任何其它组不匹配的导入收集到一起:
“其它”组功能也适用于非静态导入。 |
|
|
对 |
已添加了对特殊源文件
package-info.java 的支持,这允许对包建立注释和记录。所有 JDT 工具(代码辅助、代码选择、搜索、大纲和类型层次结构等)都可以在这个特殊编译单元中使用。
将对 package-info.java 中的文档注释进行处理,并对标准注释标记中的语法和引用进行验证。 |
|
|
用于 J2SE 5.0 构造的代码格式化程序 |
代码格式化程序支持所有新的 J2SE 5.0 语言构造。您可以在 Java > 代码样式 > 代码格式化程序首选项页面上控制格式化程序处理它们的方式:
|
|
|
调试 5.0 源代码 |
您可以使用 1.5 JRE 来运行和调试 5.0 源代码。Java 调试求值功能支持 J2SE 5.0 构造,如类属类型和增强型 for 循环。 |
|
|
局部内部类型的类文件命名更改 |
在 5.0 一致性方式下,Java 编译器生成类文件,这些类文件遵循 JLS 13.1(第三版)中指定的局部内部类型命名约定。因此,在下面的示例中,生成的文件不是被命名为 X$1$A.class ,而是简单地命名为 X$1A.class 。
|
|
|
|
观察点和 |
在 Java 编辑器标尺中双击时,将对字段创建观察点并对方法声明创建方法入口断点。 |
|
|
锁和死锁 |
通过切换“调试”视图下拉菜单中的显示监视器菜单项,可以以直接插入方式在“调试”视图中显示线程拥有的锁以及线程正在等待的锁。死锁所涉及的线程和锁将突出显示为红色。 |
|
|
对堆栈跟踪进行导航 |
请将堆栈跟踪复制并粘贴到 Java 堆栈跟踪控制台并使用超链接来对跟踪进行导航。可以从“控制台”视图中的打开控制台下拉菜单打开 Java 堆栈跟踪控制台。可以通过标准的格式化键绑定来对粘贴的堆栈跟踪进行格式化。 |
|
|
“toString()”直接插入 |
可以以直接插入方式在“变量”视图树和详细信息区域中显示 toString() 计算得到的变量值。视图下拉菜单中的 Java 详细信息格式化程序... 命令用于配置此功能的工作方式。 |
|
|
用户定义的逻辑结构 |
现在,Java 调试器允许您控制对于不同类型的对象在变量视图中显示的内容。例如,集合可以显示为简单的值数组,而不是显示一大堆有关特定集合对象的实现方式的详细信息。 可以通过 Java > 调试 > 逻辑结构首选项页面完成此操作,在该页面中,您使特定的类或接口与单个表达式(例如, |
|
|
经过增强的变量值修改功能 |
现在,Java 调试器允许您通过在更改值对话框中或在变量视图的详细信息区域中输入表达式并按保存来更改变量值。 |
|
|
查找变量 |
“变量”视图中的“查找变量”操作允许您输入所查找的变量的名称。当您输入时,“变量”视图将选择与输入的文本相匹配的下一个可视变量。同样,“查找变量”对话框将显示与最新输入的文本相匹配的变量。 |
|
|
Javadoc 附件 |
现在,可以使不同的 Javadoc 位置与 JRE 库中的每个 JAR 相关联。 |
|
|
|
新的 Javadoc |
当 Javadoc 检查功能处于启用状态时,您可以将它配置为:
这些设置位于 Java > 编译器 > Javadoc 首选项页面上。 |
|
|
用于后缀表达式的无效果赋值诊断功能 |
对无效果赋值的可选诊断功能用于检测将后缀表达式赋给同一变量的情况,例如 i = i++;
|
|
|
串行版本 UID |
有一个新的可选编译器诊断功能,此功能用于诊断可序列化类缺少 可以在 Java > 编译器 > 错误/警告 > 潜在的编程问题中找到此首选项设置。 |
|
|
对内部类引用的早期检测 |
您可以对 Java 构建路径中的库(和项目)条目创建注释(属性 > Java 构建路径 > 库)以标识要避免从代码中直接引用的任何内部包。例如,依赖于任何特定于供应商的包(例如通常可以在 J2SE 库中找到的 com.ibm.* 或 com.sun.* )通常不是理想的方案。访问限制是使用构建路径条目中的包括规则和排除规则的组合来表达的。模式语法遵循 Ant 文件集表示法,并且与类文件的路径进行匹配。例如,将模式
com/ibm/** 用作排除规则将限制对 com.ibm 包及其子包中的所有类的访问;将模式 org/eclipse/**/internal/**
用作排除规则将限制对内部 Eclipse 包中的所有类的访问。当您提供了包括规则时,将允许访问所有与这些规则相匹配的内容,但不允许访问所有其它内容。
Java > 编译器 > 错误/警告 > 不建议使用的和受限制的 API 首选项设置允许您控制是将不确定引用标记为错误还是警告(缺省情况下,将禁止的引用标记为错误,将不鼓励使用的引用标记为警告)。 |
|
|
库和项目的访问规则 |
可以对引用的库和项目定义访问规则以明确允许/不允许/不鼓励访问特定类型。
|
|
|
|
经过改进的折叠图标和文字说明 |
当折叠 Java 元素时,Java 编辑器中留下的那一行就是包含该元素的名称的行。对于折叠的 Javadoc 注释,将显示第一行注释。现在,Java 编辑器中显示的新的轻量级折叠图标与覆盖和实现指示符不相同: |
|
|
头注释折叠功能 |
可以对 Java 源文件中的头注释和版权声明进行折叠: |
|
|
对出现的继承的方法进行标记 |
Java 编辑器可以突出显示所有实现了或覆盖了从所选超类型继承的方法的方法声明。参见 Java > 编辑器 > 标记出现 > 实现接口的方法首选项设置。
|
|
|
新出现的快速菜单 |
可以通过按 Ctrl+Shift+U 来在 Java 编辑器中打开提供了出现搜索功能的上下文菜单。
注意:希望使用旧行为的用户可以将上述键序列重新指定到“搜索文件中的所有出现”命令。 |
|
|
在 Java 编辑器中突出显示不建议使用的类成员 |
不建议使用的类成员通过高级突出显示进行标记: |
|
|
Javadoc 中的引用 |
现在,Eclipse 识别对文档注释中的 Java 元素(例如 @see、@link、@linkplain、@throws、@exception、@param 或 @value 标记)的引用。这将启用悬浮式帮助并允许链接到所引用的 Java 元素。
|
|
|
经过改进的空字补全功能 |
应用于空字的 Java 代码补全功能不再自动建议在补全位置处可视的所有类型。您必须输入类型的第一个字符才能获得补全建议。
|
|
|
Javadoc 的工具提示描述 |
通过编辑 > 显示工具提示描述(F2)显示的 Javadoc 将在 SWT 浏览器窗口小部件中显示。 |
|
|
“移动行”将调整缩进 |
当您在 Java 编辑器中移动选择的行时,移动行(Alt+Up/Down)和复制行(Ctrl+Alt+Up/Down)命令将自动调整那些行的缩进。 |
|
|
经过改进的 Java 属性文件编辑器 |
Java 属性文件的编辑器已得到大幅改进。它们提供了语法突出显示功能、经过改进的双击行为以及单独的字体首选项。语法突出显示颜色是从 Java > 属性文件编辑器首选项页面中调整的。还提供了拼写检查功能,并且您可以使用“快速修正”(Ctrl+1)功能来修正拼写问题。
|
|
|
使用外部化字符串 |
当您悬浮在 Java 编辑器中外部化字符串的键上时,相关联的外部化值将显示在悬浮帮助中:
对其执行 Ctrl+单击将直接导航到相应 Java 属性文件中的条目: |
|
|
从属性文件编辑器中的属性键导航到它的引用 |
使用导航 > 打开(F3 键)或 Ctrl+单击来从属性文件编辑器中的属性键导航回到代码中引用了该键的位置。
|
|
|
外部化字符串向导支持新的消息束 |
外部化字符串向导支持 Eclipse 的字符串外部化机制,该机制是此发行版的新增功能: |
|
|
用于创建与 Java 编辑器中的代码建议类似的代码建议的新 API |
您需要为类似于 Java 的语言实现编辑器吗?您可以创建自己的与
Java 编辑器中的代码辅助建议类似的代码辅助建议。将 CompletionProposalCollector
实例化可以获得与 Java 编辑器相同的代码辅助建议,也可以创建它的子类以便在您自己的建议中混合使用它。使用
CompletionProposalLabelProvider 来获得合适的图像和标注,并使用
CompletionProposalComparator 来对建议的项进行排序。
包: |
|
|
|
新的“打开类型”对话框 |
Java“打开类型”对话框在许多方面作了改进:
在内部还进行了重大的体系结构更改。现在,对话框中显示的类型是使用 Java 搜索引擎查询找到的。在正规的 Eclipse 开发工作空间中,与以前使用的极耗内存的方法相比,能够净节省 4-6MB 内存。 |
|
|
对包含许多项目的工作空间进行组织 |
使用“包资源管理器”的视图菜单中的显示 > 工作集来启用一种新方式,该方式将工作集显示为顶级元素。此方式可以使您更方便地管理包含许多项目的工作空间。
从“包资源管理器”的视图菜单中使用选择工作集来配置要显示的工作集。此对话框允许您创建新的 Java 工作集、定义要显示的工作集以及显示顺序。也可以直接在“包资源管理器”中使用拖放和复制/粘贴操作重新安排工作集。 |
|
|
新建 Java 项目向导的经过改进的源文件夹页面 |
Java 项目创建向导中经过改进的源文件夹配置页面可以帮助您根据现有源代码来创建项目。您可以定义源文件夹条目,直接在树中包括/排除文件夹以及立即测试操作结果。
|
|
|
共享 Java 项目设置 |
每个 Java 项目都可以包含定制的编译器选项和代码样式设置。这些设置存储在项目本身中,当从存储库装入(或更新)项目时,将自动应用这些设置。
通过用户界面修改 Java 项目设置将自动地把这些设置写入 .settings 目录中的一个文件。(设置文件的内容是自动生成的,不希望您直接编辑它们。) |
|
|
导航到特定于项目的设置 |
也可以逐个项目进行配置的设置的首选项页面提供了指向特定于项目的首选项页面的链接。
|
|
|
存储在 .classpath 文件中的 Javadoc 位置 |
与 JAR 文件和类文件夹相关的 Javadoc 位置存储在 .classpath 文件中,因此可以在小组内共享它们。当 3.1 启动时,有一个后台作业将把先前以内部方式存储的所有位置迁移到该 .classpath 文件。
Javadoc 位置由“打开外部 Javadoc”(CTRL + F2 键)和 Javadoc 向导使用。 |
|
|
快速辅助和快速修正功能的快捷键 |
您可以使用 Ctrl+2 R 和 Ctrl+2 L 来直接调用一些常用的快速辅助功能,如在文件中重命名和赋予局部变量。请查阅键首选项页面以了解更多支持直接调用的快速修正功能。
|
|
|
新的快速修正功能 |
为几个 Java 编译器选项添加了新的快速修正功能,例如:
|
|
|
新的快速辅助功能 |
在 Java 编辑器中添加了数项快速辅助功能(Ctrl+1):
|
|
|
可以通过“编辑”菜单来撤销/重做重构 |
现在,可以通过“编辑”菜单来撤销/重做重构,并且从全局菜单栏中除去了单独的“重构撤销/重做”操作。并且,重构的撤销/重做操作现在已经与 Java 编辑器的撤销/重做集成,这使编辑器中的撤销历史更透明。例如,现在可以通过简单地按 Ctrl+Z 来撤销从编辑器内触发的重构。 |
|
|
成员可视性调整 |
重构命令“移动方法”、“将成员类型移至新文件”、“移动静态成员”、“上拉”和“下推”将根据需要自动更改所引用的字段、方法和类型的可视性。
|
|
|
“移动方法”重构 |
重构 > 移动命令已扩展为能够更好地支持实例方法的移动。新功能包括:
|
|
|
“尽可能使用超类型”重构 |
一个首选项对“尽可能使用超类型”重构进行了扩展,该首选项指定是否要更新 instanceof 表达式中出现的类型: |
|
|
包资源管理器中的构建路径菜单 |
Java 包资源管理器的上下文菜单提供了新“构建路径”菜单条目,它提供了用于修改 Java 项目构建路径的上下文相关操作。您可以添加/除去新的源文件夹、归档和库,以及包括/排除源文件夹中的文件夹和文件:
|
|
|
新的 Eclipse 缺省内置格式化程序概要文件 |
虽然 Eclipse 的缺省 3.0 代码格式化程序概要文件名为“Java 约定”,但使用此概要文件对文件进行格式化将使用制表符而不是空格来进行缩进。添加了名为 Eclipse 的新概要文件,它一贯地反映了缺省的格式化程序选项,它使用制表符来进行缩进。要使用真正的 Java 约定设置,只需要使用 Java > 代码样式 > 格式化程序首选项页面来将格式化程序概要文件切换为“Java 约定”。 |
|
|
同时更改多个行回绕设置 |
Java 代码格式化程序页面允许您通过在树中选择多项内容并接着更改设置来同时更改多个行回绕设置:
代码格式化程序设置位于 Java > 代码样式 > 格式化程序首选项页面上。 |
|
|
混合的缩进设置 |
Java 格式化程序首选项允许独立于缩进大小来配置制表符大小(参见格式化程序概要文件中的缩进选项卡):
例如,将制表符大小设置为 8 并将缩进大小设置为 4 将使源代码缩进 4 个空格。如果将制表符策略设置为混合,则每两个缩进单元将被一个跳进字符替换。 可以在 Java > 代码样式 > 格式化程序首选项页面上配置格式化程序概要文件。 |
|
|
首先重新运行失败的测试 |
在 JUnit 视图中有一项新操作,该操作允许先重新运行失败的测试,然后再运行任何已成功的测试。 |
|