提示与技巧

编辑 搜索 导航 视图 调试 其它

编辑源

内容辅助 内容辅助为您提供了输入的部分字符串的建议的补全列表。在 Java 编辑器中,按 Alt+/ 或者调用编辑 > 内容辅助

内容辅助选择对话框

Javadoc 注释中的内容辅助 在 Javadoc 注释中也提供了内容辅助。

Javadoc 注释的内容辅助

在代码辅助中消除类型

要使某些类型不出现在内容辅助中,使用在窗口 > Java > 外观 > 类型过滤器首选项页面上配置的类型过滤功能。与这些过滤器模式的其中一种模式匹配的类型将不出现在“打开类型”对话框中且不可用于代码辅助、快速修正和组织导入。这些过滤器模式不影响“包资源管理器”和“类型层次结构”视图。

类型过滤器首选项页面
用于变量、方法参数和字段名补全的内容辅助

可以使用内容辅助来加快创建字段、方法参数和局部变量的速度。在将光标定位在声明的类型名后面的情况下,调用编辑 > 内容辅助或者按 Alt+/

字段名称建议

如果将名称前缀或后缀用于字段、局部变量或方法参数,则务必在“代码样式”首选项页面(窗口 > 首选项 > Java > 代码样式)中指定名称前缀或后缀。

参数提示 当光标位于方法自变量中时,可以看到参数提示的列表。在“Java 编辑器”中按 Ctrl+Shift+空格键或者调用编辑 > 参数提示

参数提示悬浮式帮助

有关匿名类的内容辅助 当创建匿名类时,内容辅助也提供了帮助。在光标定位于类实例创建的左括号后面的情况下,调用编辑 > 内容辅助或者按 Alt+/

匿名类的内容辅助

这将创建匿名内部类的主体,包括需要实现的所有方法。
在插入与替换代码辅助之间进行切换 当对现有标识调用代码辅助时,代码辅助可以使用选择的补全来替换该标识,也可以执行插入操作。缺省行为(覆盖或插入)在窗口 > 首选项 > Java > 编辑器 > 代码辅助中定义。
可以在处于内容辅助选择对话框中时通过在选择补全时按 Ctrl 键来临时切换该行为。
增量内容辅助 在缺省情况下,内容辅助现在将自动插入公共前缀,这与 Unix shell 扩展类似。要更改该行为,取消选取窗口 > 首选项 > Java > 编辑器 > 代码辅助首选项页面上的设置。
“创建 Getter 和 Setter”对话框 要为一个字段创建 getter 和 setter 方法,选择该字段的声明并调用源 > 生成 Getter 和 Setter

“生成 Getter 和 Setter”对话框

如果您使用名称前缀或后缀,则务必在“代码样式”首选项页面(窗口 > 首选项 > Java > 代码样式)中指定名称前缀或后缀。
使用内容辅助来创建 Getter 和 Setter 创建 getter 和 setter 的另一种方法是使用内容辅助。将光标置于成员之间的类型主体中并按 Ctrl+空格 以获取创建 getter 或 setter 方法存根的建议。
创建 setter 的代码辅助
与字段一起删除 Getter 和 Setter 当您从视图中删除字段时,Eclipse 可能会建议删除其 Getter 和 Setter 方法。如果您对字段使用名称前缀或后缀,则务必在“代码样式”首选项页面(窗口 > 首选项 > Java > 代码样式)中指定名称前缀或后缀。
创建代理方法 要为字段创建代理方法,选择该字段的声明并调用源 > 生成代理方法。这将把所选方法添加至包含对代理方法的正向调用的类型。以下是代理方法的一个示例:
代理方法示例
使用“拖放”操作来进行重构 可以通过“拖放”操作来在多个包之间移动 Java 编译单元 - 将添加所有丢失的导入并且将更新引用。
使用“拖放”操作来移动和复制 Java 代码元素 可以通过“拖放”操作来移动和复制 Java 元素(例如,方法和字段)。这不会触发重构 - 将只是复制或移动代码。
使用模板来创建方法 可以定义包含方法存根的新模板(窗口 > 首选项 > Java > 编辑器 > 模板)。模板与内容辅助(Alt+/)建议是一起显示的。
还有一些现有模板,例如,“private_method”、“public_method”和“protected_method”等等。
使用 Tab 键来在要输入的值(返回类型、名称和自变量)之间浏览。

具有新方法模板建议的内容辅助

使用“快速修正”来创建新方法 从方法调用开始,使用快速修正(Ctrl+1)来创建方法。

“创建方法”快速修正

使用“快速修正”来更改方法特征符 在调用处将自变量添加至方法调用。然后使用快速修正(Ctrl+1)来添加方法声明中的必需参数。

“更改特征符”快速修正

使用“内容辅助”来创建构造函数存根 在您要添加新构造函数的位置,在输入构造函数名称的第一个字母之后使用代码辅助。
借助代码辅助创建构造函数
根据参数创建新字段 您需要创建新字段来存储构造函数中传递的自变量吗?对参数使用快速辅助(Ctrl+1)来创建赋值和字段声明,并允许 Eclipse 根据“代码样式”首选项建议一个名称。
“将参数指定给新字段”快速辅助
使用“内容辅助”来覆盖方法 在类型主体中应添加方法的位置调用内容辅助(Alt+/)。内容辅助将提供可以覆盖的所有方法。将为所选方法创建方法主体。

“覆盖方法”内容辅助

使用“快速修正”来添加未实现的方法 要实现新接口,首先应将“实现”声明添加至类型。即使不保存或构建,Java 编辑器将对该类型加下划线以发出信号指示缺少了方法并且将显示“快速修正”灯泡。单击灯泡或者按 Ctrl+1(编辑 > 快速修正)以选择添加未实现的方法或者使类成为抽象的。

提出“添加未实现的方法”建议的快速修正

覆盖基类中某一方法 要创建覆盖基类中某一方法的方法:
选择应添加方法的类型并调用源 > 覆盖/实现方法。这将打开一个对话框,该对话框允许您选择要覆盖哪些方法。

“覆盖/实现方法”对话框

在文件中重命名要快速执行不需要对其它文件中的依赖性进行完全分析的重命名,使用“在文件中重命名”快速辅助。在“Java 编辑器”中,将光标定位在变量、方法或类型的标识中并按 Ctrl+1(编辑 > 快速修正)
编辑器就会切换到链接编辑方式(例如,模板)并在更改标识时同时更改对该变量、方法或类型的所有其它引用。

使用“局部重命名”快速修正来更改多个标识

使用“快速修正”来处理异常 很容易处理抛出的异常。在输入时将检测到未处理的异常,并且在编辑器中使用红线来标记这些异常。
  • 单击灯泡或者按 Ctrl+1 以使用 try catch 块来包围调用。如果想要在 try 块中包含更多语句,则选择这些语句并使用源 > 用 try/catch 块包围。还可以选择各个语句,其方法是使用编辑 > 扩大选择至并选择封装下一个上一个
  • 如果已使用 try 块包围调用,则“快速修正”将建议把 catch 块添加至现有块。
  • 如果不想处理异常,则让“快速修正”将新抛出的异常添加至外层方法声明

“未捕获的异常”快速修正建议

在任何时候都可以将 catch 块转换为抛出的异常。对 catch 块使用 Ctrl+1(编辑 > 快速修正)。

“用抛出替换 catch 子句”快速辅助

对赋值输入更少 不是输入赋值,而是从将赋值的表达式开始。

“将语句指定给局部变量”快速辅助

现在,使用 Ctrl+1(编辑 > 快速修正)并选择“将语句指定给新的局部变量”,“快速辅助”将为您猜测变量名。
快速辅助指定
无需对强制类型转换表达式做太多工作 不要对类型强制转换花费太多时间。首先忽略它们并在完成语句之后使用快速辅助添加它们。
有关在赋值时的示例:
在赋值时添加强制类型转换
或对于方法自变量:
为方法自变量添加强制类型转换
或对于方法调用目标
在方法调用目标中添加强制类型转换
进行了强制类型转换的表达式的赋值
3.1 中的新增内容
进行“instanceof”检查之后,非常常见的情况是对表达式进行强制类型转换并将其赋给新的局部变量。对“instanceof”关键字调用快速辅助(Ctrl+1)可以减少您的输入量:
“引入新的局部变量并对类型进行强制类型转换”快速修正
更多的快速辅助
3.1 中的新增内容
请参阅快速辅助页面以获取可用的代码变换功能的完整列表。其中包括:
  • 转换 if 语句
  • 将“switch”转换为“if-else”
  • 将“if-else”替换为条件语句
    ...等等
这里可以找到快速修正列表。
快速修正和快速辅助的快捷键
3.1 中的新增内容
您可以使用 Ctrl+2 RCtrl+2 L 来直接调用一些常用的快速辅助功能,如在文件中重命名赋予局部变量。检查键首选项页来获取支持直接调用的更多快速修正。

具有快速辅助快捷键的键首选项页

包围行 要使用 if/while/for 语句或块来包围语句,选择要包围的行并按 Ctrl+1(编辑 > 快速修正)。这将列示包含变量 ${line_selection} 的所有模板。

“用模板包围”快速辅助

可以在窗口 > 首选项 > Java > 编辑器 > 模板上配置模板。编辑相应的模板或者定义您自己的模板以定制结果代码。
创建您自己的模板

要创建自己的模板,转至窗口 > 首选项 > Java > 编辑器 > 模板首选项页面并按新建按钮来创建模板。例如,在数组中要反向迭代的模板将如下所示:

显示了向后迭代的模板
代码辅助可以自动插入自变量名

可以让代码辅助在方法补全时自动插入自变量名。可以在 窗口 > 首选项 > Java > 编辑器 > 代码辅助首选项页面上定制此行为(请参阅在补全时填充自变量名复选框)。例如,当在此处选择第二个条目时,

代码辅助窗口

代码辅助将自动插入自变量名:

已插入自变量名的代码辅助

然后可以使用 Tab 键来在插入的名称之间浏览。

代码辅助还可以猜测自变量名 - 根据它们已声明的类型。这可通过 窗口 > 首选项 > Java > 编辑器 > 代码辅助首选项页面上的猜测已填充的自变量名复选框来配置。

自动插入类型自变量
3.1 中的新增内容
当使用 J2SE 5.0 中的参数化类型时,在窗口 > 首选项 > Java > 编辑器 > 代码辅助页面上启用补全时填充自变量名是非常有用的。
参数化类型的代码辅助
产生以下结果:
已猜测并插入类型自变量的代码辅助
除去包围的语句 要除去包围的语句或块,将光标定位在左括号后面并按 Ctrl+1(编辑 > 快速修正)

“除去周围的语句”快速辅助

如何再次拼写该单词? 您可以在常规 > 编辑器 > 文本编辑器 > 拼写首选项页面上启用 Java 编辑器中的拼写检查支持。拼写错误显示在 Java 编辑器中且提供了相应的“快速修正”:

拼写纠错建议的示例。

您也可以将字典提供给内容辅助。然而,当前在 Eclipse 中未包括字典。必需的格式只是由换行符分隔的单词列表,并且“快速修正”允许您将新的单词添加至字典。添加字典将受到欢迎。

结构化选择 可以使用“结构化选择”功能部件以根据语法的方式快速选择 Java 代码。
突出显示文本并按 Alt+Shift+向上箭头或者从菜单栏中选择编辑 > 扩大选择至 > 外层元素 - 选择将扩大为包含选择的最小 Java 语法元素。然后可以通过再次调用该操作来进一步扩大选择。
查找匹配括号 要查找匹配括号,选择左括号或右括号并按 Ctrl+Shift+P(浏览 > 转至 > 匹配括号)。还可以在左括号前面或右括号后面进行双击 - 这将选择两个括号之间的文本。

使用“双击”来选择两个方括号之间的文本

智能 Javadoc 输入“/**”并按 Enter 键。这将自动添加包含标准 @param、@return 和 @exception 标记的 Javadoc 注释存根。

“智能 Javadoc”的结果

可以在窗口 > 首选项 > Java > 代码样式 > 代码模板中配置新注释的模板
使用本地历史来回复到方法的先前版本 每当编辑文件时,它的先前内容就会保存在本地历史中。Java 工具使本地历史可用于 Java 元素,因此,可以使单个方法而不是整个文件回复到先前版本。

选择一个元素并使用替换为 > 本地历史来回复到该元素的先前版本。

“从本地历史中替换”对话框

使用本地历史来恢复已除去的方法 每当编辑文件时,它的先前内容就会保存在本地历史中。Java 工具使本地历史可用于 Java 元素,因此,可以有选择地恢复已删除的方法。

选择容器并使用从本地历史中恢复来恢复已除去的任何成员。

“从本地历史中恢复”对话框

可定制的代码生成 窗口 > 首选项 > Java > 代码样式 > 代码模板首选项页面允许您使用与普通模板相似的方式来定制生成的代码和注释。每当生成代码时就要使用这些代码模板。
代码模板首选项页面

从 3.1 开始,如果项目是共享的,则可以将特定代码模板建立为项目,则它在小组中也将是共享的。打开项目的属性以启用特定于项目的设置。
在代码中创建注释 可以使用源代码 > 添加注释(Ctrl+Shift+J)来显式地添加注释,也可以使用各种向导、重构或快速修正来自动添加注释。
窗口 > 首选项 > Java > 代码样式 > 代码模板首选项页面上配置注释模板。
直接在向导(例如,在“新建 Java 类型”向导中使用生成注释复选框)中允许或禁止自动生成注释,或者通过窗口 > 首选项 > Java > 代码样式页面上的自动为新方法和新类型添加新注释复选框来允许或禁止自动生成注释。
也可以逐个项目地配置所有这些设置。打开项目的属性以启用特定于项目的设置。
对成员进行排序 可以根据在窗口 > 首选项 > Java > 外观 > 成员排序顺序首选项页面中定义的类别顺序来对 Java 编译单元进行成员排序
您将发现该操作在源 > 对成员进行排序下面
字符串回绕

当编辑“字符串”文字时可以使它们回绕。例如,如果您具有类似如下的代码:

String message= "This is a very long message.";

将插入标记定位在单词“very”后面并按 Enter 键。代码将自动更改为:

String message= "This is a very" + 
           " long message.";

可以在窗口 > 首选项 > Java > 编辑器 > 输入首选项页面中定制此行为。

智能输入和如何控制它 Java 编辑器的智能输入功能使您的日常工作更轻松。您可以在 Java > 编辑器 > 输入首选项页面上配置这些功能。

Java 编辑器输入首选项页面

启用在正确位置自动插入分号后,输入分号时,将在插入分号前自动地把光标定位到语句末尾。这样您就不必执行一些附加的光标导航操作。
您可以通过将向右退格键来撤销此自动定位。

用一次击键来修正代码缩进 一项有用的功能是源代码 > 更正缩进Ctrl+I。选择缩进不正确的代码并调用该操作。
源和重构操作的快速菜单

可以通过快速菜单来访问重构和源代码操作。在 Java 编辑器或 Java 视图中选择要处理的元素,并按 Alt+Shift+S 以获取快速源代码菜单或按 Alt+Shift+T 以获取快速重构菜单。

快速重构菜单
查找未使用的代码 Java 编译器检测不可达代码、未使用的变量、参数、导入和未使用的专用类型、方法和字段。此设置位于窗口 > 首选项 > Java > 编译器 > 错误/警告首选项页面上(或者使用项目 > 属性 > Java 编译器 > 错误/警告来对单独项目进行设置)。

编译器首选项页面

当您输入时也会检测到这些设置,并且提供了快速修正来除去不需要的代码。
Javadoc 注释处理 Eclipse Java 编译器可以处理 Javadoc 注释。搜索将报告文档注释中的引用,而重构则更新这些引用。可以从窗口 > 首选项 > Java > 编译器 > Javadoc 首选项页面控制此功能部件(或使用 项目 >属性 > Java 编译器 > Javadoc 为各个项目进行设置)。

Javadoc 首选项页面

当打开时,将在 Java 编辑器中标记格式不正确的 Javadoc 注释,并且可以使用编辑 > 快速修正(Ctrl+1)来修正它们:

在 Javadoc 中检测到的问题

消除警告
3.1 版新增功能
在 J2SE 5.0 中,可以使用“SuppressWarnings”注释来消除所有可选的编译器警告。
在此示例中,“addAll()”被标记为未使用的方法。使用了快速修正(Ctrl+1)来添加 SuppressWarnings 注释,因此不会对此方法显示警告。
进行快速修正以添加 SuppressWarning 注释

搜索

找到变量及其读/写访问权 可以通过选择标识(变量、方法或类型引用或声明)并调用搜索 > 在文件中的出现找到变量并且查看变量的读/写状态。这将标记在同一文件中对此标识的所有引用。结果还会与显示变量的读或写访问权的图标一起显示在搜索视图中。

对字段的读和写访问权

或者,使用标记出现功能来动态地突出显示出现。可以使用常规搜索功能(搜索 > 引用)在多个文件中进行搜索。

搜索具有特定返回类型的方法

要搜索具有特定返回类型的方法,使用“* <return type>”,如下所示:

  • 打开“搜索”对话框并单击 Java 搜索选项卡。
  • 搜索字符串中输入“*”和返回类型(用空格隔开)。
  • 选择区分大小写复选框。
  • 选择方法声明,然后单击搜索

搜索具有给定返回类型的方法

从 Java 搜索中除去 Javadoc 结果 缺省情况下,Java 搜索将查找 Java 代码和 Javadoc 内的引用。如果您不想查找 Javadoc 内的引用,则可以通过启用搜索视图的查看菜单中的“过滤 Javadoc”(三角形符号)来过滤掉这些匹配项。
用“调用层次结构”来跟踪方法调用链

您发现过自己反复地搜索对方法的引用吗?使用新的“调用层次结构”来遵循较长或较复杂的调用链,而不会丢失原始文本:只选择一个方法并调用浏览 > 打开调用层次结构(Ctrl+Alt+H)。

调用层次结构视图

代码导航和读取

在 Java 编辑器中对选择打开 可以使用两种方法来从元素在 Java 编辑器中的引用打开该元素。
  • 选择代码中的引用并按 F3(浏览 > 打开声明)
  • 按住 Ctrl 键并在引用上移动鼠标指针
超链接样式导航
可以在首选项 > 常规 > 编辑器 > 文本编辑器 > 支持超链接样式导航来配置超链接样式导航。
当前概要 在 Java 编辑器中按 Ctrl+F3 以在当前光标位置弹出元素的当前概要。或者按 Ctrl+O(浏览 > 快速概要)以弹出当前源文件的当前概要。

当前概要

当前概要显示继承的成员 再次按 Ctrl+OCtrl+F3 以将继承的成员添加至打开的当前概要。继承的成员具有灰色标签。使用右上角的菜单过滤和排序大纲。

快速大纲视图

当前层次结构 使用“快速层次结构”查明哪些是虚拟调用的可能接收者。将光标放置在方法调用内部并按 Ctrl+T(浏览 > 快速层次结构)。该视图显示实现该方法的所有类型以及一个完整图标。

快速层次结构视图

再次按 Ctrl+T 以切换至超类型层次结构。

高级突出显示 Java 编辑器可以根据源代码的语义(例如,静态字段、局部变量和静态方法调用)来突出显示源代码。查看窗口 > 首选项 > Java > 编辑器 > 语法着色首选项页面上的各种选项。

高级突出显示的示例。

最初折叠的区域 您可以指定缺省情况下哪些区域在编辑器打开时处于折叠状态。请查看窗口 > 首选项 > Java > 编辑器 > 折叠首选项页面以定制此选项。

拆叠首选项页面

标记出现 当在编辑器中工作时,打开工具栏中的标记出现“标记出现”工具栏按钮的图形)或按 Alt+Shift+O。您将看到文件中引用了变量、方法或类型的位置。
标记了“info”的出现的编辑器
选择一种返回类型会显示方法的出口点。选择一个异常来查看它是在何处抛出的。
标记了方法出口的编辑器
选择超类或接口以查看那些覆盖或实现了所选超类中的方法的方法。
窗口 > 首选项 > Java > 编辑器 > 标记出现上调整“标记出现”。
转至下一个/上一个方法 要快速浏览至下一个或上一个方法或字段,使用
Ctrl+Shift+向上箭头(浏览 > 转至 > 上一个成员)或 Ctrl+Shift+向下箭头(浏览 > 转至 > 下一个成员)
控制注释之间的导航 使用“下一个注释”/“上一个注释”工具栏按钮或浏览 > 下一个注释Ctrl+.)和浏览 > 上一个注释Ctrl+,)来在 Java 源文件中注释之间浏览。使用按钮下拉菜单,您可以配置要在哪些注释上停止:

下一个/上一个注释下拉菜单。

Java 代码中的提示 当使用“TODO”来标记 Java 源代码中的注释时,Java 编译器会自动创建相应的任务来作为提示。打开该任务就会使您浏览回到代码中的“TODO”。使用窗口 > 首选项 > Java 编译器 > 任务标记首选项页面来配置想要在任务列表中跟踪的任何其它特殊标记(例如,“FIXME”)。

编辑器和任务视图中的任务标记

“打开类型”对话框使用技巧
3.1 中的新增内容
  • 要快速查找类型,只需输入类型名的大写字母:IOOBE 将找到 IndexOutOfBoundsException
  • 要查看以给定后缀结尾的所有类型,例如所有 Test,使用“*Test<”以便不查看所有在类型名中任何其它位置包含“Test”的类型。
带有大小写交错匹配的“打开类型”对话框
使悬浮式帮助保持不变 可以在可滚动窗口中通过按 F2(编辑 > 显示工具提示描述)来打开悬浮式帮助中的文本。可以从此窗口中选择和复制内容。

包含悬浮式帮助内容的窗口

Java 编辑器中的悬浮式帮助 您可以通过使用组合键(Shift、Ctrl 和 Alt)来查看 Java 编辑器中的不同悬浮式帮助。
当将鼠标移动到 Java 编辑器中的标识上时,缺省情况下会显示具有从此元素的相应源中抽取的 Javadoc 的悬浮式帮助。按住 Ctrl 键将显示源代码。

显示悬浮中的元素代码的悬浮式帮助

可以在窗口 > 首选项 > Java > 编辑器 > 悬浮式帮助中更改此行为并为其它组合键定义悬浮式帮助。
通用方法推断特征符
3.1 中的新增内容
可以使用悬浮帮助来显示通用方法推断特征符。

显示了通用方法推断特征符的悬浮帮助

打开和配置外部 Javadoc 文档 如果想要使用 Shift+F2(浏览 > 打开外部 Javadoc)来打开类型、方法或字段的 Javadoc 文档,您首先必须指定元素父库(JAR 和类文件夹)或项目(源文件夹)的文档位置。
对于库,打开构建路径页面(项目 > 属性 > Java 构建路径),转至,展开可在其中编辑“Javadoc 位置”节点的库的节点。该文档可以在文件系统的本地文件夹或归档中,它也可以存在于 Web 服务器上。

在 Java 构建路径对话框中配置 Javadoc 位置

对于源文件夹中的类型、方法或字段,转至(项目 > 属性 > Javadoc 位置)。

Java 视图

对包含许多项目的工作空间进行组织
3.1 中的新增内容
使用“包资源管理器”的视图菜单中的显示 > 工作集来启用一种新方式,该方式将工作集显示为顶级元素。此方式可以使您更方便地管理包含许多项目的工作空间。

“工作集”方式下的包资源管理器

从“包资源管理器”视图菜单中使用选择工作集来配置显示的工作集。此对话框可以让您创建新的 Java 工作集,定义要显示的工作集以及显示的顺序。也可以使用拖放和复制/粘贴在“包资源管理器”中重新放置工作集。

声明视图 “声明”视图(窗口 > 显示视图 > 其它 > Java > 声明)显示在 Java 编辑器或 Java 视图中选择的元素的源。

声明视图

Javadoc 视图 存在一个 Javadoc 视图(窗口 > 显示视图 > 其它 > Java > Javadoc),它显示在 Java 编辑器或 Java 视图中选择的元素的 Javadoc。Javadoc 视图使用 SWT 浏览器窗口小部件来在支持窗口小部件的平台上显示 HTML。

Javadoc 视图

“类型层次结构”视图和方法实现/定义 要查明层次结构中的哪些类型覆盖了方法,使用“显示层次结构中的成员”功能。
  • 选择要查看的方法并按 F4(浏览 > 打开类型层次结构)。这将对方法的声明类型打开类型层次结构视图。
  • 对于在“层次结构”视图中选择的方法,按“锁定视图并显示层次结构中的成员”工具栏按钮。
  • 层次结构视图现在只显示实现或定义“已锁定”方法的类型。例如,可以看到“isEmpty()”是在“List”中定义的,并且是在“ArrayList”和“Vector”而不是“AbstractList”中实现的。

锁定视图并显示层次结构中的成员

类型层次结构视图支持按定义类型来进行分组 类型层次结构方法视图允许您按所选类型的方法的定义类型来对这些方法进行排序。例如,对于 AbstractList,可以看到它包含在“对象”、“集合”和“列表”中定义的方法:

按类型层次结构中的定义类型对成员进行排序

类型层次结构中的技巧
  • 通过对一个元素或选择的名称按 F4(浏览 > 打开类型层次结构)来使类型层次结构聚焦于新类型。
  • 不仅可以针对类型,也可以针对包、源文件夹、JAR 归档和 Java 项目来打开“层次结构”视图。
  • 可以将元素“拖放”到“层次结构”视图上,以让该视图聚焦于该元素上。
  • 可以从视图的工具栏菜单中更改“层次结构”视图的方向(从缺省方向“垂直”更改为“水平”)。
Java 源的结构比较 Java 源的结构比较忽略了 Java 元素(例如,方法和字段)的文本顺序,并更清楚地显示更改、添加或除去了哪些元素。
要启动 Java 文件的结构比较,有两个选项:
  • 选择两个 Java 编译单元并从视图的上下文菜单中选择比较对象 > 互相。如果文件有区别,则会在“比较编辑器”中打开它们。顶部窗格显示不同的 Java 元素;双击其中一个元素就会在底部窗格中显示该元素的源。
  • 在涉及到文件比较的任何上下文(例如,CVS 同步)中,双击 Java 文件不仅会显示文本比较查看器中的文件的内容,还会执行结构比较并打开一个用来显示结果的新窗格。

Java 源的结构比较

当执行结构比较时甚至可以忽略注释和格式更改:通过“比较编辑器”的工具栏按钮或者“CVS 同步”视图的下拉菜单来打开忽略空格选项。
属性文件的结构比较 Java 属性文件(扩展名:.properties)的结构比较会忽略属性的文本顺序,并显示更改、添加或除去了哪些属性。
要启动属性文件的结构比较,有两个选项:
  • 在“包资源管理器”或“导航器”中选择两个文件,并从视图的上下文菜单中选择比较对象 > 互相
  • 在涉及到文件比较的任何上下文(例如,CVS 同步)中,双击属性文件不仅会显示文本比较查看器中的文件的内容,还会执行结构比较并打开一个用来显示结果的新窗格。

属性文件的结构比较

包的分层布局和平面布局 “Java 包”视图(和“包资源管理器”视图)上的选项允许您更改显示包的方式。分层选项将以树的形式来显示包,并且子包位于包下面;平面选项将以标准排列来显示包,所有包和子包都作为同代存在于平面列表中。
平面包布局 分层包布局
逻辑包 “Java 包”视图(“Java 浏览”透视图)合并项目中多个源文件夹中同名的包。这将显示包含逻辑包的“包”视图。

包含逻辑包的 Java 浏览透视图

压缩包名 如果包名很长,则可以配置在查看器中出现的压缩名称。配置压缩模式是在 > 窗口 > 首选项 > Java > 外观中完成的

Java 外观首选项页面中的压缩模式配置

通过使用此示例,使用以下方式来呈示包:

压缩的包名

直接在包资源管理器中处理 Java 构建路径
3.1 中的新增内容
除了使用项目 > 属性 > Java 构建路径处理 Java 构建路径以外,还可以使用包资源管理器的上下文菜单中的操作。
例如,可以将新的源文件夹、归档和库添加到构建路径中或者在源文件夹中包括和排除文件和文件夹。
构建路径上下文菜单

其它

特定于项目的首选项
3.1 中的新增内容

现在,可以逐个项目地定义所有代码样式和编译器选项。
通过对项目使用项目 > 属性来打开项目属性页面,或者使用工作空间首选项中的链接(例如窗口 > 首选项 > Java > 代码样式)来打开项目属性页面并启用特定与项目的设置。
带有“启用特定于项目的设置”复选框的项目属性页面
特定于项目的设置存储在项目中的配置文件中(在“.settings”文件夹中)。当在小组中共享项目时,小组成员也将获得这些特定于项目的设置。
访问规则
3.1 中的新增内容
访问规则使您能够对引用的库中的类型强制实施 API 规则。在 Java 构建路径页面(项目 > 属性 > Java 构建路径)中,编辑引用的项目、归档、类文件夹和库的“访问规则”节点。
可以将这些引用中的包或类型分类为:
  • 可访问
  • 不鼓励
  • 禁止
根据窗口 > 首选项 > Java > 编译器 > 错误/警告上的设置,编译器将使用警告或错误来标记不鼓励的和禁止的引用。
“访问规则配置”对话框
JUnit 在视图中选择 JUnit 测试方法,并从上下文菜单中选择运行 > JUnit 测试,或从主菜单中选择运行 > 运行方式 > JUnit 测试。这将创建启动配置以运行所选择的测试。
隐藏 JUnit 视图,直到发生错误或故障为止 可以使 JUnit 视图仅在存在错误或故障时打开。这样,就可以将视图设置为快速视图,并且决不会在没有失败测试时查看它。当测试中没有问题时,在运行测试过程中您将看到图标 成功运行(小绿色方块的数目将增大,它指示进度),完成测试之后将看到图标 成功完成。但是,如果发生了错误或故障,则图标将更改为 发生了故障或错误(或者更改为 完成了测试,但是具有故障或错误,如果完成了测试的话),并且将出现 JUnit 视图。可以通过窗口 > 首选项 > Java > JUnit 首选项页面来配置此行为。
对话框字段中的内容辅助 内容辅助(Alt+/)现在也可用于各种 Java 对话框的输入字段。在字段具有焦点时查看它旁边的小灯泡图标。

“新建类”对话框

例如,在“新建 Java 类”、“新建 Java 类接口”和“新建 JUnit 测试”向导中以及在更改方法特征符和移动静态成员的重构对话框中实现了内容辅助。

“抽取局部变量”、“将局部变量转换为字段”和“引入参数”重构为新的元素名称提供内容辅助建议。

为字段、参数和局部变量定义前缀或后缀 除了为字段配置前缀或后缀之外,还可以为静态字段、参数和局部变量指定前缀或后缀。每当需要计算变量名时,就会在内容辅助、快速修正和重构中使用 窗口 > 首选项 > Java > 代码样式首选项页面上的这些设置。

“代码样式中的名称转换”首选项页面

“组织导入”对多个文件执行操作 可以对一组编译单元、包、源文件夹或 Java 项目调用“组织导入”。
格式化多个文件 选择要格式化的所有 Java 文件并选择“源 > 格式化”来将它们全部格式化。还可以对包、源文件夹或 Java 项目上执行格式化操作。
使用特定于项目的编译器设置 每个项目都可以使用全局编译器设置,您也可以定义特定于项目的设置。选择项目,并在项目属性中打开 Java 编译器页面(项目 > 属性 > Java 编译器)

特定于项目的 Java 编译器设置

将特定 JRE 用于项目 当创建新项目时,缺省情况下添加的 JRE 是在窗口 > 首选项 > Java > 安装的 JRE 的中选择的那个 JRE。要设置特定于项目的 JRE,打开该项目的“Java 构建路径”属性页面(项目 > 属性 > Java 构建路径),然后打开页面,选择“JRE 系统库”并按编辑。在“编辑库”对话框中,您可以选择缺省 JRE 或特定于项目的 JRE 来添加至新项目。

编辑 JRE 系统库

传播不推荐标记 Java 编译器可以配置为使用 窗口 > 首选项 > Java > 编译器 > 高级页面上的选项对不推荐进行诊断。

编译器首选项页面

使用此配置,结果为:

I.java

X.java

Y.java

如果您无法修正对不推荐使用的构造的使用,我们建议您将外层方法、字段或类型标记为不推荐使用。这样,您就确认您已覆盖不推荐使用的构造,并将不推荐标志传播至更多的从属项。

X.java

Y.java

从不正常的不一致性中恢复 在极少数的功能失常的情况下,JDT 可能表现某些不一致性,例如:
  • Java 搜索打开类型中缺少结果
  • 包资源管理器中存在无效项

要再次使它一致,需要完全按照以下顺序执行以下操作:
  1. 使用导航器关闭项目菜单操作关闭所有项目
  2. 退出 Eclipse 并重新启动它
  3. 使用导航器打开项目菜单操作打开所有项目
  4. 以手工方式触发整个工作空间的清洁构建(项目 > 清洁...

调试

从上下文菜单启动

可以从上下文菜单中运行和调试 Java 应用程序。可以通过从视图或编辑器中的上下文菜单中选择运行方式(或者调试方式 > Java 应用程序来启动源文件、包、方法和类型等等。另外,可以使用 Java 应用程序启动快捷键绑定(Alt-Shift-D 和 Alt-Shift-J)。顶级运行方式(或调试方式)操作对于当前选择或活动编辑器来说也是敏感的。

具有启动选项的上下文菜单

调试器中的求值

可以从调试器中的许多位置获得片段求值。从编辑器或变量视图的上下文菜单中选择显示检查将把结果显示在弹出窗口中,其结果可以发送至显示表达式视图

弹出窗口中的检查结果

非调试透视图中的视图管理

“调试”视图基于视图选择自动管理与调试相关的视图(例如,对于 Java 堆栈帧显示 Java 视图,而对于 C 堆栈帧则显示 C 视图)。缺省情况下,此自动视图管理仅发生在“调试”透视图中,但您可以通过从调试视图工具栏下拉菜单中获得的视图管理首选项页面对其它透视图启用此管理。

环境变量

您现在可以通过环境选项卡来指定用来启动 Java 应用程序的环境。

启动配置对话框中的环境选项卡

字符串替换

现在,Java 应用程序启动配置的许多参数都支持变量。大部分支持变量的字段在它们旁边都有变量... 按钮,如程序和 VM 自变量字段。主类型字段也支持变量;${java_type_name} 变量允许您创建将运行所选类型的配置。

“启动配置”对话框中的“自变量”选项卡

逻辑结构

变量视图工具栏上的逻辑结构开关提供公共类型的备用结构。JDT 为映射、集合和 SWT 组合体提供逻辑视图。可以从逻辑结构首选项页面中为其它类型定义逻辑结构。

在变量视图中显示为逻辑结构的向量

缺省 VM 自变量

如果您经常对某个 VM 指定相同的自变量,则您可以在已安装的 JRE首选项页面中配置缺省 VM 自变量。这比为每个启动配置指定它们更方便。

指定了缺省自变量的 JRE 首选项页面

在 Main 中停止

可以使用“Java 应用程序”启动配置中的在 main 中停止来使程序在以调试方式运行时使该程序在 main 方法的第一个可执行行上停止。

选择了“在 main 中停止”选项的 main 选项卡

条件断点 可以在断点属性... 中使用条件断点来控制断点何时真正停止执行。可以指定您是想要断点仅在条件为 true 时才暂挂执行还是想要断点在条件值发生更改时就暂挂执行。

“断点属性”对话框中的断点条件编辑器

禁用断点

如果您发现自己经常在同一位置添加和除去某个断点,则可以考虑在不需要该断点时禁用它,并且在再次需要该断点时又重新启用它。可以使用断点上下文菜单中的禁用断点或通过在断点视图中取消选择该断点来执行此操作。

您还可以通过使用断点视图工具栏中的跳过所有断点操作来临时禁用所有断点。这将告诉调试器跳过所有断点,而仍保持其当前启用状态。

在标尺上下文菜单中禁用断点操作

更改变量值

当在调试器中暂挂了线程时,可以在变量视图中更改 Java 基本类型和“字符串”的值。从变量的上下文菜单中选择更改变量值。您还可以通过将新值输入“详细信息”窗格并使用上下文菜单中的指定值操作(CTRL-S 键绑定)来更改值。

在“详细信息”窗格中更改变量值

悬浮式帮助中的变量值 暂挂线程并且将光标放置在 Java 编辑器中的某个变量上时,该变量的值会作为悬浮式帮助来显示。

编辑器中的变量值悬浮式帮助

返回至帧

当单步执行代码时,偶尔可能会单步跳得太远,或者单步跳过了您打算单步跳入的行。不必重新启动调试会话,您可以使用返回至帧操作来快速返回到方法的开头。选择与您想重新启动的 Java 方法相对应的堆栈帧,并从调试视图工具栏或该堆栈帧的上下文菜单中选择返回至帧。将把当前指令指针重新设置为方法中的第一个可执行语句。这也适用于非顶部堆栈帧。

注意,仅当使用 1.4 或更高版本 VM 或 J9 VM 进行调试时“返回至帧”才可用。存在一些 JVM 可能无法从堆栈弹出期望的帧的情况。例如,通常不可能返回至堆栈的底部帧或本机方法以下的任何帧。

热代码替换 当使用 1.4 或更高版本 VM 或 J9 VM 进行调试时,调试器支持“热代码替换”。这允许您对当前正在调试的代码进行更改。注意,不能热交换某些更改,例如,新方法或已删除的方法、类变量或内部类,这取决于特定 VM 提供的支持。
单步跳入选择

Java 调试器允许您单步跳入一系列链接的或嵌套的方法调用中的单个方法。只突出显示想要单步跳入的方法,并从 Java 编辑器上下文菜单中选择单步跳入选择

此功能在除当前执行的行以外的位置起作用。尝试调试到断点并单步跳入方法中在当前指令指针之下的一些行。

单步跳入选择的内容

控制
控制台
可以通过“控制台”视图工具栏中的 Pin 控制台操作来将显示在控制台中的输出锁定至特定进程。还有一个滚动锁定操作,该操作可以在追加新输出时使控制台停止自动滚动。

具有进程下拉菜单的控制台视图

创建查看项 查看项是表达式视图中的一个表达式,当您进行调试时其值会更新。可以从 Java 编辑器中通过选择表达式或变量并从它的上下文菜单或顶级运行菜单中选择查看来创建查看项。
观察点

观察点是每当访问或修改指定的变量时就会暂挂执行的断点。要设置观察点,在“大纲”视图中选择一个变量,并从它的上下文菜单中选择切换观察点。要配置观察点,在断点视图中选择观察点,并从它的上下文菜单中选择属性...。此类型的断点最重要的属性是访问修改复选框,它们控制断点何时可以暂挂执行。

断点属性对话框

线程和监视器

(可选)Java 调试器在调试视图中显示监视器信息。使用“调试”视图下拉菜单中的显示监视器操作来显示哪些线程占用了锁以及哪些线程正在等待获取锁。死锁所涉及的线程显示为红色。

显示了死锁循环的“调试”视图

单步执行过滤器 单步执行过滤器防止调试器在单步跳入代码时在指定的类和包中暂挂。单步执行过滤器是在窗口 > 首选项 > Java > 调试 > 单步执行过滤中建立的。当使用单步执行过滤器开关(在调试工具栏和菜单上)打开时,单步执行过滤器适用于所有单步执行操作。在“调试”视图中,通过从堆栈帧的上下文菜单中选择过滤器类型过滤器包可快速地将所选堆栈帧的包或声明类型添加到过滤器列表中。
使用代码片段编辑测试窗

如果想要使用 API 来作实验或者测试新的算法,使用 Java 代码片段编辑测试窗页面常常比创建新类更容易。代码片段编辑测试窗页面是可在没有上下文的情况下随时执行的随机代码段的容器。要创建代码片段编辑测试窗页面,使用 .jpage 扩展名创建新文件(或使用新建向导 - Java > Java 运行/调试 > 代码片段编辑测试窗页面)。输入任何想要执行的代码,然后选择它。可以采用三种方法来执行代码:

  • 执行所选代码,并将返回的结果放置在“表达式”视图中
  • 执行所选代码,并将“字符串”结果直接放置在代码片段编辑测试窗页面中

    显示结果的代码片段编辑测试窗页面

  • 执行所选代码(并忽略任何返回的结果)

这些操作都存在于工作台工具栏中,也存在于代码片段编辑测试窗页面的上下文菜单中。

编辑
启动
配置
按住 Ctrl 键并从运行调试下拉菜单中进行选择将打开相关联的启动配置以进行编辑。还可以从与“调试”视图中的任何项相关联的上下文菜单中打开启动配置。
首选的启动配置

启动配置按最近启动的顺序出现在“运行/调试”下拉菜单中。但是,可以通过使启动配置成为“首选”来强制该启动配置始终出现在下拉菜单的顶部。从适当的下拉菜单中使用组织收藏夹...操作来配置您的首选启动配置。

详细信息格式化程序

变量视图和表达式视图中,详细信息窗格显示当前选择的变量的扩展表示法。缺省情况下,此扩展表示法是对所选对象调用 toString() 的结果,但是可以通过从变量的上下文菜单中选择新建详细信息格式化程序来创建将使用的定制详细信息格式化程序。此详细信息格式化程序将用于具有相同类型的所有对象。可以在窗口 > 首选项 > Java > 调试 > 详细信息格式化程序首选项页面中查看和编辑所有详细信息格式化程序。

详细信息格式化程序对话框

运行具有编译错误的代码

可以运行和调试未干净编译的代码。运行具有编译错误和没有编译错误的代码之间的唯一区别是:如果执行了具有编译错误的一行代码,则将发生以下两种情况的其中一种:

  • 如果在窗口 > 首选项 > Java > 调试首选项页面上设置了“编译出错时暂挂执行”首选项,并且您正在进行调试,则会象遇到了断点一样暂挂调试会话。注意,如果 VM 支持“热代码替换”,则可以修正编译错误然后继续进行调试
  • 否则,执行会因“不可解决的编译”错误而终止

要强调这一点:只要执行路径避免带有编译错误的代码行,您就可以正常地运行和调试。

“变量”视图中的自动换行 调试器的变量表达式视图的详细信息区域支持自动换行,此功能在视图的下拉菜单中提供。

“变量”视图下拉菜单中的自动换行操作

调试器中的代码辅助

在 Java 编辑器中,除了编写代码之外,在许多上下文中都提供了代码辅助:

  • 输入断点条件
  • 变量表达式视图的详细信息窗格中
  • 输入详细信息格式化程序代码段时
  • 输入逻辑结构代码段时
  • 代码片断编辑测试窗页面中输入代码时
  • 显示视图中

显示视图代码辅助弹出窗口

命令行详细信息 通过从进程或调试目标的上下文菜单中选择属性,就可以始终看到用来以运行方式或调试方式启动程序的精确命令行,即使终止了启动也是这样。

命令行详细信息

堆栈跟踪
超链接

控制台中的 Java 堆栈跟踪出现时带有超链接。当将鼠标放置在堆栈跟踪中的某行上时,指针会更改为一只手的形状。按鼠标按键将打开相关联的 Java 源文件,并且将光标定位在相应的行上。在堆栈跟踪顶部处的异常名称上按鼠标按键将创建异常断点。

具有超链接的控制台视图中的堆栈跟踪