我是编写intellij插件的新手,所以如果我的问题可能有些不清楚,我会提前道歉。
我知道(实时)代码检查是通过Annotators或LocalInspectionTools实现的。我也知道有一个用于编写自定义Annotator或Inspection工具的API,我已经看过几个例子。
我不知道(我的问题):是否有经理/助手/“全球检查员”可以向我提供现有代码注释器/检查过程的结果(由IDE的插件或某些第三方插件)?
例如:我不想为WebStorm编写自定义Lint注释器/检查插件。可以在WebStorm设置中配置JSLint / JSHint。可以在当前文件/当前打开编辑器上看到实时检查的结果。 我想得到这个实时检查的结果,这发生在当前的开放编辑器中(在我自己的自定义代码中)。为此,我对API获取此注释器/检查器和/或它提供的结果感兴趣。
(我为可能以令人困惑的方式使用注释器和检查术语而道歉)
如果还有其他问题(我找不到)与我上面提到的问题重复,请重新指导我。
提前谢谢! 安德烈。
答案 0 :(得分:1)
不幸的是,linters的常规注释过程是异步的,因此您无法直接获取注释结果(通过调用'Manager'方法)。
您可以创建JSLintInspection,JSHintInspection等实例并调用#createVisitor().visit(File)
方法,但操作非常慢,您必须在AWT线程之外调用它。
此外,您可以尝试运行方法com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerEx#processHighlights
,但正如我上面提到的,linters的注释结果可能无法使用(或过时)