我已经编写了一个代码分析器作为我的 Visual Studio 包的一部分。
这与此页面上的说明相对应,只是它是我现有包的一部分而不是独立分析器。
分析器注册自身以分析 SyntaxNode 类型 StringLiteralExpression 和 InterpolatedStringExpression。
public override void Initialize ( AnalysisContext context )
{
context.RegisterSyntaxNodeAction ( AnalyzeString, SyntaxKind.StringLiteralExpression, SyntaxKind.InterpolatedStringExpression ) ;
}
如此处所述
默认情况下,实时代码分析仅针对 Visual Studio 中打开的文件执行分析器。
这是对的。我的分析器在打开的文件上运行。
同一页面继续:
手动运行代码分析
在解决方案资源管理器中,单击该项目。
在分析菜单上,单击对项目名称运行代码分析。
代码分析将在后台开始执行。您应该在左下角的 Visual Studio 状态栏中看到消息 Running code analysis for ...。代码分析完成后,状态消息将更改为Code analysis completed for。错误列表将很快刷新所有代码分析诊断
在这种情况下,我的分析不会运行。
我在构造函数、SupportedDiagnostics 属性 get、Initialize 函数和分析函数本身中放置了断点。如果我通过“分析”菜单(或通过解决方案资源管理器中的上下文菜单)手动启动代码分析,则不会输入任何内容。
是否需要一些额外的条件来激活代码分析器以进行手动代码分析?