8

我正在使用 TDD,并且有一个非常典型的编码模式,在我编写单元测试代码时使用 Eclipse 自动创建方法和字段。例如:

  1. 不存在的方法的类型名称,例如:

    myObj.setValue(someValue);

  2. 单击 IDE 中的红色小错误标记以创建“setValue”方法。

  3. 在 setValue 方法中输入:

    public void setValue(String value) { this.value = value; }

  4. 单击红色错误标记自动创建一个私有字段(称为“本例中的值”);

所以在这一点上,我希望 Eclipse 自动创建 getter 方法,而不必使用源代码 -> 生成 getter 和 setter菜单。

我看到了这个问题:How do you force Eclipse to prompt you to create a getter and setter when it does not do it automatically这似乎暗示Eclipse会这样做,但我找不到在哪里配置它。

有没有办法配置 Eclipse 在添加新的私有变量时自动添加 setter/getter?

更新:为了进一步澄清,我正在寻找我在Spring Roo文档中看到的内容。如果您查看“工作原理”部分,它描述了框架如何在您添加私有变量时自动向您的类添加其他方法。(但是,我的偏好是不运行另一个类似的进程,也不要得到它似乎添加的所有内容)。我希望 Eclipse 有类似的东西。

4

5 回答 5

16

当您将鼠标移到变量名称上方时,您可以在弹出菜单中选择“为 varname 创建 getter 和 setter”。

或者您可以为自己创建一个快捷方式来执行此操作。首选项 -> 常规 -> 键。在搜索框中输入“getter”,然后您就会找到它。

于 2012-06-04T16:44:58.843 回答
10

试试这个,它像黄油一样起作用

Go to Source --> Generate Getter and Setter Methods

Either select one instance variable, or all ---> Ok
于 2012-06-04T17:02:45.220 回答
5

我的做法有些不同。

  • 首先创建变量:(比如说private int threadsInPool = 3)。
  • 将光标放在变量名上(比如threadsInPool
  • 应用此快捷方式:++ Alt,(稍稍延迟后按最后一个)Shiftsrr
  • 只需在Generate Getters and Setters对话框出现时按 Enter,瞧!

编辑: 您也可以尝试使用Lombok注释:

@Getter @Setter private String value;
于 2015-11-26T10:05:00.627 回答
3

嗯...不知道这是否是您要查找的内容,但是如果我在类中创建一个字段,则会警告该字段未使用。如果我单击警告标志,则会出现为该字段生成 getter 和 setter 的选项:

在此处输入图像描述

于 2012-06-04T16:47:18.303 回答
1

我认为这个问题并不意味着,因为所有答案都给出了手动解决方案。

AFAIK 没有插件就不可能自动完成,而且我不知道有一个插件可以做到这一点。

我使用模板一次创建这样的工件,但我不遵循相同的路径-如果已经存在 getter 或 setter,我不确定模板解决方案是否有效,因为我不确定你可以检查方法的存在并根据它做出模板决策。也许你可以。

于 2012-06-04T16:48:25.227 回答