我正在使用这个 docker 映像来分析我的代码:codacy/codacy-sonar-csharp https://github.com/codacy/codacy-sonar-csharp
效果很好。但我对 SonarLint.xml 配置有一些问题,找不到任何相关的具体文档或信息。
我正在使用这样的东西
codacy:
image: codacy/codacy-sonar-csharp
volumes:
- ./:/src/MyProject/
- ./SonarLint.xml:/src/SonarLint.xml
我什至不需要执行任何特定命令。它将分析 /src 文件夹中的任何内容。因此,它将 SonarLint.xml 传递给它。 但现在它开始变得非常好奇。
<?xml version="1.0" encoding="UTF-8"?>
<AnalysisInput>
<Rules>
<Rule>
<Key>S3904</Key>
<Parameters>
<Parameter>
<Key>enabled</Key>
<Value>false</Value>
</Parameter>
</Parameters>
</Rule>
</Rules>
</AnalysisInput>
我想关闭S3904,对吧? 好吧..现在它只会输出S3904! 我不明白为什么!
如果我不会移动这个 SonarLint.xml 配置文件并在没有任何配置的情况下开始我的代码分析。它将输出所有错误和警告。
如果我按照 GitHub 中描述的示例进行操作。 我的配置文件会是这样的
<?xml version="1.0" encoding="UTF-8"?>
<AnalysisInput>
<Rules>
<Rule>
<Key>S103</Key>
<Parameters>
<Parameter>
<Key>maximumLineLength</Key>
<Value>24</Value>
</Parameter>
</Parameters>
</Rule>
</Rules>
</AnalysisInput>
输出与S3904相同。现在它只会输出 S103 消息。
{"filename":"Program.cs","message":"Split this 46 characters long line (which is greater than 24 authorized).","patternId":"S103","line":8}
这根本不对..我想要完全相反! 但是有关所有这些的文档在哪里?
编程应该帮助人们并减少所有不必要的工作。 在这里..我什至无法想象我要花多少时间来映射所有错误!太疯狂了
对于其他人来说,sonarlint.xml 文件将接管 SonarC# 和 SonarVB 包的配置。 意思是,在这个问题中,因为用户只列出了一条规则,所以它只对该包使用了该一条规则。
我也想从 sonarqube 或 codacy 找到示例 sonarlint.xml 文件,以在我的存储库中实现配置文件。