我正在寻找一个扩展来集成VS和Sonar,以避免等待Sonar运行来获得对我的代码的反馈。除了通过Sonar UI共享反馈之外,实时反馈也非常有价值(提供共享规则集、历史记录、趋势、分析……)。
我在过去几年看到过Eclipse和IntelliJ的插件,它们正在运行声纳分析(基于共享规则集),还利用了增量分析……
最近,我发现vssonarextension似乎对Visual Studio中的C#项目做了几乎相同的事情(增量和预览分析)。但我也找到了官方的SonarLint (最近从SonarQube重命名为C#),但我不明白它是如何工作的。它似乎断开了与SonarQube服务器的连接,并重新实现了服务器上已经实现的规则(通过C#插件),我错了吗?你能澄清一下吗?
发布于 2015-08-19 22:13:01
SonarLint for Visual Studio基于新的.NET编译器框架(Roslyn),该框架在Visual Studio2015中发布。这个扩展在单独的开发人员机器上工作,并且(目前)没有连接到SonarQube服务器。
要在开发人员计算机之间共享一组通用规则,您可以将规则集文件与解决方案一起保存并提交。在每台开发人员机器上,这个规则集文件将被.NET编译器框架拾取,因此也会被SonarLint拾取。(如果您不想安装SonarLint VS扩展,您可以选择以Nuget package的形式随解决方案一起提供此功能)
要在SonarQube服务器上查看分析结果,您需要使用MsBuild SonarQube Runner (more info)。这将在内部使用SonarLint程序集,并添加一些需要在服务器上指定的参数的规则。
发布于 2015-08-27 22:49:56
用于Visual Studio的
msbuild构建过程中捕获有关项目的信息,强制执行FxCop,等等。是的,在1.0版本中,end阶段将调用声纳运行器,但这实际上只是一个实现细节。较新版本的SonarQube服务器将允许通过web服务上传分析报告,而不是依赖于声纳跑步者对数据库的直接访问。因此,在未来,我们可以想象一个纯C#实现的MSBuild SonarQube运行器,它可以在不安装Java.如果你想了解更多关于它是如何工作的细节,请随时查看源代码:
https://stackoverflow.com/questions/32096879
复制相似问题