要下载“使用 NetBeans IDE 5.5”的 PDF 版本,请单击此处。
创建和编辑 Java 源代码是 IDE 提供的一项最重要的功能,因为这是开发者通常需要花费时间最多的工作。NetBeans IDE 提供了各种工具,可以满足任何开发者的个人样式要求,而无论您希望手动编写所有代码还是希望 IDE 为您生成大量代码。
此部分包含以下主题:
创建 Java 文件
NetBeans IDE 包含一些模板和向导,您可以使用它们创建从 Java 源文件到 XML 文档再到资源包的各种源文件。
也许创建文件(在已经创建项目之后)的最简单方法是在“项目”窗口中右键单击要为其创建文件的项目的节点。右键单击项目节点之后,从“新建”弹出式菜单中选择所需的文件类型。“新建”子菜单包含常用模板的快捷方式以及“文件/文件夹”命令,您可以使用该命令打开“新建文件”向导并访问提供的所有 NetBeans 模板。
从“新建”菜单中选择模板
使用“新建文件”向导,可以使您基于 IDE 的缺省文件模板来创建新文件。文件模板按类型分组。除了使用缺省文件模板之外,还可以定制 IDE 用来创建文件的模板,以及创建自己的模板。如果某种文件类型需要具有标准元素,或者您希望更改生成其他元素的方式,则选择使用自己的模板会是很有用的。在创建自己的模板时,可以使它们在“新建文件”向导中可用。
使用文件模板
使用模板管理器可以修改模板和创建新模板,通过从主菜单中选择“工具”,然后选择“模板管理器”,可以打开模板管理器。通过复制现有模板,然后单击“编辑”,可以创建新模板。例如,如果要创建一个新的 Java 类模板,则可以复制现有的 Java 类模板,选择新类,然后单击“在编辑器中打开”。现在,您可以在源代码编辑器中修改类并保存它。这样,在“新建文件”向导中就可以使用新类。
如果具有要添加到 IDE 的现有模板,请单击“添加”,然后在系统上找到该文件。这样,在“新建文件”向导中就将该文件作为模板提供。
使用 GUI 模板
如果要使用 IDE 的 GUI 生成器以可视方式编辑 Java GUI 窗体,则必须使用 IDE 的 Java GUI 窗体模板创建窗体的源文件。此模板组包含 AWT 和 Swing 窗体的模板。例如,不能创建一个常规 Java 类文件,然后更改它以扩展 JPanel 并在 GUI 生成器中编辑它。
有关在 IDE 中创建 Java GUI 的详细信息,请参见以下内容:
在源代码编辑器中编辑 Java 文件
源代码编辑器是用于编辑源代码的主要工具。它提供了可以使代码编写更简便、更快捷的各种功能,如代码完成、编译错误突出显示、代码元素的语法突出显示以及其他高级格式设置和搜索功能。
虽然可以将源代码编辑器视为单个 IDE 组件,但它实际上是一个编辑器集合。每种类型的源文件都有其自身的、可以提供不同功能的编辑器。在此部分,我们将使用 Java 编辑器,但很多相同的概念也适用于其他编辑器。要在源代码编辑器中打开 Java 源文件,请在“项目”窗口或“文件”窗口中双击该文件的节点。
IDE 具有许多用于生成不同类型的代码片段的机制。下面列出的仅是其中一些最常用的机制。
-
代码完成(Ctrl-空格键)。在键入代码时,可以使用快捷键打开代码完成框。代码完成框包含上下文相关的选项列表,用于完成当前正在键入的语句。继续键入其他字符可减少代码完成框中显示的选项数。
-
代码模板。对于许多常用的代码片段,可以键入由多个键值构成的缩写,而不必键入整个片段。IDE 会在您按下空格键后将缩写展开为完整的代码片段。
-
编辑器提示 (Alt-Enter)。如果 IDE 检测到错误,如缺少代码,则 IDE 会建议用于修复错误的缺少代码,并在所需位置插入该代码。当插入点位于标记为包含错误的行中时,IDE 将在旁注处显示一个灯泡图标,用于表示对该行的建议修复内容。使用快捷键或者单击灯泡可以显示建议内容。选择所需的提示,然后按 Enter 键,可以在代码中生成修复。
以下主题介绍了如何充分利用这些功能。
代码完成
在源代码编辑器中键入 Java 标识符时,可以使用 IDE 的代码完成框帮助您完成表达式。在出现代码完成框时,还将出现一个带有 Javadoc 文档的框,该框用于显示代码完成框中当前选定项的任何文档。可以在“选项”窗口中禁用该 Javadoc 框。
代码完成示例
可以使用代码完成框生成各种代码,其中包括:
-
填写类和类成员的名称,以及任何必要的 import 语句。
-
浏览可用类的 Javadoc 文档。
-
从动态代码模板生成完整的代码片段。您可以定制代码模板和创建新的代码模板。有关详细信息,请参见下面的配置编辑器。
-
生成 getter 和 setter 方法。
要打开代码完成框,请键入表达式的前几个字符,然后按 Ctrl-空格键。或者,您也可以通过在表达式中键入句点 (.) 后暂停来打开代码完成框。打开的代码完成框包含到目前为止所键入内容的若干可能匹配选项。通过键入表达式中的其他字符,可以缩小代码完成框中的选择范围。
要使用代码完成框完成表达式,请继续键入,直到仅剩一个选项为止,然后按 Enter 键;或者滚动查看列表,选择所需的选项,然后按 Enter 键。要关闭代码完成框而不输入任何选择,请按 Esc 键。要关闭源代码编辑器中的代码完成,请参见配置编辑器。
IDE 使用编译类路径上的类为代码完成和其他功能提供建议的内容。目标 JDK 版本中的类、其他常用的特定于项目的 API(如 Servlet、JSP、JSTL 和 XML API)以及手动添加到类路径的源代码都可以在代码完成中使用。有关详细信息,请参见管理项目的类路径。
代码模板
可以使用代码模板加快常用保留字序列和常用代码模式(如 for 循环和字段声明)的输入速度。IDE 附带有一组模板,而且您也可以在“选项”窗口中创建自己的代码模板。有关如何在源代码编辑器中配置代码模板的实现方式的详细信息,请参见配置编辑器。有关用于创建自己的代码模板的语法的详细信息,请参见特殊代码模板语法。
代码模板可以由许多常用文本组成,或者可以具有较强的动态性,它可以生成框架,然后让您轻松地使用 Tab 键遍历它以填充可变文本。如果代码片段重复使用标识符(如实例声明中的对象名称),则只需键入一次标识符名称。
例如,如果输入 forc 并按空格键,则它将展开为
for (Iterator it = collection.iterator(); it.hasNext();) {
Object elem = (Object) it.next();
}
代码在源代码编辑器中展开后,只需按 Tab 键即可跳转到代码片段中的下一个变量。
如果缩写与您要键入的文本相同,并且您不希望将它展开为其他内容,则按 Shift-空格键可以避免将其展开。
通过在源代码编辑器中执行以下操作,可以访问代码模板:
-
键入代码的前几个字母,按 Ctrl-空格键,然后从代码完成框的列表中选择模板。Javadoc 框将显示模板的完整文本。
-
直接在源代码编辑器中键入代码模板的缩写,然后按空格键。通过在“选项”窗口中打开“编辑器”设置,然后选择“代码模板”标签,可以找到内置 Java 代码模板的缩写。
特殊代码模板语法
在创建代码模板时,可以使用几种结构来定制代码模板的工作方式。特殊代码模板语法表列出了其中最有用的结构。您可以在源代码编辑器中用于 Java 文件的缩写表中查看缩写 fori、forc 和 newo 的缺省 IDE 代码模板,以了解如何使用这些结构。
编辑器提示
当 IDE 检测到错误并为该错误指出了可能的修复时,将在该行的左旁注处出现一个灯泡图标。单击灯泡图标或按 Alt-Enter 组合键,以显示可能的修复列表。如果其中一个修复对您适用,则可以选择它,然后按 Enter 键以在代码中生成该修复。
通常,“错误”不是指编码错误,而是反映您未填写缺少的代码这一事实。在这种情况下,编辑器提示只会自动输入某些类型的代码。
重构
重构是指通过较小的变换来重新调整代码结构,其结果不会改变任何程序行为。就像设计表达式是为了更易于理解或修改它一样,重构代码是为了更易于阅读和理解它,并加快更新速度。重构后的程序必须在功能上与最初的源代码等效,就像重构的表达式必须与原始的表达式具有相同的结果一样。
重构代码的一些常见动机包括:
-
使代码更易于更改或更易于添加新功能
-
降低复杂性以便于理解
-
减少不必要的重复
-
允许使用代码来满足其他需要或更一般性的需要
大多数的重构命令可以从主菜单栏上的“重构”菜单进行访问。您还可以在源代码编辑器中或者“项目”窗口中的类节点上单击鼠标右键,然后从“重构”子菜单中选择命令。使用“撤消”命令可以回滚受重构影响的所有文件的任何更改。
为了便于代码重构,IDE 提供了以下功能:
|
命令
|
描述
|
|
查找使用实例
|
查找指定类、方法或字段的名称的所有实例。
|
|
重命名
|
您可以将类、变量或方法的所有实例重命名为更有意义的名称。此外,它还更新项目中的所有源代码以便按其新名称引用元素。
|
|
安全删除
|
在确保代码中没有对某个代码元素的引用后,删除该元素。
|
|
更改方法参数
|
您可以更改给定方法的参数和访问修饰符。
|
|
封装字段
|
为字段生成存取方法(getter 和 setter),并且可以选择更新所有引用代码,以便使用 getter 和 setter 方法访问该字段。
|
|
移动类
|
允许您将一个类移到另一个类或包中,以及将静态字段或静态方法从一个类移到另一个类中。此外,它还更新项目中所有受影响的源代码,以便引用新位置中的元素。
|
|
上移
|
将方法移动到类的超类。您还可以使用此命令在超类中声明方法并将该方法定义保存在当前类中。
|
|
下移
|
将方法移动到类的子类。您还可以使用此命令将方法声明保存在当前类中并将该方法定义移动到子类。
|
|
提取方法
|
基于选定类中的代码选择创建新方法,并将提取的语句替换为对该新方法的调用。
|
|
提取接口
|
基于选定类中的方法选择创建新接口,并将该新接口添加到类的实现子句。
|
|
提取超类
|
基于选定类中的方法选择创建新超类。您可以仅使用方法声明创建类,或者也可以将整个方法定义移动到新类中。
|
|
尽可能使用超类型
|
将代码更改为引用超类(或其他类型)的对象而不是子类的对象。
|
|
从内层移至外层
|
将类上移一级。如果该类是顶级内部类,则会将它变成外部类并移动到它自己的源文件中。如果该类嵌套在内部类、方法或变量的范围内,则会将它上移到与该范围相同的级别。
|
|
将匿名类转换为内部类
|
将匿名内部类转换为命名的内部类。
|
使用 import 语句
IDE 提供了以下几种方法,用于帮助您确保 Java 类具有所有必需的 import 语句:
-
对于整个文件,当插入点位于源代码编辑器中的文件中时,按 Alt-Shift-F(与“修复导入”命令等效)组合键。
-
对于单个 Java 类,当插入点位于代码中的引用类名中时,按 Alt-Shift-I(与“快速导入”命令等效)组合键。
-
如果使用代码完成填写类名称,则将自动添加任何必需的 import 语句。此外,还可以通过代码完成来使用定制的代码模板。您可以修改定制代码模板中的变量,以便在使用该模板时添加所需的 import 语句。
-
如果在 IDE 中以编辑器提示的方式给出建议,则可以单击旁注处的灯泡图标以添加建议的 import 语句。
使用 IDE 的“修复导入”命令可以添加代码所需的 import 语句,并删除未使用的 import 语句。但是,该命令不会从代码中删除全限定类名并将其替换为 import 语句。另一方面,“快速导入”命令允许您选择在代码中处理导入的方式。
IDE 的“快速导入”命令允许您执行以下操作:
-
为类生成 import 语句。
-
为包生成 import 语句。
-
在代码中生成全限定名称。
设置 Java 源代码格式
IDE 在您编写代码时自动设置其格式。您还可以重新设置特定代码行或者甚至整个文件的格式。下表列出了一些常用的格式设置命令。
|
快捷键
|
命令描述
|
|
Ctrl-Shift-F
|
重新设置整个文件或在源代码编辑器中选定的任何文本的格式。
|
|
Ctrl-T
|
将当前行或选定内容向右移动一个制表位。
|
|
Ctrl-D
|
将当前行或选定内容向左移动一个制表位。
|
|
Ctrl-E
|
删除当前行。
|
|
Ctrl-Shift-T
|
使用行注释 ("//") 注释掉当前行或所有选定的行。
|
|
Ctrl-Shift-D
|
删除注释。此命令仅对以行注释 ("//") 开头的行起作用。
|
在源代码编辑器中导航
在处理大型文件组时,能否在源文件内部以及源文件之间快速导航对于提高生产率至关重要。在源代码编辑器中处理文档时,“导航”菜单包含可以使您根据当前选定的元素快速跳转到文档内的元素以及在文档之间跳转的命令。
在 Java 文件中导航
IDE 提供了以下几种机制,以便轻松地查看和导航给定的 Java 文件:
-
“导航”窗口。“导航”窗口显示在“项目”窗口下方,它提供了当前选定 Java 文件中成员(例如,构造函数、字段和方法)的列表。在单击某个元素时,插入点将置于源代码编辑器中包含该元素的行上。
-
书签。您可以在源文件中创建书签,以帮助您轻松地跳转回文件中的特定位置。通过在文件旁注中右键单击行,或者通过在“导航”菜单中选择“切换书签”(Ctrl-F2),可以打开和关闭书签。通过使用 Alt-K 和 Alt-L 快捷键,或者通过在“导航”菜单中选择“后移”或“前移”,可以在插入点曾位于的位置之间移动。
-
“导航”菜单。使用“导航”菜单可以访问用于在代码中的元素之间快速导航的命令。
下表列出了“导航”菜单中的一些命令的快捷键。
|
快捷键
|
命令描述
|
|
Alt-Shift-O
|
转至类。打开“快速打开”对话框,使用该对话框可以快速打开文件。在该对话框中开始键入类名。在键入时,将显示所有与键入的前缀匹配的文件。
|
|
Alt-O
|
转至源。跳转到当前选定的类、方法或字段的源代码(如果源代码可用)。或者,可以按住 Ctrl 键将鼠标悬停在标识符上,然后在标识符带有蓝色下划线时单击它。
|
|
Alt-G
|
转至声明。与上一个快捷键类似,这将打开在其中声明了插入点处变量的文件。
|
|
Ctrl-B
|
转至超级实现。跳转到当前选定方法的超级实现(如果选定方法覆盖其他类中的方法,或者选定方法是在接口中定义的方法的实现)。
|
|
Alt-L
|
前移。转至当前选定文件的跳转列表中的下一个位置。跳转列表是在编辑器中进行修改的所有位置的历史记录。
|
|
Alt-K
|
后移。转至当前选定文件的跳转列表中的上一个位置。
|
|
Ctrl-G
|
转至行。输入当前文件的任何行号,然后按 Enter 键可跳到该行。
|
|
Ctrl-F2
|
切换书签。将书签(书签图标)添加到插入点当前所在的代码行。如果该行已包含书签,则此命令将删除书签。
|
|
F2
|
下一个书签。转至下一个书签。
|
|
Shift-F2
|
上一个书签。转至上一个书签。
|
|
Alt-Shift-L
|
在所有文件(而不是当前选定文件)中转至下一个跳转列表位置。
|
|
Alt-Shift-K
|
在所有文件(而不是当前选定文件)中转至上一个跳转列表位置。
|
搜索和选择工具
下表概述了源代码编辑器中提供的搜索和选择工具:
|
快捷键
|
命令描述
|
|
Ctrl-Shift-O
|
切换到“搜索结果”窗口。
|
|
Ctrl-Shift-P
|
在项目中查找。
|
|
Ctrl-F
|
在当前选定的文件中搜索文本。源代码编辑器将跳转到字符串出现的第一个位置并突出显示所有匹配的字符串。
|
|
Ctrl-H
|
在当前选定的文件中替换文本。
|
|
F3
|
查找搜索词的下一个出现位置。
|
|
Shift-F3
|
查找搜索词的上一个出现位置。
|
|
Ctrl-F3
|
搜索插入点所在的词的下一个出现位置。
|
|
Alt-Shift-H
|
打开/关闭搜索结果突出显示。
|
在文档之间导航
使用源代码编辑器可以轻松地同时管理大量打开的文档。每个打开的文档由其自身的标签(位于 IDE 工具栏正下方的区域中)表示。各个标签按文档打开的顺序显示,但是您可以使用以下方法更改标签的位置:只需抓取标签,然后沿着标签行将其拖到所需位置即可。使用右上角的向左和向右按钮,可以在标签行中滚动。
要在打开的文件之间切换,请执行以下任一操作:
-
使用源代码编辑器右上角的下拉列表。该下拉列表按字母顺序显示了所有打开的文件。
-
按 Alt-向左方向键和 Alt-向右方向键,可以左移或右移一个编辑器标签。
-
按 Ctrl-Tab 组合键可以打开 IDE 窗口管理器,该管理器包含源代码编辑器中每个打开文档以及所有打开窗口(如“项目”窗口)的图标。
其他可以帮助您导航文档的有用 IDE 功能包括:
-
转至类。选择“导航”菜单中的“转至类”将打开一个对话框,通过该对话框可以按名称快速地找到类。当选择某个类时,将在源代码编辑器中打开相应的源文件。
-
将源代码编辑器最大化。双击任何文档标签或按 Shift-Esc 组合键,可以隐藏所有其他 IDE 窗口。如果已拆分源代码编辑器,则仅显示最大化的分区。
-
复制文档。右键单击源代码编辑器中的文档标签并选择“复制文档”。这样,您就可以具有显示同一文档的两个分区了。
-
拆分源代码编辑器。抓取任何文档标签,然后将其向左拖动或拖到源代码编辑器的底部边距。将显示一个红色框,该框用于指示拖放文档后新的源代码编辑器分区所在的位置。源代码编辑器窗格可以被拆分任意多次。
-
在源代码编辑器各分区之间移动文档。抓取文档标签并将其拖到目标部分中的标签行。
配置编辑器
通过在“选项”窗口的左窗格中选择“编辑器”或“字体和颜色”,可以配置源代码编辑器设置。请使用标签选择要修改的编辑器设置。一些编辑器设置可以根据文件类型进行修改。在本部分,我们将重点介绍如何配置 Java 编辑器,但其中的许多设置对于所有编辑器都是相同的。
下面简要概述了对源代码编辑器进行的一些较常用定制:
-
查看或更改代码模板。要查看或更改代码模板,请在“选项”窗口的左窗格中选择“编辑器”,然后单击“代码模板”标签。通过从下拉菜单中选择一种语言来选择编辑器。例如,要更改在 Java 编辑器中使用的代码模板,请从下拉菜单中选择 "Java"。现在,您可以添加、删除或修改在编辑 Java 文件时可以使用的缩写。要修改某个代码模板缩写,请选择该缩写,然后编辑“展开的文本”字段中的文本。
-
查看或更改录制的宏。单击“宏”标签可以添加、修改和删除宏。请在“宏代码”区域中输入宏的代码。
-
更改代码中使用的缩排。单击“缩排”标签可以修改缩排属性。
-
关闭代码完成。要关闭代码完成,请在“选项”窗口的左窗格中选择“编辑器”,然后单击“常规”标签并取消选中“自动弹出式完成窗口”属性的复选框。
-
修改字体和颜色。可以使用“选项”窗口设置代码的字体大小和颜色。在“选项”窗口的左窗格中选择“字体和颜色”,然后单击“语法”标签。从“语言”下拉菜单中选择“所有语言”,选择“缺省”作为元素类型,然后修改“字体”属性,这样可以更改源代码编辑器中所有文本的字体大小。您还可以从下拉菜单中选择特定语言,以便仅限于修改该语言,以及修改特定于该语言的设置。例如,您可以从“语言”下拉列表中选择 "Java",然后选择类别以更改每种类型的 Java 代码(如方法名称或字符串)的字体和颜色。