次のように、 IntelliJに getter/setter アクセサー メソッドを 1 行で生成させるにはどうすればよいですか。
public String getAbc() { return abc; }
…次のような複数行の代わりに:
public String getAbc() {
return abc;
}
次のように、 IntelliJに getter/setter アクセサー メソッドを 1 行で生成させるにはどうすればよいですか。
public String getAbc() { return abc; }
…次のような複数行の代わりに:
public String getAbc() {
return abc;
}
IntelliJ IDEA 14.1.0 を使用していますが、この動作をカスタマイズできます。
「生成...」オプションを使用するか、Alt+Insertショートカットを使用して、「ゲッターとセッター」を選択します。
開いた [フィールドの選択] ウィンドウの上部に [Getter Template] オプションがあります。テンプレートを編集するには、ドロップダウンの横にある [...] ボタンを使用します。
「IntelliJ Default」を選択し、「コピー」ボタンをクリックして、編集可能な「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 であると推測します。
「配置とブレース」の下のコードスタイル設定を確認してください。そこに「1行で簡単な方法」オプションがあるはずです。
getter にも equals/hashcode にもテンプレートはありません。これらは IDEA でハードコーディングされています。
おそらく視覚的なスペースを節約するために、なぜこれをしたいのかわかりません。その場合は、IntelliJ の機能を使用して単純なゲッター/セッターを折り畳み、行がどのようにかかるかを忘れてください。折りたたみ機能は
設定 -> IDE 設定 -> エディター -> コードの折りたたみ -> コードの折りたたみのアウトラインを表示 -> シンプルなプロパティ アクセサー