c# - SonarLint 意图说明

标签 c# sonarlint

我正在寻找一个将 VS 与 Sonar 集成的扩展,以避免等待 Sonar 运行以获得对我的代码的反馈。除了通过 Sonar UI 共享反馈(提供共享规则集、历史记录、趋势、分析...)之外,实时反馈非常有值(value)。

我在去年看到了 Eclipse 和 IntelliJ 的插件,它们运行 Sonar 分析(基于共享规则集),还利用增量分析......

最近,我找到了vssonarextension这似乎对 Visual Studio 中的 C# 项目做了几乎相同的事情(增量和预览分析)。 但我也找到了官方的 SonarLint(最近从 SonarQube for C# 重命名),但我无法理解它是如何工作的。它似乎与 SonarQube 服务器断开连接并重新实现已经在服务器上实现的规则(通过 C# 插件),我错了吗?你能澄清一下吗?

最佳答案

SonarLint for Visual Studio 基于新的 .NET 编译器框架 (Roslyn),它在 Visual Studio 2015 中提供。此扩展适用于个人开发人员机器,并且(目前)未连接到 SonarQube 服务器。

要在开发人员机器之间共享一组通用规则,您可以保存并提交一个规则集文件以及您的解决方案。在每台开发人员机器上,此规则集文件将由 .NET 编译器框架获取,因此也由 SonarLint 获取。 (如果您不想安装 SonarLint VS 扩展,您可以选择以 Nuget package 的形式在解决方案中提供此功能)

要在 SonarQube 服务器上查看分析结果,您需要使用 MsBuild SonarQube Runner (more info)。这在内部使用了 SonarLint 程序集,并添加了一些需要在服务器上指定的参数的规则。

关于c# - SonarLint 意图说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096879/

相关文章:

java - "Serializable"类中的字段应该是 transient 的或可序列化的

python - PyCharm SonarLint 如何查看所有文件的所有问题?

grails - 如何使用 Sonarlint for IntelliJ 分析 Groovy 代码?

c# - Datagridview 行过滤器

c# - 2D 碰撞检测不起作用

c# - 使用 LINQ 将 2D 网格转换为 'diamond' - 这可能吗?

java - Sonar Eclipse 插件未检测到重复 block

c# - "Fluent methods may not be invoked on a Query created via CloudTable.CreateQuery<T>()"异常

c# - Web 自定义控件数据存储位置

Eclipse 中的 SonarLint 插件更改每个 ".project"文件