首页 > Windows开发 > 详细

建立标准编码规则(一)-自定义C#代码分析器

时间:2020-05-26 20:20:04      阅读:63      评论:0      收藏:0      [点我收藏+]
Roslyn提供了相关的SDK,可以通过SDK来开发自己的代码分析器:

首先需要安装.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创建一个项目,编写代码时即可看到分析器给出的诊断结果和代码修复:

  技术分享图片

  诊断信息:

  技术分享图片

  修复结果:

  技术分享图片

  查看语法树:

  技术分享图片

 
总结:
官方已经提供了一个完整的机遇Roslyn的代码分析器自定义模板;
我们需要新建基于此模板的分析器程序就可以了;
我们可以根据公司的项目规定按指定的规则设计代码分析器规则;

 

 参考:C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API

建立标准编码规则(一)-自定义C#代码分析器

原文:https://www.cnblogs.com/wuchitao/p/12967259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!