我们正在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
答案 0 :(得分:0)
您需要添加[ExportCodeFixProvider(LanguageNames.Whatever)]
才能将您的课程导出到Visual Studio的MEF容器中。