3

Visual Studio 2015 の「接続モード」で SonarQube 5.4 と SonarLint 2.0 をセットアップしました。サーバーでルールの重大度をカスタマイズした場合を除いて、すべて正常に動作しているように見えますが、それらのカスタム重大度設定は Visual Studio ルール セットに表示されません。 .

手順は次のとおりです。

  1. サーバー上のルールの重大度をカスタマイズします。たとえば、デフォルトの「情報」から「重大」に変更します。
  2. 「接続モード」のセットアップが完了したので、ソリューションを同期して新しいバージョンのルール セットをプルダウンします。
    • 注: 「接続モード」を問題として除外するために、「SonarLint for Visual Studio ルール セット」のパーマリンクを使用して、SonarQube の「品質プロファイル」ページからルール セットを手動でダウンロードしました。
  3. 新しくダウンロードしたルールセット ファイルを開き、ルールがまだデフォルトの重大度に設定されていることを確認します (この例では、ルールセットはデフォルトの「情報」重大度をルールセット ファイルの「警告」として表示しています。更新されていると思われます) 「エラー」に)。

ダウンロードしたルールセット ファイルが変更されるように見える唯一のことは、サーバー上でルールをアクティブ化/非アクティブ化したときに、正しく追加/削除された場合です。

これは SonarQube のバグですか? それとも、ワークフローが欠落しているだけですか?

これは、フォローアップの質問につながります: SonarQube サーバーの重大度の設定は、Visual Studio のルールセットの設定にどのようにマップされますか? SonarQube の "Info" が Visual Studio の "Info" にマップされないことに気付きました。次のマッピングのようなものを期待していました。

    SonarQube ビジュアル スタジオ
    --------- -------------
    ブロッカー = エラー
    クリティカル = エラー
    メジャー = エラー
    マイナー = 警告
    情報 = 情報
4

1 に答える 1

0

問題は、SonarQube と Visual Studio の間に 1 対 1 の重大度マッピングがないことです。そのため、安全な解決策を選択し、すべてを警告としてエクスポートし、エラーとしては何もエクスポートしませんでした。これは、コンパイルが中断されるためです。

ルールセットをローカルで変更し、ルールセット ファイルを強化して、問題をエラーとしてマークすることができます。SonarQube との再同期によって品質プロファイルが強化された場合、変更は元に戻りません。

この問題に対処するために、次のチケットが作成されていることに注意してください: https://jira.sonarsource.com/browse/SONARCS-591

于 2016-04-21T06:43:12.273 に答える