Intellij Code Completion用于局部变量对象的所有setter / getter方法

我确实尝试过搜索这个,但老实说,实际搜索的术语正在逃避我。 一个小代码片段后跟问题。

Public class Person { String firstName; String lastName; public void setFirstName(String firstName) { this.firstName = firstName; } public String getFirstName() { return firstName; } ... } 

另一个使用此person对象的对象中,我希望能够扩展Intellij中的所有setter方法。

 public class PersonAssembler { public static Person assemblePerson(SomeOtherObject someOtherObject) { Person person = new Person; //intellj would provide this below. person.setFirstName(); person.setLastName(); //end of what intellj provides. return person; } 

这有可能吗? 我已经查看了键盘快捷键等。我一直在使用intellij,所以只是想知道是否有人对此有所了解。

我希望列编辑模式,然后代码完成,也许是一个shift +向下箭头来选择多个完成,但没有运气。 这并不奇怪。 我不想在GUI中写这个。

编辑:我添加了一些澄清,并诚实地忘记了这个问题。 如果仔细阅读,答案与实际问题无关。 我不是在谈论Generate上下文菜单。

这是一个老问题,但也许它可以帮助某人。

此外,它不是“单击”动作,而是……

要遵循的步骤:

  • 转到类文件
  • 打开结构视图(左侧面板)
  • 选择所有设置器(如果需要,按字母顺序排序)并复制
  • 返回目的地类/方法
  • 粘贴复制
  • 编辑(在列模式下)以包含person. 在每个类的开头和()结束时。

在项目中,右键单击打字屏幕上的任意位置,然后单击“生成…”,然后单击“Getter和Setter”。 然后,按住Ctrl键并单击要为其创建getter和setter的字段,然后单击“确定”。

创建getter setter的快捷方式是Intellij中的ALT+Insert

我不确定如何在IntelliJ中执行此操作,但我会将您链接到一个框架,使Java中的这些事情变得更加顺畅:Project Lombok

以你的代码为例,它看起来像这样:

 public class Person { @Setter @Getter String firstName; String lastName; } 

有一个intellij的插入修复它所以你也没有得到任何恼人的警告。

http://projectlombok.org/

当你的光标在新创建的类中时,你可以按ALT + Insert – 应该出现一个对话框,然后你可以选择Getter和Setter

在此处输入图像描述

这是我的插件genSet

Foo foo = new Foo();

像这样的代码

foo.allSet

会产生

 foo.setName(); foo.setAge(); foo.setBar(); foo.setTest(); foo.setLike(); 

这个插件可以帮助GenerateAllSetter

CTRL + ENTER您要使用的位置,它将为您生成setter调用。

继续Michael Jarvis回答:

所以我在IntelliJ IDEA 2018.1.4(社区版)中,我意识到首先选择所有字段以便right-clickALT + Insert以使菜单属性(getter和setter)非常重要

在此处输入图像描述