使用 Visual Studio 提供的 Syntax Visualizer,我们可以实时看到一个代码文件中的语法树。这对我们基于 Roslyn 编写静态分析和修改工具非常有帮助。本文将介绍如何安装它和使用它。
本文是 Roslyn 入门系列之一:
- Roslyn 入门:使用 Visual Studio 的语法可视化(Syntax Visualizer)窗格查看和了解代码的语法树(本文)
- Roslyn 入门:使用 .NET Core 版本的 Roslyn 编译并执行跨平台的静态的源码
- Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码
这里是 Visual Studio 的语法可视化(Syntax Visualizer):
正在分析的代码文件是 MSTestEnhancer 中的 ContractTestContext.cs
;也就是我的另一篇文章 Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码 中所采用的例子。
语法可视化树中有三种不同颜色的节点:
- 蓝色:SyntaxNode,表示声明、语句、子句和表达式等语法构造。
- 绿色:SyntaxToken,表示关键字、标识符、运算符等标点。
- 红色:SyntaxTrivia,代表语法上不重要的信息,例如标记、预处理指令和注释之间的空格。
如果你是 Visual Studio 2017 / 2019,并且在安装 Visual Studio 时选择了 Visual Studio 扩展开发的工作负载,并且已经勾选了 .NET Compiler Platform SDK,那么你就已经安装好了。如果没有找到,请前往 如何安装和准备 Visual Studio 扩展/插件开发环境 - walterlv 再安装。如果你的 Visual Studio 版本比较旧,则需要去 .NET Compiler Platform SDK - Visual Studio Marketplace 下载安装。
安装完之后,去“视图->其它窗口”中就可以找到“Syntax Visualizer”。
现在,我们在代码文件中任意地移动光标、选择代码块,都可以在 Syntax Visualizer 中看到对应的语法节点。这对我们基于 Roslyn 编写静态分析和修改工具非常有帮助。
参考资料
本文会经常更新,请阅读原文: https://blog.walterlv.com/post/roslyn-syntax-visualizer.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected]) 。