【发布时间】:2020-06-07 10:42:27
【问题描述】:
我已经编写了一个代码分析器作为我的 Visual Studio 包的一部分。
这与this page 上的说明相对应,只是它是我现有软件包的一部分,而不是独立分析器。
分析器注册自身以分析 SyntaxNode 类型 StringLiteralExpression 和 InterpolatedStringExpression。
public override void Initialize ( AnalysisContext context )
{
context.RegisterSyntaxNodeAction ( AnalyzeString, SyntaxKind.StringLiteralExpression, SyntaxKind.InterpolatedStringExpression ) ;
}
如上所述here
默认情况下,实时代码分析仅针对 Visual Studio 中打开的文件执行分析器。
这是正确的。我的分析器在打开的文件上运行。
同一页面继续:
手动运行代码分析
在解决方案资源管理器中,单击项目。
在分析菜单上,单击对项目名称运行代码分析。
代码分析将在后台开始执行。你应该看到消息 Running code analysis for ... 在 Visual Studio 状态栏中 左下角。代码分析完成后,状态消息将 更改为 为 完成代码分析。错误列表即将刷新 带有所有代码分析诊断
在这种情况下,我的分析不会运行。
我在构造函数、SupportedDiagnostics 属性 get、Initialize 函数和分析函数本身中放置了断点。如果我通过“分析”菜单(或通过解决方案资源管理器中的上下文菜单)手动启动代码分析,则它们都不会被输入。
是否需要一些额外的条件才能激活代码分析器以进行手动代码分析?
【问题讨论】:
-
我认为这应该是这里提交的错误:github.com/dotnet/roslyn/issues/new
标签: visual-studio-2019 roslyn roslyn-code-analysis vspackage visual-studio-package