.NET の Qodana コミュニティ
Qodana Community for .NET は、ReSharper に基づくコミュニティリンターであり、.NET プロジェクトの静的分析を提供します。ReSharper のすべての機能が組み込まれており、次のことに役立ちます。
異常なコードと考えられるバグを検出
デッドコードを削除する
スペルの問題をハイライトする
全体的なコード構造を改善する
コーディングのベストプラクティスを紹介する
インスペクションの結果を Qodana クラウドにアップロードする
Qodana Community for .NET を使用すると、C# 言語および Visual Basic.NET (VB.NET) 言語を使用する .NET Core プロジェクトをインスペクションできます。.sln
ソリューションファイルを含むプロジェクトの C/C++ インスペクションもサポートします。
サポートされている機能
Qodana Community for .NET リンターは、次の Qodana 機能を提供します。
プロジェクトをローカルで分析する
プロジェクトを準備する
ローカルマシン上で Qodana Community for .NET を実行する予定がある場合は、このマシン上の Docker が稼働していることを確認してください。
デフォルトでは、Qodana は単一のソリューションファイルを見つけて使用しようとします。ソリューションファイルが存在しない場合は、プロジェクトファイルを見つけようとします。プロジェクトに複数のソリューションファイルが含まれている場合は、--solution
オプションとソリューションファイルへの相対パスを使用して正確なファイル名を指定する必要があります。例: Qodana が常に MySolution.sln
ソリューションファイルを分析するようにするには、次を使用できます。
Qodana Community for .NET では、リポジトリルートからソリューションまたはプロジェクトファイルへの相対パスが必要です。
qodana.yaml
ファイルで設定できます。
あるいは、--solution
オプションを使用してこれを行うこともできます。
プロジェクトにソリューションファイルが含まれておらず、複数のプロジェクトファイルが含まれている場合は、--project
オプションとプロジェクトファイルへの相対パスを使用する必要があります。例: MyProject.csproj
プロジェクトファイルの場合、次の構成を qodana.yaml
ファイルに保存できます。
あるいは、--project
オプションを使用してこれを行うこともできます。
Qodana Community for .NET は、 qodana.yaml
ファイルを使用したインスペクション構成をサポートしていません。これらの目的には、.editorconfig
および .DotSettings
ファイルを使用できます。それに加えて、Qodana Community for .NET は Roslyn アナライザーをサポートしており、各アナライザーは個別のインスペクションと見なされます。.editorconfig
ファイルを使用して Roslyn アナライザーを構成できます。これは実験的な機能であるため、自己責任で使用してください。
ソリューションを構成する
ソリューション構成は、ソリューション内のどのプロジェクトをビルドするか、およびソリューション内の特定のプロジェクトにどのプロジェクト構成を使用するかを定義します。
新しく作成された各ソリューションには Debug
構成と Release
構成が含まれており、カスタム構成で補完できます。
qodana.yaml
ファイルで現在のソリューションの構成を切り替えることができます。
あるいは、--configuration
オプションを使用してこれを行うこともできます。
デフォルトでは、ソリューションプラットフォームは Any CPU
に設定されており、qodana.yaml
ファイルでオーバーライドできます。
あるいは、--platform
オプションを使用してこれを行うこともできます。
プロジェクトのビルド
Qodana Community for .NET が開始されると、プロジェクトがビルドされます。プロジェクトのビルドが失敗すると、コード分析を実行できなくなります。
カスタムビルドを実行したい場合は、リンターの実行中に --no-build
オプションを使用します。
この場合、 qodana.yaml
ファイルの bootstrap
キーで、プロジェクトのビルド方法を指定したり、Qodana に渡す前にパイプラインでビルドを実行したりできます。
リンターを実行する
次のコマンドを使用して、Qodana Community for .NET リンターの Dockerized バージョンを実行します。
ここで、QODANA_TOKEN
変数はプロジェクトトークンを指定します。Qodana がコードのインスペクションを完了したら、Qodana クラウド(英語)を開いてインスペクションレポートを表示できます。
次のステップ
関連ページ:
![](https://resources.jetbrains.com/help/img/qodana/2024.1/qc-about-diagram.png)
Qodana クラウド
Qodana を複数のプロジェクトまたはリポジトリで実行する場合、特にコードベースが複数のサーバーと仮想プライベートネットワークに分散されていて、各チームが独立して作業している場合は、すべての分析レポートを 1 か所に読み込んで集約すると便利です。このような場合、すべての Qodana インスタンスからレポート情報を収集して表示するための集中型ソリューションが役立ちます。Qodana クラウドは、さまざまな Qodana レポートを蓄積し、プロジェクトの進捗状況を一元的に追跡するのに役立つクラウ...
![](https://pleiades.io/icons/jetbrains_logo.png)
プロジェクトトークン
一般に利用可能な有料リンターでは、Qodana の実行中に変数を使用してプロジェクトトークンを提供する必要があります。例:qodana scan \ -e QODANA_TOKEN="<qodana-cloud-token>"docker run \ -v $(pwd):/data/project/ \ -e QODANA_TOKEN="<qodana-cloud-token>" \ jetbrains/qodana-<linter> 変数には、Qodana リ...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/baseline-enabled.png)
ベースライン
ベースラインは、特定の Qodana 実行時に取得され、ファイルに含まれているコードベースの問題のスナップショットです。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新しい問題、変更されていない問題、解決された問題を確認できます。この機能は、Community、Ultimate、Ultimate Plus ライセンスとその試用版で利用可能なすべてのリンターでサポートされています。使い方:ベースラインなしで Qodana を実行すると、現在の実行時に検出された問題を確認...
![](https://resources.jetbrains.com/help/img/dotnet/2024.1/settings_default.png)
ReSharper 設定の管理と共有
ReSharper は、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例: 記号のアイコンとチーム設定のコード形式を個人設定で保存し、これらの設定を自動的に組み合わせることができます。設定の特定のサブセットを VCS に保持することにより、チーム内の設定を同期できます。ReShar...