【问题标题】:Start Roslyn analyzer by button?按按钮启动 Roslyn 分析仪?
【发布时间】:2016-10-10 13:44:31
【问题描述】:

我有一个 Roslyn 代码分析器,它需要很长时间才能运行,因此在编译开始时运行它或作为一个整体树分析运行它是不合适的。

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

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

【问题讨论】:

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


    【解决方案1】:

    Roslyn 分析器只能由 Roslyn 触发;你不能那样做。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      相关资源
      最近更新 更多