我在SonarCloud上有一个新项目正在分析一个相当新的C#解决方案,它目前包含少量代码。我已经安装了最新版本的SonarLint,并成功将项目连接到我设置的SonarCloud项目。 SonarCloud任务是VSTS构建定义的一部分,分析在构建时运行,结果报告给SonarCloud。
一些问题 - 例如“S2933 - 仅在构造函数中分配的字段应该是只读的”在SonarCloud中报告,并在本地运行代码分析时在VS IDE警告窗口中报告。这就是我所期待的。
其他问题,例如“S1451 - 添加或更新此文件的标题”仅在IDE中报告。
其他一些问题,例如“common-cs:InsufficientCommentDensity”仅在SonarCloud上报告,而不在IDE中报告。
我希望IDE和SonarCloud能够相互报告相同的问题;我的理解是,这是SonarLint连接模式的重点。
我已经在SonarCloud上创建了一个自定义质量配置文件,它继承了“C# - Sonar方式”并激活了每条规则,现在共有330条,虽然奇怪的是当我查看网站上前100条规则以外的任何内容时,我总是会看到“激活”按钮不会出现多少次点击它并刷新页面。
如果我查看SonarQube已添加到VS中的项目的规则集文件,它包含服务器质量配置文件中的330个规则,并且在所有规则旁边都有刻度。此规则集文件中还有10个左右的规则已停用,并且在SonarCloud上根本不显示。
如何使IDE和VSTS分析保持一致?
答案 0 :(得分:1)
有些规则确实有点奇怪。
S1451
具有参数(预期的文件头),因此除非您手动配置它,否则将被禁用。即使在连接模式下,SonarLint for Visual Studio也不支持参数同步。 This feature在我们的积压中,很可能我们很快就会开展工作。common-cs:*
是服务器端规则(例如,它在SonarQube / SonarCloud上运行),无法在SonarLint for Visual Studio中执行。您可以通过添加内容类似于this file (link)的新XML文件来配置S1451
和其他参数化规则,然后引用项目中的文件,如we do (link)。
我无法重现QualityProfile Active / Inactive状态问题,分享您正在使用的浏览器/版本会很有帮助,也许短暂的屏幕捕获视频可以很好地展示问题。< / p>
更新:显然我们的一个SonarQube开发人员设法通过QP规则激活/停用重现问题并创建了一个票证: https://jira.sonarsource.com/browse/SONAR-10685