首先需要安装.Net Compiler Platform SDK:
VS2017 15.5之前的版本可以通过下面连接下载并安装:
https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.NETCompilerPlatformSDK
VS2017 15.5之后的版本可以通过Visual Studio Installer进行安装:
分析器代码简介:
代码结构:
创建的项目中一共有三个子项目,分别是分析器、分析器测试项目以及vsix安装包项目如下图所示:
其中分析器项目中包含了分析器(Analyzer1Analyzer)、代码修复器(Analyzer1CodeFixProvider)和相关的资源(Resources.resx)。
分析器(Analyzer1Analyzer):
分析器代码的核心内容是注册一个命名符号处理器(用于处理类名、接口名等),处理器的工作是判断分析的符合(名称)中是否包含小写字符,如果包含那么给出诊断信息(诊断信息定义包含在资源文件中)。
代码修复器:
将小写字符转换为大写:
代码调试:
将vsix项目设为启动项目,就可以对分析器进行调试,调试时VS会在沙盘中启动一个新的VS实例,通过这个VS创建一个项目,编写代码时即可看到分析器给出的诊断结果和代码修复:
诊断信息:
修复结果:
查看语法树:
参考:C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API
原文:https://www.cnblogs.com/wuchitao/p/12967259.html