使 Roslyn 分析器可配置的最佳方法是什么?
What's the best way to make a Roslyn analyzer configurable?
我正在尝试为 Roslyn 制作一个分析器。我正在制作的是一种诊断方法,可以发现太长的方法。我想让任何被认为 'too long' 可配置的东西,最好是整个解决方案或项目的一个配置。解决此问题的最佳方法是什么?
我想到的唯一选择是在程序集中搜索特定的配置属性。这将需要解决方案中每个项目的属性。它还要求诊断的用户引用特定于定义此属性的诊断的库。
这是个好主意吗?还有哪些其他选择?
您可以将 additional files 传递给分析器。然后可以从分析上下文中获取这些内容。但是这种方法在 Roslyn 中还没有开发出来。例如,如果文件发生更改,分析器不会收到有关更改的通知。
例如,您可以查看 SonarLint repository。
此外,请关注 this GitHub issue,其中正在讨论如何在即将推出的 Roslyn 版本中完成参数和数据共享。
我正在尝试为 Roslyn 制作一个分析器。我正在制作的是一种诊断方法,可以发现太长的方法。我想让任何被认为 'too long' 可配置的东西,最好是整个解决方案或项目的一个配置。解决此问题的最佳方法是什么?
我想到的唯一选择是在程序集中搜索特定的配置属性。这将需要解决方案中每个项目的属性。它还要求诊断的用户引用特定于定义此属性的诊断的库。
这是个好主意吗?还有哪些其他选择?
您可以将 additional files 传递给分析器。然后可以从分析上下文中获取这些内容。但是这种方法在 Roslyn 中还没有开发出来。例如,如果文件发生更改,分析器不会收到有关更改的通知。
例如,您可以查看 SonarLint repository。
此外,请关注 this GitHub issue,其中正在讨论如何在即将推出的 Roslyn 版本中完成参数和数据共享。