2012-01-27 38 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

在eclipse中很容易做到,不知道intellij。 – Scorpion 2012-01-27 09:07:41

+2

那麼你如何在Eclipse中做到這一點?這可能對這個問題的讀者有所幫助:) – 2012-01-27 09:19:14

回答

44

Alt鍵輕鬆完成 + 輸入意向,然後按右箭頭的子菜單:

Fix all

+0

其實我沒有在我的文件中得到這個意向的建議。我的列表中只有意圖是'展開爲'@test()''。你引用的意圖是否只在生產類文件中工作,而不是在測試中? – 2012-01-27 09:31:39

+0

確保項目語言級別設置爲1.6或更高。 – CrazyCoder 2012-01-27 09:57:01

+0

語言級別*設置爲「」級別6.0 - @覆蓋接口「'。 (我用java 1.6.0_27使用intelliJ 11.01)。 – 2012-01-27 10:13:54

-1

我找到了一種簡單的查找/替換工具。

  1. 首先我換了一個方法名挑起實現接口的所有文件,以改變
  2. 然後我創建了一個簡單的查找/替換看起來只有在修改過的文件。

Intellij Add @override for tests in changed files only

此作品在我的具體情況,因爲沒有真正的類文件的任何其他方法。如果我在屬於其他接口的文件中有很多方法,我會認爲這會更瘋狂

+1

-1(我不能這樣做:))爲此搜索/替換是一個壞主意。 – 2012-01-27 10:01:38

+0

我同意這是一個壞主意,但沒有更好的想法出現。幸運的是,由於我組織單元測試文件的方式,這對我很有用。 – 2012-01-27 10:15:22

+0

文本替換不好,因爲你需要檢查哪些方法實際上是覆蓋,哪些不是。而且由於這個特性是內置在Java IDE中的,所以我沒有選擇,只能進行投票:'( – 2016-09-13 18:19:36

-1

它不是日食或想法specfic。它的編譯器specfic和您遵守的遵從性。在eclipse中它是1.6或更高版本。 而在想法,我相信它的1.5或更高。

在上述情況下,它將由各自的IDE自動檢查。

+0

對不起,我的問題是關於自動修復:「我想爲每個實現添加@Override ,但我不想親自去做。「 – 2016-09-13 18:16:27

36

的IntelliJ:

  1. 檢查,如果你有 「缺少@Override註釋」 內首籤 - >項目設置 - >檢查 - >繼承的問題。
  2. 使用分析 - >檢查代碼
  3. 查找繼承問題 - >「檢查概要文件的結果」窗口中缺少@Override註釋。
  4. 應用修復 「添加@Override批註」 Apply fix "Add @Override annotation"
+1

它在我的Intellij版本中用」類結構「代替」繼承問題「,但是您可以在」檢查「屏幕上搜索」覆蓋「並找到」缺失@Overrid註釋「很容易。 – 2015-07-16 15:23:55

0

對於Eclipse(在火星上進行測試。2):

窗口/首選項(或項目屬性) 的Java /編譯器 錯誤/警告 註解 缺少@Override註釋 - 設置爲錯誤(或警告)

重建工作區後,在標記查看,右鍵單擊其中一個錯誤,快速修復(Ctrl + 1),所有錯誤應該出現。全選並應用修復。

這對我來說正確地註釋了幾百個類...

相關問題