编辑 | 搜索 | 导航 | 视图 | 调试 | 其它 |
内容辅助 | 内容辅助为您提供了输入的部分字符串的建议的补全列表。在 Java 编辑器中,按 Alt+/ 或者调用编辑 > 内容辅助。
|
Javadoc 注释中的内容辅助 | 在 Javadoc 注释中也提供了内容辅助。
|
在代码辅助中消除类型 |
要使某些类型不出现在内容辅助中,使用在窗口 > Java > 外观 > 类型过滤器首选项页面上配置的类型过滤功能。与这些过滤器模式的其中一种模式匹配的类型将不出现在“打开类型”对话框中且不可用于代码辅助、快速修正和组织导入。这些过滤器模式不影响“包资源管理器”和“类型层次结构”视图。 ![]() |
用于变量、方法参数和字段名补全的内容辅助 |
可以使用内容辅助来加快创建字段、方法参数和局部变量的速度。在将光标定位在声明的类型名后面的情况下,调用编辑 > 内容辅助或者按 Alt+/。
如果将名称前缀或后缀用于字段、局部变量或方法参数,则务必在“代码样式”首选项页面(窗口 > 首选项 > Java > 代码样式)中指定名称前缀或后缀。 |
参数提示 | 当光标位于方法自变量中时,可以看到参数提示的列表。在“Java 编辑器”中按 Ctrl+Shift+空格键或者调用编辑 > 参数提示。
|
有关匿名类的内容辅助 | 当创建匿名类时,内容辅助也提供了帮助。在光标定位于类实例创建的左括号后面的情况下,调用编辑 > 内容辅助或者按 Alt+/。
|
在插入与替换代码辅助之间进行切换 | 当对现有标识调用代码辅助时,代码辅助可以使用选择的补全来替换该标识,也可以执行插入操作。缺省行为(覆盖或插入)在窗口 > 首选项 > Java > 编辑器 > 代码辅助中定义。 可以在处于内容辅助选择对话框中时通过在选择补全时按 Ctrl 键来临时切换该行为。 |
增量内容辅助 | 在缺省情况下,内容辅助现在将自动插入公共前缀,这与 Unix shell 扩展类似。要更改该行为,取消选取窗口 > 首选项 > Java > 编辑器 > 代码辅助首选项页面上的设置。 |
“创建 Getter 和 Setter”对话框 | 要为一个字段创建
getter 和 setter 方法,选择该字段的声明并调用源 > 生成 Getter 和 Setter。
|
使用内容辅助来创建 Getter 和 Setter | 创建 getter 和 setter 的另一种方法是使用内容辅助。将光标置于成员之间的类型主体中并按 Ctrl+空格 以获取创建 getter 或 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(编辑 > 快速修正) 编辑器就会切换到链接编辑方式(例如,模板)并在更改标识时同时更改对该变量、方法或类型的所有其它引用。
|
使用“快速修正”来处理异常 | 很容易处理抛出的异常。在输入时将检测到未处理的异常,并且在编辑器中使用红线来标记这些异常。
|
对赋值输入更少 | 不是输入赋值,而是从将赋值的表达式开始。
![]() |
无需对强制类型转换表达式做太多工作 | 不要对类型强制转换花费太多时间。首先忽略它们并在完成语句之后使用快速辅助添加它们。
有关在赋值时的示例: ![]() 或对于方法自变量: ![]() 或对于方法调用目标 ![]() |
进行了强制类型转换的表达式的赋值![]() |
进行“instanceof”检查之后,非常常见的情况是对表达式进行强制类型转换并将其赋给新的局部变量。对“instanceof”关键字调用快速辅助(Ctrl+1)可以减少您的输入量:![]() |
更多的快速辅助![]() |
请参阅快速辅助页面以获取可用的代码变换功能的完整列表。其中包括:
|
快速修正和快速辅助的快捷键![]() |
您可以使用 Ctrl+2 R 和 Ctrl+2 L 来直接调用一些常用的快速辅助功能,如在文件中重命名和赋予局部变量。检查键首选项页来获取支持直接调用的更多快速修正。 |
包围行 | 要使用 if/while/for 语句或块来包围语句,选择要包围的行并按 Ctrl+1(编辑 > 快速修正)。这将列示包含变量 ${line_selection} 的所有模板。
|
创建您自己的模板 |
要创建自己的模板,转至窗口 > 首选项 > Java > 编辑器 > 模板首选项页面并按新建按钮来创建模板。例如,在数组中要反向迭代的模板将如下所示: ![]() |
代码辅助可以自动插入自变量名 |
可以让代码辅助在方法补全时自动插入自变量名。可以在 窗口 > 首选项 > Java > 编辑器 > 代码辅助首选项页面上定制此行为(请参阅在补全时填充自变量名复选框)。例如,当在此处选择第二个条目时,
代码辅助将自动插入自变量名:
然后可以使用 Tab 键来在插入的名称之间浏览。 代码辅助还可以猜测自变量名 - 根据它们已声明的类型。这可通过 窗口 > 首选项 > Java > 编辑器 > 代码辅助首选项页面上的猜测已填充的自变量名复选框来配置。 |
自动插入类型自变量![]() |
当使用 J2SE 5.0 中的参数化类型时,在窗口 > 首选项 > Java > 编辑器 > 代码辅助页面上启用补全时填充自变量名是非常有用的。![]() 产生以下结果: ![]() |
除去包围的语句 | 要除去包围的语句或块,将光标定位在左括号后面并按 Ctrl+1(编辑 > 快速修正)。
|
如何再次拼写该单词? | 您可以在常规 > 编辑器 > 文本编辑器 > 拼写首选项页面上启用 Java 编辑器中的拼写检查支持。拼写错误显示在
Java 编辑器中且提供了相应的“快速修正”:
您也可以将字典提供给内容辅助。然而,当前在 Eclipse 中未包括字典。必需的格式只是由换行符分隔的单词列表,并且“快速修正”允许您将新的单词添加至字典。添加字典将受到欢迎。 |
结构化选择 | 可以使用“结构化选择”功能部件以根据语法的方式快速选择 Java 代码。 突出显示文本并按 Alt+Shift+向上箭头或者从菜单栏中选择编辑 > 扩大选择至 > 外层元素 - 选择将扩大为包含选择的最小 Java 语法元素。然后可以通过再次调用该操作来进一步扩大选择。 |
查找匹配括号 | 要查找匹配括号,选择左括号或右括号并按 Ctrl+Shift+P(浏览 > 转至 > 匹配括号)。还可以在左括号前面或右括号后面进行双击 - 这将选择两个括号之间的文本。
|
智能 Javadoc | 输入“/**”并按 Enter 键。这将自动添加包含标准 @param、@return 和 @exception 标记的 Javadoc 注释存根。
|
使用本地历史来回复到方法的先前版本 | 每当编辑文件时,它的先前内容就会保存在本地历史中。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 > 编辑器 > 输入首选项页面上配置这些功能。
启用在正确位置自动插入分号后,输入分号时,将在插入分号前自动地把光标定位到语句末尾。这样您就不必执行一些附加的光标导航操作。 |
用一次击键来修正代码缩进 | 一项有用的功能是源代码 > 更正缩进或 Ctrl+I。选择缩进不正确的代码并调用该操作。 |
源和重构操作的快速菜单 |
可以通过快速菜单来访问重构和源代码操作。在 Java 编辑器或 Java 视图中选择要处理的元素,并按 Alt+Shift+S 以获取快速源代码菜单或按 Alt+Shift+T 以获取快速重构菜单。 ![]() |
查找未使用的代码 | Java 编译器检测不可达代码、未使用的变量、参数、导入和未使用的专用类型、方法和字段。此设置位于窗口 > 首选项 > Java > 编译器 > 错误/警告首选项页面上(或者使用项目 > 属性 > Java 编译器 > 错误/警告来对单独项目进行设置)。
|
Javadoc 注释处理 | Eclipse Java 编译器可以处理 Javadoc 注释。搜索将报告文档注释中的引用,而重构则更新这些引用。可以从窗口 > 首选项 > Java > 编译器 > Javadoc 首选项页面控制此功能部件(或使用 项目 >属性 > Java 编译器 > Javadoc 为各个项目进行设置)。
|
消除警告![]() |
在 J2SE 5.0 中,可以使用“SuppressWarnings”注释来消除所有可选的编译器警告。 在此示例中,“addAll()”被标记为未使用的方法。使用了快速修正(Ctrl+1)来添加 SuppressWarnings 注释,因此不会对此方法显示警告。 ![]() |
找到变量及其读/写访问权 | 可以通过选择标识(变量、方法或类型引用或声明)并调用搜索 > 在文件中的出现找到变量并且查看变量的读/写状态。这将标记在同一文件中对此标识的所有引用。结果还会与显示变量的读或写访问权的图标一起显示在搜索视图中。
或者,使用标记出现功能来动态地突出显示出现。可以使用常规搜索功能(搜索 > 引用)在多个文件中进行搜索。 |
搜索具有特定返回类型的方法 |
要搜索具有特定返回类型的方法,使用“* <return type>”,如下所示:
|
从 Java 搜索中除去 Javadoc 结果 | 缺省情况下,Java 搜索将查找 Java 代码和 Javadoc 内的引用。如果您不想查找 Javadoc 内的引用,则可以通过启用搜索视图的查看菜单中的“过滤 Javadoc”(三角形符号)来过滤掉这些匹配项。 |
用“调用层次结构”来跟踪方法调用链 |
您发现过自己反复地搜索对方法的引用吗?使用新的“调用层次结构”来遵循较长或较复杂的调用链,而不会丢失原始文本:只选择一个方法并调用浏览 > 打开调用层次结构(Ctrl+Alt+H)。
|
对包含许多项目的工作空间进行组织![]() |
使用“包资源管理器”的视图菜单中的显示 > 工作集来启用一种新方式,该方式将工作集显示为顶级元素。此方式可以使您更方便地管理包含许多项目的工作空间。
从“包资源管理器”视图菜单中使用选择工作集来配置显示的工作集。此对话框可以让您创建新的 Java 工作集,定义要显示的工作集以及显示的顺序。也可以使用拖放和复制/粘贴在“包资源管理器”中重新放置工作集。 |
||
声明视图 | “声明”视图(窗口 > 显示视图 > 其它 > Java > 声明)显示在
Java 编辑器或 Java 视图中选择的元素的源。
|
||
Javadoc 视图 | 存在一个 Javadoc 视图(窗口 > 显示视图 > 其它 > Java > Javadoc),它显示在
Java 编辑器或 Java 视图中选择的元素的 Javadoc。Javadoc 视图使用 SWT 浏览器窗口小部件来在支持窗口小部件的平台上显示 HTML。
|
||
“类型层次结构”视图和方法实现/定义 | 要查明层次结构中的哪些类型覆盖了方法,使用“显示层次结构中的成员”功能。
|
||
类型层次结构视图支持按定义类型来进行分组 | 类型层次结构方法视图允许您按所选类型的方法的定义类型来对这些方法进行排序。例如,对于 AbstractList,可以看到它包含在“对象”、“集合”和“列表”中定义的方法:
|
||
类型层次结构中的技巧 |
|
||
Java 源的结构比较 | Java 源的结构比较忽略了
Java 元素(例如,方法和字段)的文本顺序,并更清楚地显示更改、添加或除去了哪些元素。 要启动 Java 文件的结构比较,有两个选项:
|
||
属性文件的结构比较 | Java 属性文件(扩展名:.properties)的结构比较会忽略属性的文本顺序,并显示更改、添加或除去了哪些属性。 要启动属性文件的结构比较,有两个选项:
|
||
包的分层布局和平面布局 | “Java 包”视图(和“包资源管理器”视图)上的选项允许您更改显示包的方式。分层选项将以树的形式来显示包,并且子包位于包下面;平面选项将以标准排列来显示包,所有包和子包都作为同代存在于平面列表中。
|
||
逻辑包 | “Java 包”视图(“Java 浏览”透视图)合并项目中多个源文件夹中同名的包。这将显示包含逻辑包的“包”视图。
|
||
压缩包名 | 如果包名很长,则可以配置在查看器中出现的压缩名称。配置压缩模式是在 > 窗口 > 首选项 > Java > 外观中完成的
|
||
直接在包资源管理器中处理 Java 构建路径![]() |
除了使用项目 > 属性 > Java 构建路径处理 Java 构建路径以外,还可以使用包资源管理器的上下文菜单中的操作。 例如,可以将新的源文件夹、归档和库添加到构建路径中或者在源文件夹中包括和排除文件和文件夹。 ![]() |
特定于项目的首选项![]() |
现在,可以逐个项目地定义所有代码样式和编译器选项。 通过对项目使用项目 > 属性来打开项目属性页面,或者使用工作空间首选项中的链接(例如窗口 > 首选项 > Java > 代码样式)来打开项目属性页面并启用特定与项目的设置。 ![]() 特定于项目的设置存储在项目中的配置文件中(在“.settings”文件夹中)。当在小组中共享项目时,小组成员也将获得这些特定于项目的设置。 |
访问规则![]() |
访问规则使您能够对引用的库中的类型强制实施 API 规则。在 Java 构建路径页面(项目 > 属性 > Java 构建路径)中,编辑引用的项目、归档、类文件夹和库的“访问规则”节点。 可以将这些引用中的包或类型分类为:
![]() |
JUnit | 在视图中选择 JUnit 测试方法,并从上下文菜单中选择运行 > JUnit 测试,或从主菜单中选择运行 > 运行方式 > JUnit 测试。这将创建启动配置以运行所选择的测试。 |
隐藏 JUnit 视图,直到发生错误或故障为止 | 可以使 JUnit 视图仅在存在错误或故障时打开。这样,就可以将视图设置为快速视图,并且决不会在没有失败测试时查看它。当测试中没有问题时,在运行测试过程中您将看到图标 ![]() ![]() ![]() ![]() |
对话框字段中的内容辅助 | 内容辅助(Alt+/)现在也可用于各种 Java 对话框的输入字段。在字段具有焦点时查看它旁边的小灯泡图标。
例如,在“新建 Java 类”、“新建 Java 类接口”和“新建 JUnit 测试”向导中以及在更改方法特征符和移动静态成员的重构对话框中实现了内容辅助。 “抽取局部变量”、“将局部变量转换为字段”和“引入参数”重构为新的元素名称提供内容辅助建议。 |
为字段、参数和局部变量定义前缀或后缀 | 除了为字段配置前缀或后缀之外,还可以为静态字段、参数和局部变量指定前缀或后缀。每当需要计算变量名时,就会在内容辅助、快速修正和重构中使用 窗口 > 首选项 > Java > 代码样式首选项页面上的这些设置。
|
“组织导入”对多个文件执行操作 | 可以对一组编译单元、包、源文件夹或 Java 项目调用“组织导入”。 |
格式化多个文件 | 选择要格式化的所有 Java 文件并选择“源 > 格式化”来将它们全部格式化。还可以对包、源文件夹或 Java 项目上执行格式化操作。 |
使用特定于项目的编译器设置 | 每个项目都可以使用全局编译器设置,您也可以定义特定于项目的设置。选择项目,并在项目属性中打开 Java 编译器页面(项目 > 属性 > Java 编译器)
|
将特定 JRE 用于项目 | 当创建新项目时,缺省情况下添加的
JRE 是在窗口 > 首选项 > Java > 安装的 JRE 的中选择的那个 JRE。要设置特定于项目的 JRE,打开该项目的“Java 构建路径”属性页面(项目 > 属性 > Java 构建路径),然后打开库页面,选择“JRE 系统库”并按编辑。在“编辑库”对话框中,您可以选择缺省 JRE 或特定于项目的 JRE 来添加至新项目。
|
传播不推荐标记 |
Java 编译器可以配置为使用 窗口 > 首选项 > Java > 编译器 > 高级页面上的选项对不推荐进行诊断。
|
从不正常的不一致性中恢复 |
在极少数的功能失常的情况下,JDT 可能表现某些不一致性,例如:
要再次使它一致,需要完全按照以下顺序执行以下操作:
|
从上下文菜单启动 |
可以从上下文菜单中运行和调试 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 自变量。这比为每个启动配置指定它们更方便。
|
在 Main 中停止 |
可以使用“Java 应用程序”启动配置中的在 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 编辑器中,除了编写代码之外,在许多上下文中都提供了代码辅助:
|
命令行详细信息 | 通过从进程或调试目标的上下文菜单中选择属性,就可以始终看到用来以运行方式或调试方式启动程序的精确命令行,即使终止了启动也是这样。 |
堆栈跟踪 超链接 |
控制台中的 Java 堆栈跟踪出现时带有超链接。当将鼠标放置在堆栈跟踪中的某行上时,指针会更改为一只手的形状。按鼠标按键将打开相关联的 Java 源文件,并且将光标定位在相应的行上。在堆栈跟踪顶部处的异常名称上按鼠标按键将创建异常断点。
|