我想禁用 C# 规则“删除此转换并编辑界面以添加缺少的功能”(csharpsquid:S3215)。不是一般情况下,而是针对文件夹“something\Business\Genome\*.cs”中的所有文件) (“某物”可以是一个或多个目录)
我正在尝试在此 SonarQube 项目上使用“忽略多个条件的问题”选项,但我无法找出正确的设置(或者也许此功能根本不起作用?)。
到目前为止我尝试过的组合:
Rule Key Pattern File Path Pattern csharpsquid:S3215 **/Business/Genome/*.cs csharpsquid:S3215 **\Business\Genome\*.cs csharpsquid:S3215 **//Business//Genome//*.cs *:S3215 **/Business/Genome/*.cs *:S3215 **\Business\Genome\*.cs *:S3215 **//Business//Genome//*.cs
我什至不知道是规则键模式还是文件路径模式不匹配...:-/
更新 08.03.16: 昨晚我进行了一些额外的测试。我没有在项目级别上进行配置,而是在全局级别上进行了配置,并且使用了
Rule Key Pattern File Path Pattern csharpsquid:S3215 **/?usiness/?enome/*.cs
排除大小写问题:也没有成功。
然后我只使用了
Rule Key Pattern File Path Pattern csharpsquid:S3215 **/*.cs
看看它是否有效,而且确实有效。 所以不知怎的,我的道路一定是错误的,但我不明白是怎么回事。
更新 08.03.16 (2): 这是构建服务器日志中的一行:
08:57:50.854 INFO - 0/658 files analyzed, starting to analyze: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome\Absence.cs
我很确定这不是外壳问题。但我还有另一个怀疑。我扫描整个解决方案,显然 SonarQube 将该解决方案中的每个项目视为一个组件,并单独扫描每个组件/项目。扫描路径是否可能与项目相关?因为我还在日志中看到了这一点:
08:57:43.701 INFO - Loading plugin stylecopanalyzers 08:57:43.924 INFO - Base dir: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome 08:57:43.924 INFO - Working dir: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\.sonarqube\out\.sonar... 08:57:44.103 INFO - Source paths: Absence.cs, ...
最佳答案
文件包含/排除基于相对于每个 SonarQube 模块(即 Visual Studio 项目)的路径。所以如果“Business”是一个VS项目,这确实行不通。
关于c# - 忽略多个标准不起作用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35840813/