Roslyn Visual Studio 2017,Microsoft.CodeAnalysis版本2.6.1

时间:2018-03-05 10:12:52

标签: visual-studio visual-studio-2017 roslyn code-analysis

我们正在Microsoft.CodeAnalysis 2.6.1平台上编写Roslyn Visual Studio 2017插件。

  • 实际状态:

    我们创建了一个VSIX项目并编写了一些简单的 DiagnosticAnalyzer 子类,这些子类在将资源添加到 source.extension.vsixmanifest 文件后正确加载(参见{{3 }})。

  • 现状: 我们的插件也应该能够做一些简单的重构。所以我们创建了 CodeFixProvider 的子类。 不幸的是,CodeFixProvider的钩子方法永远不会被调用。有人知道为什么吗?

这是我的代码:


[ExportCodeFixProvider(LanguageNames.CSharp), Shared]
    public sealed class BooleanComparisonCodeFixProvider : CodeFixProvider
    {
        public override ImmutableArray FixableDiagnosticIds {
              get { // never gets called }
        }

        public override Task RegisterCodeFixesAsync(CodeFixContext context)
        {
             // never gets called
        }

        public sealed override FixAllProvider GetFixAllProvider()
        {
             // never gets called
        }
    }

Greets MjeOsX

1 个答案:

答案 0 :(得分:0)

您需要添加[ExportCodeFixProvider(LanguageNames.Whatever)]才能将您的课程导出到Visual Studio的MEF容器中。