質問

このような1つのラインでintellijにゲッター/セッターを生成するにはどうすればよいですか:

public String getAbc() { return abc; }

それ以外の

public String getAbc() {
   return abc;
}

??

役に立ちましたか?

解決

ゲッターや等しい/ハッシュコードのテンプレートはありません。これらはアイデアにハードコードされています。

ソース

これでそれを見ることができます Intellijウィッシュリスト

他のヒント

Intellij Idea 14.1.0を使用していますが、この動作をカスタマイズできます。

「生成...」オプションを使用するか、使用する alt+入れる ショートカット、「ゲッターとセッター」を選択します。

開く「[フィールドの選択]ウィンドウに、上部に「ゲッターテンプレート」オプションがあります。ドロップダウンの横にある「...」ボタンを使用して、テンプレートを編集します。

「Intellijデフォルト」を選択し、[コピー]ボタンをクリックして、編集できる新しい名前の「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;
}

これで、ゲッターテンプレートのドロップダウンで選択して、コードを生成するときにカスタムテンプレートを使用できます。

あなたが使用しているアイデアのバージョンについては言及していなかったので、最近の8つまたは9を想定しています。

「アライメントとブレース」の下で、コードスタイルの設定を確認してください。そこには「1行の単純な方法」オプションを見つける必要があります。

Idea 2016のために。

ゲッターテンプレート

最後の3行を単一の行にマージします。

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

セッターテンプレート

最も長い行の終わりに二重ハッシュ(スペースなし)を追加します。

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

最後の2行を単一の行にマージします。

$field.name = $paramName; }

注:@mindasがコメントしたように、おそらくバージョンにならないビジュアルオート折りたたみが必要です。

おそらく視覚的なスペースを節約するために、なぜこれをやりたいのかわかりません。もしそうなら、Intellijの機能を使用して、些細なゲッター/セッターを折り、それがどのようにかかるかを忘れてください。折りたたみ機能はにあります

設定 - > IDE設定 - >エディター - >コードフォールディング - >コードフォールディングの概要を表示 - >シンプルなプロパティアクセサーズ

Alex GとLaffusteは私を助けた回答を提供しましたが、これらの指示に従った後でも、Intellijはそれでもコードを自動的にフォーマットすることができます。これが起こらないようにするには、設定 - > editor-> codeスタイル - > java(または他の言語)に移動します。 「ラッピングとブレース」というタイトルのタブをクリックします。タイトル「Keep ay Reforatting」の下で、「1行の単純な方法」の横にあるチェックボックスをクリックします。

さらに簡潔にするために、ゲッターメソッドとセッターメソッド間の空白線を排除できます。これを行うには、「blank Lines」というタイトルのタブをクリックします。 「最小ブランクライン」というタイトルのセクションで、「Around Method」の横にあるテキストボックスを見つけます。テキストボックスに0を入力します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top