zoukankan      html  css  js  c++  java
  • 建立标准编码规则(一)-自定义C#代码分析器

    Roslyn提供了相关的SDK,可以通过SDK来开发自己的代码分析器:

    首先需要安装.Net Compiler Platform SDK:
      VS2017 15.5之前的版本可以通过下面连接下载并安装:
      https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.NETCompilerPlatformSDK
      VS2017 15.5之后的版本可以通过Visual Studio Installer进行安装:

      640?wx_fmt=png

     

    分析器代码简介:

    • 代码结构:

      创建的项目中一共有三个子项目,分别是分析器、分析器测试项目以及vsix安装包项目如下图所示:

      640?wx_fmt=png

      其中分析器项目中包含了分析器(Analyzer1Analyzer)、代码修复器(Analyzer1CodeFixProvider)和相关的资源(Resources.resx)。

    • 分析器(Analyzer1Analyzer):

      分析器代码的核心内容是注册一个命名符号处理器(用于处理类名、接口名等),处理器的工作是判断分析的符合(名称)中是否包含小写字符,如果包含那么给出诊断信息(诊断信息定义包含在资源文件中)。

      640?wx_fmt=png

    • 代码修复器:

      将小写字符转换为大写:

      640?wx_fmt=png

    • 代码调试:

      将vsix项目设为启动项目,就可以对分析器进行调试,调试时VS会在沙盘中启动一个新的VS实例,通过这个VS创建一个项目,编写代码时即可看到分析器给出的诊断结果和代码修复:

      640?wx_fmt=png

      诊断信息:

      640?wx_fmt=png

      修复结果:

      640?wx_fmt=png

      查看语法树:

      640?wx_fmt=jpeg

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

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

  • 相关阅读:
    WEB
    Python
    Git
    JavaScript
    鸡汤
    面向对象
    Python
    Python
    MongoDB
    Oracle 11g 安装
  • 原文地址:https://www.cnblogs.com/wuchitao/p/12967259.html
Copyright © 2011-2022 走看看