16

私の現在のプロジェクトには、インスタンス変数が this で参照されないというコーディング規約があります。接頭辞であり、そのパラメーターはインスタンス変数を非表示にしないでください。

これにより、次のようなセッターが生成されます。

public void setFoo(final Foo aFoo)
{
  foo = aFoo;
}

残念ながら、Eclipse はデフォルトではそれを生成しません。パラメータプレフィックスリストに a を追加することでそれに近づくことができるコードスタイルを見つけましたが、それをセットメソッドにのみ適用し、そこにも最終タグを追加したいと思います。

テンプレートを使用してこれを達成する方法はありますか? 他の構成?

4

4 に答える 4

19

現在のところ、セッター メソッドのみにパラメーター プレフィックスを適用する唯一の方法は、セッター メソッドの新しいテンプレートを作成することだと思いますが、このテンプレートはアクセサー ジェネレーターでは使用されません。Window -> Preferences -> Java -> Editor -> Templatesの下に既存のテンプレートのリストが表示されます。テンプレートの作成に関するヒントについては、この質問を参照してください。

Eclipse 設定を変更して、ワークスペースまたはプロジェクト レベルですべてのタイプの変数のプレフィックス (およびサフィックス) を指定できます。これは、setter だけでなく、すべてのメソッドに適用されます。「クリーンアップ」機能を使用して、パラメーターが最終的なものであることを確認できます。

コード規則を緩和するために、代わりにすべてのインスタンス変数にプレフィックスを付けるように指定できます。これにより、パラメーターがインスタンス変数をオーバーライドしなくなりますが、そうしたくない場合があります。


可変プレフィックス

ワークスペースの設定を変更するには、Window -> Preferences -> Java -> Code Styleに移動し、リストを編集して好みの接頭辞/接尾辞を使用します。

プロジェクト設定を変更するには、プロジェクト プロパティ ( Alt+ Enter)を開き、 [ Java コード スタイル]を選択し、 [プロジェクト固有の設定を有効にする] を選択してから、ワークスペースの設定を編集します。

セッター メソッドに対してのみ特定のプレフィックスを有効にするには、コード テンプレートの内部を詳しく調べて、セッターを特定して変更する必要があります。


最終パラメータ

すべてのメソッド パラメータが final であることを確認するには、Java クリーンアップ プロセッサを変更して、パラメータにfinalを追加します。[ウィンドウ] -> [設定] -> [ Java ] -> [コード スタイル] -> [クリーンアップ]で、アクティブ プロファイルをコピーまたは編集できます。[コード スタイル] タブで、[変数宣言]セクションで [修飾子 'final' を使用する] を選択し、[パラメーター] が選択されていることを確認ます[ソース] -> [クリーンアップ]を実行すると、クリーンアップが適用されます

保存のたびに最終パラメーターを自動的に適用するには、保存アクションを変更できます。[ウィンドウ] -> [設定] -> [ Java ] -> [エディター] -> [アクションの保存] で、 [保存ボックスで選択したアクションを実行する] が選択されていることを確認します (これにより、フォーマットも行われます)。コードを作成し、必要に応じてインポートを整理します)、[追加のアクション] オプションを選択し、[構成] を選択し、 [コード スタイル]で上記と同じものを適用します。

于 2009-08-18T08:54:16.033 に答える
2

とてもシンプル...

  1. プロジェクトのルート プロジェクト フォルダーの下に、というフォルダーを作成します.settings(既に存在する場合があります)。
  2. このフォルダーに、というテキスト ファイルを作成します。org.eclipse.jdt.core.prefs
  3. このファイルに、次の行を含めます。

org.eclipse.jdt.core.codeComplete.argumentPrefixes=a

以上です。それはうまくいくはずです。これに関する適切なドキュメントは見つかりませんでしたが、設定できるその他のオプションを次に示します。

org.eclipse.jdt.core.codeComplete.argumentPrefixes= org.eclipse.jdt.core.codeComplete.argumentSuffixes= org.eclipse.jdt.core.codeComplete.fieldPrefixes= org.eclipse.jdt.core.codeComplete.fieldSuffixes= org.eclipse.jdt.core.codeComplete.localPrefixes= org.eclipse.jdt.core.codeComplete.localSuffixes= org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=

于 2009-08-18T06:02:55.910 に答える
0

Fast Code Eclipse Pluginを使用すると、これを非常に簡単に行うことができます。

于 2011-08-07T02:50:41.770 に答える
0

Eclipse --> 設定 --> Java --> コード スタイル --> コード テンプレート --> コード

于 2013-12-24T17:57:54.753 に答える