下列是对 Eclipse 发行版 3.2 的 Java 开发工具所作的一些更有意义或更重要的更改的描述。它们分组为:
另请参阅 3.2 版 Eclipse 平台的新增内容文档,以查看有关 Eclipse 平台的更改信息。
Java 重构 |
|
引入间接重构 |
引入间接是一种新的重构,它允许您将方法的所有调用者重定向至新方法。新方法将调用原始方法。如果您愿意,可以用任何其他方法的缺省实现替换新方法的缺省实现。 当需要为方法引入新行为时,这种间接很有用,但是:
使用引入间接对原始方法进行错误修正,或将引入间接用作在一个方法的所有调用前后添加代码的快速方法。 要执行引入间接重构,请选择一个方法,调用重构 > 引入间接...,然后为新方法提供名称和声明类。 将该方法添加到所选择的声明类。 更新所有引用以调用新方法。 |
抽取超类重构 |
一种称为抽取超类的新重构从一组同代类型中抽取公共超类。在应用该重构后,所选择的同代类型将成为抽取出的超类的直接子类。此外,抽取超类还允许您尽可能在代码中使用抽取出的超类。 下一个图显示使用抽取超类重构抽取 要调用此重构,请使用重构 > 抽取超类...。 |
“清理”向导 |
可以对任意数目的 Java 源文件、包或整个 Java 项目调用清理向导。它可以帮助完成下列任务:
以下是一些可以实现的任务示例:
要使与 Java 1.4 兼容的代码可用于 5.0,使用清理向导执行下列操作:
选择一个项目、包或文件,然后使用源代码 > 清理...来启动此向导。 |
重构历史记录 |
JDT 提供的大多数重构现在都记录在重构历史记录中。重构基础结构存储关于工作空间中已执行的重构的详细信息。 |
创建并应用重构脚本 |
现在,可以将在本地工作空间中执行的重构导出到重构脚本中,并在任意工作空间中重放。 这种重构脚本可以在不同情况下使用,例如,自动修正软件层之间的 API 突破性更改或提供语义丰富的补丁。 使用重构 > 创建脚本...来根据重构历史记录创建重构脚本 要在任意工作空间中应用生成的重构脚本,请使用重构 > 应用脚本... 新的扩展点允许插件编写者提供对新的或已经存在的重构的脚本编制支持。请参阅 |
具有重构信息的 JAR 文件导出 |
从工作空间中导出 JAR 文件时,“JAR 导出”向导提供了一个用于将重构信息包括在 JAR 文件中的选项。 通过使用重构 > 迁移 JAR 文件...重构,客户机可以将旧版本的 JAR 文件迁移到新版本。或者,如果当前选择了 JAR 文件,还可以使用构建路径 > 迁移 JAR 文件...。 此重构将自动更新所有依赖于旧版本的 JAR 文件的代码,以使用新版本的 JAR 文件。 |
API 感知重构 |
通过将原始成员作为已重构成员的代理,已扩展了许多现有重构来支持 API 兼容性:
通过在“重构”对话框中选中保留原始方法作为所重命名方法的代理,可以启用代理成员的生成来保持 API 兼容性。 |
“重命名类型”更新具有类似名称的元素 |
重命名类型重构现在可以重命名其名称与已重命名的类型名称类似的变量和方法。此功能有助于使方法名和变量名与类型名同步。 要调用此重构,选择一种类型并使用重构 > 重命名... |
“重命名包”重构重命名子包 |
重命名包重构现在还可根据请求重命名子包。 在此示例中, 要调用此重构,选择一个包并使用重构 > 重命名... |
过滤重构预览 |
“重构预览”页现在支持对更改进行过滤。如果在重命名 Java 元素期间请求更新注释和字符串中的文本匹配项,则此功能特别有用。 屏幕快照显示在将类 现在,还可以过滤与 Java 元素的可视性相关的更改。 |
Java 编辑器
|
|
可定制的内容辅助 |
现在,重复调用内容辅助(在大多数平台上按 Alt+/)将循环遍历不同的建议类别。 您可以将不同的快捷键指定给首选建议类别,并使用 新的 |
代码补全中的大小写交错支持 |
代码补全现在支持大小写交错模式。例如,补全 NPE 将建议为 NullPointerException。可以使用 |
包围代码的快速菜单 |
新的包围方式快速菜单允许您用代码包围选择的行。可使用定制模板扩展该菜单。现在,模板知道需要拉出或使其为 final 类型的变量。 使用源代码 > 包围方式或按 Alt+Shift+Z 以直接查看该菜单。 可以在 Java > 编辑器 > 模板首选项页上添加定制模板。模板所需要的只是 |
新的快速修正功能 |
已添加几个新的快速修正功能,例如:
|
类别支持 |
可以在 Javadoc 注释中使用 类别显示在“大纲”视图和“成员”视图以及“快速大纲”视图中。“视图”菜单允许您选择可视类别。 |
所有成员都可折叠 |
当启用了折叠时,现在可以像折叠方法一样折叠字段、初始化程序及其注释。 有一些新的文本折叠命令,可用于折叠所有注释、折叠所有成员和复位折叠结构。这些命令位于 Java 编辑器的垂直标尺中的折叠上下文菜单中。 |
标尺支持以及工作空间外的 Java 文件的大纲 |
Java 编辑器现在显示垂直标尺,并且“大纲”页和“快速大纲”能够显示资源库中的外部 Java 文件和 Java 文件的大纲。 |
Java 编译器
|
|
Java SE 6.0 一致性 |
现在完全支持 Java SE 6.0 一致性。特别是,可使用 1.6 目标在 .class 文件中生成 |
空引用分析 |
Java 编译器现在能够对局部变量执行基本的空引用分析。 可以在 请注意,分析非常保守,且是根据明确的赋值规则进行的。它仅考虑存在疑问的情况(例如,稍后是否执行空检查),而不考虑所有可能的情况。 在 5.0 一致性方式下,可使用 |
已改进的语法恢复功能 |
内部 Java 解析器现在对语法错误更有弹性。在 Eclipse 3.1 中,语法错误可防止显示后续错误。现在,解析器可以从具有错误的语句中恢复并继续执行进一步分析。 在以下示例中,即使上一个语句中缺少分号,也能检测到对方法 例如,这允许那些仅影响单个文件的重构可容许语法错误。例如,现在可以在尚未完全编写完的方法顶部重命名或抽取局部变量。 |
将可配置的错误视为非致命错误 |
如果禁用此选项,则即使已编译的代码中存在错误,也可以执行该代码。 |
检测不必要的 $NON-NLS$ 标记 |
现在将检测不必要的 可使用检测未外部化的字符串所用的那个首选项来打开和关闭报告。可以在 要除去不必要的标记,请使用快速修正(Ctrl+1),或者按 Ctrl+1 和 Ctrl+Enter 以除去编译单元中所有不必要的标记。 |
检测原始类型的使用 |
现在,已检测到原始类型的使用。原始类型是对不带有任何参数的某种通用类型(例如, 可以在
通过添加 此外,还实现了快速修正功能来帮助解决原始类型的使用问题。 |
检测方法参数的赋值 |
对方法参数赋值不是一种好的做法。 要检测并报告这种赋值,打开 |
检测未使用的标号 |
Java 编译器现在检测未使用的语句标号。 可以在
|
检测 switch case 跳转 |
现在,Java 编译器可以检测是否可以跳转前一个 case来进入下一个case。允许空的 case 语句。 可以在 已实现在上一个 case 中添加 |
已改进大型 .jar 文件的性能 |
现在,内部 Java 模型高速缓存的大小限制是为运行 Eclipse IDE 的 Java 虚拟机提供的最大堆大小(在大多数 JVM 上为 -Xmx VM 参数)的一部分。 当构建类路径上有大型 .jar 文件时,增大堆大小能显著提高性能。 |
重新创建已修改的 .class 文件 |
现在,Java 构建器可以使用原始源代码重新创建输出文件夹中已修改或已除去的 .class 文件。 可以在
|
附加 Javadoc 中的 Javadoc 视图和工具提示 |
Javadoc 视图和 Javadoc 悬浮现在从未连接源代码的库的附加 Javadoc 中抽取信息。 |
JUnit 工具 |
|
JUnit 4 支持 |
已更新 JUnit 支持,以便运行和编写 JUnit 4 测试。请查看 www.junit.org 以了解关于 JUnit 4 的更多信息。
|
JUnit 视图历史记录 |
现在,JUnit 视图可以处理多个同时测试运行。可以使用新历史记录在活动测试运行和最新测试运行之间切换。可以根据历史记录重新运行测试,而不必停止已经在运行的测试。 这不仅对 JUnit 3 起作用,对 JUnit 4 同样起作用。 |
Java 调试器 |
|
执行环境 |
执行环境描述运行时(例如,J2SE-1.4)的功能。可以通过引用执行环境来指定用于运行、调试和构建的 JRE。
新的
因为可以独立于 JRE 的名称来解析 JRE 的执行环境,所以引用执行环境的构建路径或启动配置比引用显式 JRE 的构建路径或启动配置更容易移植。使用 JRE 选项卡或“编辑库”向导来指定用于运行和构建的执行环境。 |
系统属性启动变量 |
新的启动变量允许动态将系统属性指定为 Eclipse 运行时中的 Java 程序和 VM 参数。该变量接受单个参数,即启动时要解析的系统属性的名称。 例如,使用 ${system_property:java.home} 来引用 java.home 系统属性。 |
数组的求值支持 |
现在,Java 数组支持求值和内容辅助。使用 |
Java 线程组 |
现在,通过切换“查看”菜单中的显示线程组,可以在“调试”视图中显示线程组。 |
导出条目的运行时类路径 |
可以配置运行时类路径,以便仅包括已从构建路径中导出的条目。缺省情况下,运行时类路径包括所有条目(已导出的条目和未导出的条目)。 从类路径选项卡中,选择缺省条目并使用编辑...按钮来配置该选项。 |
暂挂线程与暂挂 VM |
已在 |
其他 |
|
Java 类型指示符 |
在
|
查找错误的外部化字符串 |
一个新操作可以搜索错误的外部字符串。这种搜索将报告缺少的键、未使用的键和重复键。 要开始搜索,请选择一个属性文件、包或整个项目,然后使用源代码 > 查找错误的外部化字符串 |
已提高对 Eclipse 字符串外部化机制的支持 |
Eclipse 字符串外部化机制现在具有的支持与传统字符串外部化的支持相同。在 Java 编辑器中的外部化字符串的键上停留时,相关联的外部化值将以悬浮方式显示。 对该键执行 Ctrl+单击操作将直接跳转至相应属性文件中的条目。在属性文件编辑器中,可以通过 Ctrl+单击来查找代码中使用该键的位置。 |
根据示例代码段创建类型 |
可以将包含 Java 类型的代码段直接粘贴到包或源代码文件夹中,以创建新的编译单元。例如,选择并复制以下源代码:package pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }然后,在“包资源管理器”中选择源代码文件夹并使用 Ctrl+V(编辑 > 粘贴)。这将使用复制的内容自动创建一个新的包“pack”和文件“HelloWorld.java”。 |
生成 hashCode() 和 equals() |
可以使用一个新操作来生成方法 要调用此操作,请选择一种类型并使用源代码 > 生成 hashCode() 和 equals()... |
命令行代码格式化程序 |
现在,可以使用新的无外设格式化应用程序来格式化源代码,而不必启动 Eclipse UI。命令行格式化程序的工作原理与标准 Eclipse 应用程序相同。 以下命令将使用 config.prefs 文件中指定的选项格式化文件夹 src 中的源文件: 请参阅使用格式化应用程序,以获取详细信息。 |
支持类似于 Java 的扩展名 |
现在支持文件扩展名不是 .java 但包含纯 Java 代码的文件。可以使用
|