2017-01-04 27 views
1

我是新來編寫intellij插件,所以如果我的問題可能有點不清楚,我很抱歉。獲取(現有)代碼檢查的結果

我知道通過AnnotatorsLocalInspectionTools實現代碼檢查。我也知道有一個API來編寫一個自定義的註釋器或檢測工具,我已經看到了幾個例子。

什麼我不知道(我的問題):是否有經理/幫手/「全球檢查員」,可以爲我提供與現有的代碼註釋/檢查過程(通過IDE的插件或做的結果一些第三方插件)?

例如:我不想爲WebStorm編寫定製的Lint註釋器/檢查插件。可以在WebStorm設置中配置JSLint/JSHint。現場檢查的結果可以在當前文件/當前打開的編輯器中看到。 我想獲得這次現場檢查的結果,這發生在當前打開的編輯器(在我自己的自定義代碼中)。爲此,我對獲得此註釋/檢查員的API和/或其提供的結果感興趣。

如果有另外一個問題(我找不到),其重複上面我所問(我的也許使用來混淆視聽註釋和檢查方面道歉),請重新引導我。

預先感謝您! Andrei。

回答

1

不幸的是,對於linters的定期註釋過程是異步的,因此您無法直接獲取註釋結果(通過調用'Manager'方法)。

您可以創建JSLintInspection,JSHintInspection等實例,並調用#createVisitor().visit(File)方法,但操作非常緩慢,您必須在AWT線程之外調用它。

你也可以嘗試運行方法com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerEx#processHighlights但正如我在上面標註提到的棉短絨結果可能是不可用(或過時)

+0

謝謝你的幫助;我嘗試了你的建議和其他一些事情。更多在這裏(https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000015024/comments/115000040990)。但試圖獲得註釋結果比我想象的要困難。目前還沒有成功,但我仍在努力。謝謝! – acostache

+0

似乎我必須添加一個自定義註釋器,它會覆蓋另一個外部註釋器(我感興趣的那個註釋器)並獲得一些結果。它不是很快(因爲它重複了註釋器運行),但我得到了結果;我會發佈一個更長的答案。但我仍然會尋找更好的解決方案 – acostache