按钮启动Roslyn分析仪?

时间:2016-10-10 13:44:31

标签: c# visual-studio roslyn visual-studio-extensions roslyn-code-analysis

我有一个Roslyn代码分析器,需要花费大量的时间来运行,所以在编译开始时运行它或者作为整个树分析是不合适的。

相反,我想在用户点击菜单中的按钮(或工具栏/键盘快捷键)时触发分析。

这可能吗?如果没有,传统的MEF扩展是否有办法访问已打开文档的Roslyn树,并将错误/警告添加到文档中语法节点下的错误列表和相应的波形图中?

1 个答案:

答案 0 :(得分:0)

Roslyn分析仪只能由Roslyn触发;你不能这样做。

您可以通过在任何MEF组件中注入VisualStudioWorkspace来从传统的VS扩展访问Roslyn。 Microsoft.CodeAnalysis.EditorFeatures.Text中有许多扩展方法,用于在Roslyn节点/文档和VS缓冲区/快照之间进行映射。

您可以使用标准VS错误API报告错误;您可能还想查看Roslyn中报告Roslyn错误的代码。