基于 Roslyn 同时为 Visual Studio 插件和 NuGet 包开发 .NET/C# 源代码分析器 Analyzer 和修改器 CodeFixProvider


本文将教大家如何从零开始开发一个基于 Roslyn 的 C# 源代码分析器 Analyzer 和修改器 CodeFixProvider。可以作为 Visual Studio 插件安装和使用,也可以作为 NuGet 包安装到项目中使用(无需安装插件)。无论哪一种,你都可以在支持 Roslyn 分析器扩展的 IDE(如 Visual Studio)中获得如下面动图所展示的效果。

本文教大家可以做到的效果

开发准备
  • 安装 Visual Studio 扩展开发工作负载
  • 创建一个分析器项目
  • 首次调试
  • 解读模板自带的分析器项目
    • 项目和解决方案
    • 分析器代码(Analyzer)
    • 代码修改器(CodeFixProvider)
  • 开发自己的分析器(Analyzer)
    • 一个简单的目标
    • 开始添加最基础的代码
    • 添加分析自动属性的代码
  • 开发自己的代码修改器(CodeFixProvider)
    • 发布
    • 发布成 NuGet 包
    • 发布到 Visual Studio 插件商店
  • 一些补充
    • 辅助源代码
    • 示例代码仓库
    • 别忘了单元测试

    如何安装和准备 Visual Studio 扩展/插件开发环境

    nuget.org,请在文本中回复,也许我需要再写一篇博客讲解如何推送。

    Visual Studio Marketplace,请在文本中回复,也许我需要再写一篇博客讲解如何推送。

    996.ICU 哟!

    • walterlv.demo/Walterlv.Demo.Analyzers at master · walterlv/walterlv.demo

    Writing a Roslyn analyzer - Meziantou’s blog
  • Code Generation with Roslyn – Fields and Properties - Dogs Chasing Squirrels