2012-01-27 12 views
37

私は約30のメソッドと30クラスで実装されたインターフェイスを作成しました。IntelliJは、@Overrridesを特定のインターフェイスのすべてのメソッドに追加することは可能ですか?

それぞれの実装に@Overrideを追加したいと思いますが、手作業ではしたくありません。

IntelliJはどのように役立ちますか?

public interface PreviewObjectTests { 
    void testGetName(); 
    void testGetType(); 
    //... 30 similar methods 
} 

実装コード:

public class PreviewObjectAccountTest implements PreviewObjectTests { 

    //I want to add @Override here! 
    @Test public void testGetName() { 
     assertThat(...); 
    } 

    //I want to add @Override here! 
    @Test public void testGetType() { 
     assertThat(...); 
    } 

    //...30 similar methods 

} 
+2

intellijについてはわかりません。 – Scorpion

+2

Eclipseでどうやってやるの?この質問の読者が知っておくと役に立つかもしれません:) –

答えて

44

簡単に右サブメニューの矢印を押し、意思を入力しAltキー + で行わ:

インタフェースは次のようになります

Fix all

+0

実際に私は私のファイルにこの意図の示唆を得ていません。私のリストにある意図は 'Expand to '@test()''だけです。あなたが参照する意図は、テストではなく、プロダクションクラスファイルでのみ機能しますか? –

+0

プロジェクトの言語レベルが1.6以上に設定されていることを確認してください。 – CrazyCoder

+0

言語レベル*がレベル6.0に設定されています - インターフェースの "オーバーライド"です。 (私はintelliJ 11.01とjava 1.6.0_27を使用します)。 –

-1

私は簡単な検索/置換ツールを使用してその方法を見つけました。

  1. まず私はその後、私は、単純な検索/変更されたファイルのみに見えるように置き換えるを作成
  2. を変更するためのインターフェイスを実装するすべてのファイルを誘発するメソッド名を変更しました。

Intellij Add @override for tests in changed files only

クラスファイル内の他の方法は、実際にそこにいなかったので、これは、私の特定のケースで動作します。私が他のインターフェースに属するファイルに多くのメソッドを持っていた場合、これはちょっと夢中になると思います。

+1

-1(これはできません:))これは検索/置換を行うことは悪い考えです。 –

+0

私はそれが悪い考えであることに同意するが、良いアイデアは出てこなかった。幸いなことに、これは私のユニットテストファイルを編成する方法のために私のために働いた。 –

+0

実際にどのメソッドがオーバーライドされていて、どのメソッドがオーバーライドされているのかを確認する必要があるため、テキストの置換は良くありません。この機能はJava IDEに組み込まれているので、私は選択肢がありませんが、投票することはできません: '( –

-1

そのコンパイラの仕様とそれに従うコンプライアンス それは1.6以上を食べる。 そしてアイデアで私は1.5以上のそれを信じています。

上記の場合、それぞれのIDEによって自動的にチェックされます。 IntelliJのために

+0

申し訳ありませんが、否定的な答えです。自動修正に関する質問: "各実装に@Overrideを追加したいしかし、私は手でそれをしたくないです。 " –

36

  1. チェックあなたが持っている場合は環境設定内にチェック "@Override注釈がありません" - >プロジェクト設定 - >検査 - >継承の問題。
  2. Analyze - > Inspect Codeを使用してください。
  3. 「検査プロファイルの結果」ウィンドウ内に継承の問題 - >欠落@Override注釈があります。
  4. は、Eclipse用の Apply fix "Add @Override annotation"
+1

私のバージョンのIntellijでは"継承問題 "の代わりに"クラス構造 "にありますが、"検査 "画面で"上書き "を検索し、"欠落@Overridアノテーション "を簡単に作成できます。 –

0

(火星上でテスト "@Override注釈を追加" 修正プログラムを適用します。2): - マーカーの再構築ワークスペースの後Errorに設定(または警告)

、@Overrideアノテーションが欠落

ウィンドウ/環境設定(またはプロジェクトのプロパティ) のJava /コンパイラ エラー/警告 注釈を クイックフィックス(Ctrl + 1)のいずれかを右クリックすると、すべてのエラーが表示されます。すべてを選択して修正プログラムを適用します。

これは、数百のクラスに適切な注釈を付けるために私に役立ちました。

関連する問題