2017-01-04 5 views
1

私はintellijプラグインを初めて書くので、私の質問が少し不明な場合は事前にお詫び申し上げます。(既存の)コード検査の結果を取得する

私は(ライブ)コード検査はAnnotatorsまたはLocalInspectionToolsを介して達成されていることをを知っています。私はカスタムAnnotatorまたはInspectionツールを書くためのAPIがあり、いくつかの例を見てきたことも知っています。

私が知りません(私の質問):既存のコード注釈/検査プロセスの結果を私に提供するマネージャ/ヘルパー/ "グローバルインスペクタ"がありますか?いくつかのサードパーティのプラグイン)?

たとえば:私は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

関連する問題