编辑 Java 元素

在本节中,将编辑工作台中的 Java 元素。

使用轮廓视图

  1. 要在 Java 编辑器中打开文件 junit.samples.VectorTest.java,可双击“包资源管理器”视图中的该文件。

  2. 注意语法突出显示情况。以不同方式呈示的各 java 源部分的示例有:

    • 常规注释
    • Javadoc 注释
    • 关键字
    • 字符串。
    语法突出显示
  3. 查看“轮廓”视图。它显示 Java 文件(包括包声明、导入声明、字段、类型和方法)的轮廓。“轮廓”视图还指示 Java 元素是否是 static、abstract 和 final 等等。“轮廓”视图还显示是否从基本类覆盖方法(覆盖)或者显示它何时从接口实现方法(实现)。

    轮廓视图
  4. 在“轮廓”视图工具栏中切换隐藏字段隐藏 Static 成员隐藏非 Public 成员按钮来过滤视图显示。

    轮廓视图工具栏
  5. 在“轮廓”视图中切换排序按钮来以字母顺序对 Java 元素进行排序而不是以它们出现在 Java 文件中的次序排序。

  6. 可以通过查看整个 Java 文件来编辑源代码,或者可以将查看范围缩小为单个 Java 元素。单击工具栏中的仅显示所选元素的源代码按钮。

    接着,在“轮廓”视图中,选择任一元素,并且应注意到,只有选择的元素才会显示在 Java 编辑器中。

    “仅显示所选元素”工具栏按钮
  7. 再次按仅显示所选元素的源代码按钮以再次查看整个 Java 文件。

    在“轮廓”视图中,选择不同的元素,并且应注意到它们再次显示在编辑器中的整个文件视图中。现在,“轮廓”视图选择是以 Java 编辑器左边界上的垂直标尺上的范围指示符指示的。

    范围指示符

添加方法并使用代码辅助

  1. 确认关闭了“轮廓”视图的工具栏中的“按字母顺序排序”按钮。

  2. 通过在 Java 编辑器中的 VectorTest.java 文件的末尾(但在类型的右括号之前)输入下列内容来开始添加方法:

    public void testSizeIsThree() {

    一旦您在编辑器区域中输入了方法名,新方法就会出现在“轮廓”视图的底部。

    轮廓视图中的新方法
  3. 单击保存按钮。

    编译单元是自动编译的,而错误出现在“包资源管理器”视图中、出现在“任务”视图中以及出现在垂直标尺上。在“包资源管理器”视图中,错误会被一直传播至包含错误的编译单元的项目。

    包资源管理器中的错误传播
  4. 通过输入下列内容完成新方法:

        assertTrue(fFull.size() == 3);
    }
  5. 保存该文件。

    注意,错误指示符将会消失。

从本地历史删除和替换方法

在本节中,将使用本地历史功能部件来切换至个别 Java 元素的先前保存版本。

  1. 通过在“轮廓”视图中选择刚创建的方法并从上下文菜单中单击删除来删除该方法。

  2. 通过在 Java 编辑器中 VectorTest.java 文件的末尾输入下列内容来添加方法的新版本:

    public void testSizeIsThree() {
        fFull.add(0, new Integer(0));
        fFull.remove(new Integer(3));
        assertTrue(fFull.size() == 3);
    }

    保存该文件。

  3. 在“轮廓”视图中,选择方法 testSizeIsThree(),并从其上下文菜单中选择从本地历史替换

  4. 从本地历史替换 Java 元素对话框中,“本地历史”列表将显示该元素的各种保存状态。“Java 源代码比较”窗格显示所选历史资源与现有工作台资源之间差异的详细信息。

    从本地历史替换
  5. 在“本地历史”窗格中,选择您删除了的版本,然后单击“替换”按钮

    在 Java 编辑器中,方法被替换为所选历史版本。

  6. 保存该文件。

使用内容辅助

  1. 在 Java 编辑器中打开 junit.samples.VectorTest.java 文件。

  2. 通过在“轮廓”视图中选择 testSizeIsThree() 方法来转至该方法。

  3. 将下列行添加到该方法的末尾:

    Vector v = new Vector();
    for (int i=0; i<3; i++)
        v.addElement(new Object());
    assert
  4. 使光标处于词语 assert 的末尾,然后按 Ctrl + 空格键以激活内容辅助。

    具有建议列表的内容辅助窗口将出现。滚动该列表可以查看可用选项。

    内容辅助
  5. 在内容辅助窗口仍然处于活动状态的情况下,在 assert 后面输入字母“t”(中间不能有空格)。这样将会缩小列表范围,只显示以“assert”开始的条目。

    选择列表中的各项,并使光标悬浮其上以查看每一项的任何可用 Javadoc 帮助。

    过滤内容辅助
  6. 从列表中选择 assertTrue(boolean) 并按 Enter 键。

    这样就会插入 assertTrue(boolean) 方法的代码。

  7. 完成该行以便使其内容如下所示:

    assertTrue(v.size() == fFull.size());
  8. 保存该文件。

使用模板

  1. 在 Java 编辑器中打开 junit.samples.VectorTest.java 文件。

  2. 通过输入下列内容来开始添加新方法:

    public void testValues() {
        Integer[] expected= new Integer[3];
        for
  3. 在光标处于 for 的末尾的情况下,按 Ctrl + 空格键以启用内容辅助。

    for 的内容辅助
  4. 选择 for — 对数组进行迭代条目。

    将在编辑器中插入模板并突出显示 i。将自动猜测本地数组名。

    插入 for 模板
  5. Enter 键确认模板。

  6. 完成 for to 循环:

    public void testValues() {
        Integer[] expected= new Integer[3];
        for (int i= 0; i < expected.length; i++) {
            expected[i]= i + 1;
        }
        
        Integer[] actual= to
  7. 在光标处于 to 末尾的情况下,按 Ctrl + 空格键以启用内容辅助。选取 toarray — 将集合转换为数组

    插入 for 模板

    将在编辑器中插入模板,并且突出显示及选择 type

    插入 for 模板
  8. 通过输入 Integer 覆盖选择。数组构造函数的类型将同步更改。

  9. Tab 键来突出显示及选择 collection,并通过输入 fFull 来“覆盖”选择。

    插入 for 模板
  10. Enter 键确认模板。

  11. 添加下列代码行完成方法:

            assertEquals(expected.length, actual.length);
            for (int i= 0; i < actual.length; i++)
                assertEquals(expected[i], actual[i]);
        }
  12. 保存该文件。

组织导入

  1. 在 Java 编辑器中打开 junit.samples.VectorTest.java 文件。

  2. 通过在“轮廓”视图中选择导入声明并从上下文菜单中选择删除来删除这些声明。

    轮廓视图上下文菜单
  3. 从编辑器中的上下文菜单中选择组织导入

    必需的导入语句就被添加到包声明下面的代码的开头。

    组织导入

    另外,可以从“轮廓”视图中导入声明的上下文菜单直接调用组织导入

    注意:可以在首选项中指定导入声明的次序(窗口 > 首选项 > Java > 组织导入)。

  4. 保存该文件。

抽取方法

在本节中,将改进 junit.framework.TestSuite 构造函数的代码。为了使代码的意图更明确,将抽取这样的代码:它将基本类中的测试实例收集到称为 collectTestMethods 的新方法中。

  1. junit.framework.TestSuite.java 文件中,选择下列代码范围:

    Class superClass= theClass;
    Vector names= new Vector();
    while (Test.class.isAssignableFrom(superClass)) {
        Method[] methods= superClass.getDeclaredMethods();
        for (int i= 0; i < methods.length; i++) {
            addTestMethod(methods[i], names, constructor);
        }
        superClass= superClass.getSuperclass();
    }

    通过使用将选择扩充为功能部件来选择代码范围:

    1. 浏览至构造函数 TestSuite(Class)
    2. 将光标置于 while 紧前面。
    3. Alt + Shift + 向上箭头键。
    4. Alt + Shift + 向左箭头键两次。
  2. 从编辑器中的选择上下文菜单中,选择重构 > 抽取方法...

    上下文菜单抽取方法
  3. 方法名字段中,输入 collectInheritedTests,然后单击下一步

    抽取方法向导页面 1
  4. 重构预览页显示将要执行的更改。

    完成以抽取方法。

    抽取方法向导页面 2
  5. 通过在“轮廓”视图中选择抽取的方法来转至该方法。

    抽取的方法

使用打开声明并对类型层次结构打开

  1. 在 Java 编辑器中打开 junit.samples.money.MoneyTest.java 文件。

  2. 在 MoneyTest 类声明的第一行上,选择 TestCase 超类规范并

    • 从菜单栏中选择“浏览 > 打开声明”
    • F3 键。

    注意:此命令也适用于方法和字段。

    菜单打开声明

    TestCase 超类在编辑器区域中打开,同时也显示在“轮廓”视图中。

    打开的声明
  3. 单击 TestCase.java 编辑器选项卡以使它成为活动编辑器。确保仍选择类声明,并且:

    • 从菜单栏中选择“浏览 > 打开类型层次结构”
    • F4 键。
    菜单打开类型层次结构
  4. “层次结构”视图打开,并显示 TestCase 类。

    类型层次结构视图

    注意:还可以对“层次结构”视图中的类型和方法打开编辑器。

相关概念

Java 视图
Java 编辑器
重构支持
模板

相关任务

使用 Java 编辑器
显示和隐藏元素
显示单个元素或整个 Java 文件
对 Java 视图中的元素进行排序
使用本地历史
使用内容辅助
使用模板
管理导入语句
重构
重构并预览
使用“层次结构”视图
对 Java 元素打开类型层次结构
对当前文本选择打开类型层次结构
对选择的元素打开编辑器

相关参考

Java 轮廓视图
Java 内容辅助
模板首选项
组织导入首选项
Java 编辑器首选项
抽取方法错误
类型层次结构视图