【发布时间】:2020-04-04 18:15:04
【问题描述】:
我想知道是否有一种本地方式来存储和访问自定义 roslyn 分析器的其他设置。 假设我有诊断 ID 为“XA0001”的规则,我将在编辑器配置中设置
dotnet_diagnostic.XA0001.severity = error
到目前为止,一切正常。现在我想添加类似这样的内容来为该新规则创建设置:
dotnet_diagnostic.XA0001.scope = class, enum, interface
dotnet_diagnostic.XA0001.level = toplevel
其中范围和级别是我需要配置的规则的附加属性(通常是字符串或某种枚举),因为它们可以变化。每次都会有该规则的默认设置可以被 editorconfig 覆盖。
有没有可能,如果有的话,是否有任何超短的例子。如何访问分析器类中的其他编辑器配置设置或仅从该项目级别访问帖子的链接?
[DiagnosticAnalyzer(LanguageNames.CSharp)]
public class RuleXA0001Analyzer : DiagnosticAnalyzer
{
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get; } = ImmutableArray.Create(RuleXA0001.Descriptor);
public override void Initialize(AnalysisContext context)
{
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);
context.EnableConcurrentExecution();
//TODO access editorconfig settings for this rule
//Perform analysis & report diagnostics
}
}
}
无需访问其他规则设置,即使在其他情况下可能会有所帮助。
谢谢
【问题讨论】:
标签: c# roslyn visual-studio-2019 roslyn-code-analysis editorconfig