IntelliJ getter / setter格式

如何让IntelliJ在一行上生成getter / setter,如下所示:

public String getAbc() { return abc; } 

代替

 public String getAbc() { return abc; } 

??

getter和equals / hashcode都没有模板。 这些在IDEA中是硬编码的。

资源

你可以在这个IntelliJ愿望清单中看到

我正在使用IntelliJ IDEA 14.1.0,您可以自定义此行为。

只需使用“生成…”选项,或使用Alt + Insert快捷键,然后选择“Getter and Setter”。

在打开的“选择字段”窗口中,顶部有“获取模板”选项。 使用下拉列表旁边的“…”按钮编辑模板。

选择“IntelliJ Default”并单击“Copy”按钮创建一个名为“AlwayStartWithGet”的新按钮,您可以对其进行编辑。

只需删除以下部分:

 #if ($field.boolean) #if ($StringUtil.startsWithIgnoreCase($name, 'is')) #set($name = $StringUtil.decapitalize($name)) #else is## #end #else get## #end 

并用一个简单的替换它

 get## 

你应该留下:

 public ## #if($field.modifierStatic) static ## #end $field.type ## #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))) get## ${name}() { return $field.name; } 

现在,您可以在生成代码时使用自定义模板,方法是在getter模板下拉列表中选择它。

您没有提到您正在使用的IDEA版本,所以我假设最近的8或9。

检查“对齐和大括号”下的代码样式设置。 您应该在那里找到“一行中的简单方法”选项。

我不知道你为什么要这样做,大概是为了节省视觉空间。 如果是这样,只需使用IntelliJ的function来折叠琐碎的getter / setter,并忘记它是如何行的。 折叠function可以在

设置 – > IDE设置 – >编辑器 – >代码折叠 – >显示代码折叠大纲 – >简单属性访问器

对于2016年的想法。

吸气剂模板

将最后3行合并为一行:

 ${name}() { return $field.name; } 

二传手模板

在最长行的末尾添加双哈希(没有空格):

 [...] ($field.type, $paramName) {## 

将最后两行合并为一行:

 $field.name = $paramName; } 

注意:正如@mindas评论的那样,你可能会想要一个没有版本化的视觉自动折叠。