“精通 Eclipse” 这一系列文章将向 Eclipse 新手讲授 Eclipse IDE 的详细内容。在学完本系列后,您将成长为一名高级用户。在本文中,研究 Eclipse 的 Java™ 编辑器并了解该编辑器的一些高级功能。
“精通 Eclipse” 系列的这一部分将详细介绍 Eclipse 的 Java 编辑器。开发人员将在这个编辑器上花费大量的时间,因此了解其高级功能可以显著提高您的生产率。
Organize Imports 命令
Organize Imports 命令将添加缺失的导入并将现有的导入声明组织到 Java 文件中。您可以通过使用 Ctrl+Shift+O 组合键在当前编辑器中运行这条命令。要将 Organize Imports 命令应用到整个项目中,请右键单击项目浏览器中的项目并选择 Source > Organize Imports。
假定您在 Java 文件中的某个位置使用了一个类,但是您忘记导入该类:Organize Imports 可以为您自动导入该类。如果该命令不确定类的位置,将打开一个窗口并显示一列可以进行选择的选项。例如,如果在代码中使用 List 类,当运行 Organize Imports 命令时,则可能弹出一个窗口,要求您在 java.util.List 与 javax.swing.List 之间选择,因为命令自己无法选择。
Organize Imports 还将常用的 .* 样式的导入声明分为独立的导入语句。例如,假定您的文件中有一个诸如 import java.util.* 之类的导入语句,并且仅使用来自该包的 List 类。Organize Imports 命令将把初始的 import 语句替换为 import java.util.List。
选取字符串的一部分
通常,您需要在两个字符串之间连接一个变量。绝大多数情况下,这些字符串属于一条单一语句,并且很容易犯下在字符串两侧遗漏空格的错误。例如,您可能会得到 You have5seconds left 之类的输出,而非 You have 5 seconds left。Eclipse 将防止您掉入这个陷阱:
- 在代码内像往常一样键入字符串:
static String getMsg(int time) { return "You have 5 seconds left"; }
- 选择需要用变量替换的字符串部分 — 在本例中为数字 5。
- 按 Ctrl+1 组合键并选择 Pick out selected part of String。
图 1. 选择 Pick out selected part of String
结果显示在图 2 中。
图 2. 选取选中的字符串部分
- 用变量替换中间的字符串。
图 3. 用变量替换字符串
现在可以确保您不会犯空格错误。
自动创建局部变量
您经常需要调用方法并将其值赋给新局部变量。使用 Eclipse 可以让您轻松地执行此操作,并且您绝不希望再使用旧方法执行这样的操作:
- 键入方法调用:
public void foo() { getMsg(3); }
- 不需要移动插入标记,按 Ctrl+1 组合键并选择 Assign statement to a new local variable(参见图 4)。如果需要使用字段而非局部变量,可以选择 Assign statement to a new field。
图 4. 选择 Assign statement to a new local variable
系统将为您创建与该方法的返回值类型相同的新局部变量。系统将给它提供相应的名称,但是您可以根据需要更改名称(参见图 5)。按 Enter 键接受该名称。
图 5. 您可以更改变量的名称
快速概要
概览视图十分有用,因为它可以让您轻松地跳到 Java 文件中的方法。但是此视图将占用大量宝贵的屏幕区域。
快速概要视图将提供概览视图的所有功能,而无需占据屏幕区域。要从编辑器内激活快速概要视图,请按 Ctrl+O 组合键。系统将显示一个弹出式窗口,其中显示文件的概要。
图 6. 按 Ctrl+O 组合键打开快速概要视图
您可以使用箭头键浏览所有方法。要更加快速地跳到某种方法,可以键入其名称。列表将开始过滤,只为您显示以所键入字符为开头的方法。
图 7. 开始输入并且概要视图开始过滤
快速打开类型(Quick Open Type)
Open Type 窗口对于 Package Explorer 的作用与快速概要对于 Outline 视图的作用相同。
在编辑器中按 Ctrl+Shift+T 组合键。将弹出一个窗口,您可以在其中键入工作空间中的所有类的名称(参见图 8)。单击 OK,并且将在编辑器中立即打开该类。无需在 Package Explorer 中浏览树即可打开所需类。
图 8. 使用 Open Type 窗口可以立即跳到工作空间中的任意类
在键入类名以过滤文本框下方的列表时,可以使用通配符。例如,键入 *Exception 以显示所有 Exception 类。
面包屑栏(Breadcrumb bar)
面包屑栏是在 Eclipse V3.4 中引入的。它位于编辑器窗口的顶部,刚好位于选项卡下方,并且提供了 Package Explorer 和 Outline 视图的功能(参见图 9)。如果它尚未启用,则可以按 Alt+Shift+B 组合键启用。
图 9. 面包屑栏
面包屑栏将指出当前编辑器与当前工作空间之间的相对路径。单击一个黑色箭头将为您显示元素的内容,从而允许您通过面包屑栏浏览整个工作空间。
图 10. 面包屑栏允许您通过该栏浏览工作空间
快速 Javadoc
您是否希望了解某种方法的用途?Eclipse 可以轻松地向您展示所有方法的 Javadoc。只需将光标停到该方法上,即可打开 Javadoc 窗口。
图 11. 将光标停到任意 Java 元素上将显示相关 Javadoc —— 在本例中为 indexOf 方法
但是此功能还不止于此。把光标移到弹出窗口中,该窗口将变为可滚动窗口(参见图 12)。位于底部的按钮允许您在外部窗口中打开 Javadoc 并转到正在查看其 Javadoc 的元素声明。
图 12. 把光标移到弹出窗口中可使其变为可滚动窗口
自动格式化
您可以使用 Eclipse 的自动格式化功能自动设定文档的格式。右键单击 Package Explorer 中的文档并选择 Source > Format。您甚至可以通过在 Package Explorer 中右键单击项目(而非单个文件)来设置整个项目的格式。
要配置 Eclipse 格式化代码的方式,需执行以下操作:
- 选择 Window > Preferences,然后浏览到 Java > Code Style > Formatter。
图 13. 编辑 Eclipse 格式化文档的方法
- 单击 New 并在打开的窗口中输入名称以创建新的格式化配置文件。
- 在创建配置文件后,单击 Edit 开始编辑该配置文件的格式化首选项。
- 打开的 Profile 窗口包含配置源代码格式的详细设置(参见图 14)。您可以配置所有格式,包括源代码中的各个元素所需的缩进,以及导入组之间显示的空行数目。
图 14. Eclipse 允许详细配置格式设置
- 单击 OK 以关闭 Profile 窗口。再次单击 OK 关闭 Preferences ??口。
注意,新格式设置将在下一次 设置源代码格式时应用。
保存操作
保存文档时将触发保存操作。在保存文档时,保存操作将允许自动执行格式化代码及组织导入之类的操作。要配置保存操作,需执行以下操作:
- 选择 Window > Preferences > Java > Editor > Save Actions 以打开 Preferences 窗口。
图 15. 在 Preferences 窗口中配置 Save Actions
- 选中 Perform the selected actions on save 复选框。
- 选择在保存时需要执行的所有操作。单击 Configure 以查看更多操作。
图 16. 单击 Configure 显示更多操作
例如,您可以选中 Code Style 选项卡中的 Convert for loops to enhanced 复选框以在每次保存文档时将所有 for 循环转换为 Java 5 样式的增强循环。
Save Actions 可以为您节省大量时间。例如,您可以采用任意方法输入代码,而无需担心格式问题,并且在每次保存文档时,系统仍将自动地设定代码的格式。
代码折叠
按照字面的意思,代码折叠将允许您折叠代码片段,这样编辑器不会变得过于混乱。要折叠一个方法,请单击左侧标尺中的 - 图标。
图 17. 单击 - 符号将折叠代码
在折叠代码后,- 图标将变为 +,您可以再次单击 + 以展开方法。如果在方法处于折叠状态时把光标停在 + 号上,弹出窗口将显示方法中的文本。
图 18. 把光标停在 + 图标上将显示折叠后的代码的预览
生成 hashCode() 和 equals()
Eclipse 允许您自动生成类的 hashCode() 和 equals() 方法,因此您无需亲自执行此操作。这样,您可以在编写这些方法时避免犯错误。要生成方法,需执行以下操作:
- 选择 Source > Generate hashCode() and equals()。
- 打开的窗口将询问您在类中调用 hashCode() 和 equals() 方法时需要包括哪些字段。
图 19. 选择在其上生成 hashCode() 和 equals() 方法的字段
- 选择所需字段并单击 OK。系统将为您生成 equals() 和 hashcode() 方法。
概览标尺
概览标尺被嵌到编辑器窗口的右侧。它将允许您在编辑器中即时查看需要注意的所有错误、警告或其他标记。如果编辑器中有任何错误,则该栏的右上角将显示一个红方块。
图 20. 概览标尺中的红方块表示编辑器中有一个或多个错误
另一方面,黄方块表示编辑器中存在警告。
图 21. 概览标尺表示编辑器中存在警告
使用概览标尺,您可以立即跳到编辑器中的任意一个错误/警告。只要编辑器中出现错误/警告,标尺将显示小的黄色/红色标记(参见图 22)。如果单击此标记,编辑器将立即跳到代码中的相应位置。
图 22. 显示两个警告和一个 TODO 注释的概览标尺
概览标尺还可以表示编辑器中其他需要注意的位置。例如,如果有 TODO 注释,或者如果执行搜索,概览标尺中将标记出相关行;单击标记将把您带到相应行中。
如名称所示,概览标尺将使您可以浏览编辑器中需要注意的行。在编写 Java 代码时,您会发现它是一个非常宝贵的工具。
结束语
本文已经介绍了 Eclipse 中有关 Java 编辑器的一些高级功能。您已经看到如何自动生成代码的常用部分。您还了解了如何关闭 Eclipse 视图但仍然使用其功能,这都要感谢 Eclipse 编辑器提供的各种快捷键。本文还讨论了 Java 编辑器中可以显著提高生产率的其他功能。(责任编辑:A6)