0
動機:每個類/接口/註釋/枚舉必須由@SomeAnnotation註釋。但是,我們希望此註釋僅位於頂級類,而不是內部類。如何在IntelliJ IDEA中查找頂級未註釋的類
目標是創建一個結構檢查,警告開發人員他們忘記註釋類。 如何指定結構搜索/替換來查找所有缺少@SomeAnnotation的頂級結構?
動機:每個類/接口/註釋/枚舉必須由@SomeAnnotation註釋。但是,我們希望此註釋僅位於頂級類,而不是內部類。如何在IntelliJ IDEA中查找頂級未註釋的類
目標是創建一個結構檢查,警告開發人員他們忘記註釋類。 如何指定結構搜索/替換來查找所有缺少@SomeAnnotation的頂級結構?
像這樣的東西應該工作:
@$Annotation$ // min: 0, max: 0, text/regexp: SomeAnnotation
class $C$ {} // min: 1, max: 1
// Complete Match - Script text:
if (C instanceof com.intellij.psi.PsiIdentifier) C = C.parent
C.containingClass == null
腳本的第一行是必要的IntelliJ IDEA 14中的C腳本模式引用$ C $。
搞清楚了!在IntelliJ IDEA 15上,我的腳本能夠正常工作。對不起,我沒有提到我在IntelliJ IDEA 15上進行了測試(這是對已刪除評論的回覆)。 –
謝謝。它可以工作,但它僅適用於Idea 15。我們的公司不能強迫每個開發人員使用最新版本,特別是在舊版本進行大量定製時。 ()。(C.getParent()instanceof com.intellij.psi.PsiClass)&&((com.intellij.psi.PsiClass)C.getParent() ).getContainingClass()== null' 然而,只有在想法14而不是在想法15中交換(不要問我爲什麼)。 你有什麼想法如何使它在理念14和15同時工作? – imparente
我修改爲在兩個版本的IntelliJ IDEA中工作的解決方案。 –