【问题标题】:How to set stylecop.json creating Stylecop Anayzers plugin for Sonarqube?如何设置 stylecop.json 为 Sonarqube 创建 Stylecop Anayzers 插件?
【发布时间】:2017-03-11 16:09:40
【问题描述】:

我想在 SonarQube 中为 Roslyn 使用 StyleCop 分析器的规则,为了做到这一点并按照创建的文档,我下载了 SonarQube Roslyn SDK,并生成了插件。

在我的开发环境中,我有一个添加配置的 JSON 文件 (stylecop.json):

{
  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
  "settings": {
    "documentationRules": {
      "companyName": "XXXXXX",
      "copyrightText": " My Copyright (c) ",
      "xmlHeader": true,
      "fileNamingConvention": "metadata"
    },
    "namingRules": {
      "allowedHungarianPrefixes": ["as", "do", "id", "if", "in", "is", "my", "no", "on", "to", "ui"]
    }
  }
}

此配置与 VS2015 完美配合,但是当我运行分析时,插件没有得到它,我知道我在创建插件时没有设置该文件。我可以重新创建插件,但如何为插件创建过程设置 JSON 文件?

【问题讨论】:

    标签: .net json plugins sonarqube stylecop


    【解决方案1】:

    Roslyn 分析器可以从文件中加载参数。这个 API 并不太严格,这意味着您可以轻松编写需要单个文件、多个文件或您能想到的任何参数加载的分析器。我们尚未在 SonarQube Roslyn API 中对此进行概括,因此无法定义其他文件。

    但是,您可以将项目设置为使用您的 stylecop.json,就像没有 SonarQube 出现在图片中一样。然后用于 MsBuild 的 SonarQube 扫描器将从 SonarQube 服务器拉下分析器 DLL,在构建期间将它们添加到您的项目中,并且使用最新版本它不会清除 AdditionalFiles 属性,因此您的 stylecop.json 将被传递给分析仪。

    【讨论】:

    • @tamas-sonarsource-team 我假设用于 MsBuild 的 SonarQube Scanner 将下拉分析器 DLL 并获取 json 文件,但它没有获取配置。由于使用了 JSON,Sonar 中出现了 VS 中没有出现的代码异味。
    • 你说的一个属性(AdditionalFiles)那个属性是属于Sonar的?到扫描仪?去项目?
    • 很抱歉给您带来了困惑。它属于 msbuild 项目。 AdditionalFiles 是 MsBuild 中的硬编码属性。看看这里:github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/…
    • 无法在 SonarQube 服务器上指定 .json。需要在msbuild项目中设置。
    • 我将标签更改为AdditionalFiles,但我不断收到相同的警告:field 'myParentSystem' must not use Hungarian notation
    猜你喜欢
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 2014-01-11
    • 2015-12-13
    • 2020-01-26
    相关资源
    最近更新 更多