Qodana 2024.3 ヘルプ

ネイティブモード

デフォルトでは、Qodana は Linux イメージに基づいて Docker を使用してリンターを実行します。特定のケースでは、プライベートパッケージを処理するか、Docker の不完全なサポートを提供するオペレーティングシステム上で Qodana を実行する必要があります。

これを克服するために、Qodana は、.NET 用の Qodana Community と C/C++ 用の Qodana を除くすべてのリンターに対してネイティブモードをサポートしています。Linux、macOS、Microsoft Windows でネイティブモードを実行できます。

この場合、Qodana は実行環境を再利用します。これにより、プロジェクトのビルドに使用するのとまったく同じ環境で Qodana を実行し、適切なオペレーティングシステムを使用し、すべてのリポジトリ資格情報にアクセスし、依存関係を解決することができます。

始める前に

すべてのリンターの一般的な手順

オペレーティングシステムで、Qodana Cloud プロジェクトトークンを含む QODANA_TOKEN 環境変数を保存します。

コマンドラインを使用して Qodana を実行する場合は、実行するマシンに Qodana CLI をインストールします。

Starting from version 2023.3 of Qodana, the sanity inspection will report in case the qodana.yaml file containing the bootstrap key is missing in your project directory. You can disable this inspection using the --disable-sanity option, or add this inspection to a baseline.

.NET 用 Qodana

一般的な手順に加えて、適切なバージョンの .NET SDK と必要なすべての依存関係がマシンにインストールされていることを確認してください。

Build the project before inspecting it using Qodana. You can do it by using the bootstrap key of the qodana.yaml file. The project building and artifact packaging stages should occur before Qodana or simultaneously with it. Because running Qodana may affect the project state and its files, it is advised to avoid reusing the same directory in your build pipelines any further.

You can also provide Qodana a pre-built project, or specify the build steps in your CI/CD pipeline. To remove warnings related to project building, in your repository create the empty qodana.yaml file.

使い方

qodana.yaml ファイルの ide オプションを使用してネイティブモードを有効にすることができます。

ide: <linter>

この表には <linter> 値のリストが含まれています。

この構成は、Qodana for .NET リンターの実行中に必要な JetBrains IDE バイナリファイルをダウンロードして使用するように Qodana に指示します。

以下は、Qodana をネイティブモードで実行する方法を示した例です。

  1. QODANA_TOKEN 変数が環境で定義され、適切なプロジェクトトークンを参照していることを確認します。必要に応じて、次のように定義できます。

    QODANA_TOKEN=<cloud-project-token>
  2. qodana.yaml ファイルを使用してネイティブモードをすでに有効にしている場合は、次のコマンドを使用します。

    qodana scan

    qodana.yaml ファイルを構成せずに Qodana を実行することもできます。

    qodana scan \    --ide <linter>

qodana.yaml ファイルを使用してネイティブモードをすでに有効にしている場合は、GitHub アクションセクションの基本構成サンプルを使用できます。

qodana.yaml ファイルを構成せずに Qodana を実行するには、GitHub リポジトリでワークフロー構成ファイルに移動し、--ide,<linter> オプションを指定します。

name: Qodana on: workflow_dispatch: pull_request: push: branches: - master - 'releases/*' jobs: qodana: runs-on: ubuntu-latest permissions: contents: write pull-requests: write checks: write steps: - uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit fetch-depth: 0 # a full history is required for pull request analysis - name: 'Qodana Scan' uses: JetBrains/qodana-action@v2024.3 with: args: --ide,<linter> env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

関連ページ:

プロジェクトトークン

一般に利用可能な有料リンターでは、Qodana の実行中に変数を使用してプロジェクトトークンを提供する必要があります。例:qodana scan \ -e QODANA_TOKEN=

クイックスタート

Qodana (2024.3) の現在のバージョンは、Java、Kotlin、Groovy、PHP、JavaScript、TypeScript、C#、Visual Basic、C、C++、Python、Golang プロジェクトを分析できるリンターを提供します。さまざまな機能を使用して、デフォルトのリンター構成を拡張することもできます。例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。JetBrains IDE、コマンドラインインターフェ...

ベースライン

ベースラインは、特定の Qodana 実行時に取得され、ファイルに含まれているコードベースの問題のスナップショットです。ベースライン機能を使用すると、現在のコードをベースライン状態と比較し、新しい問題、変更されていない問題、解決された問題を確認できます。この機能は、Community、Ultimate、Ultimate Plus ライセンスとその試用版で利用可能なすべてのリンターでサポートされています。使い方:ベースラインなしで Qodana を実行すると、現在の実行時に検出された問題を確認で...

.NET

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。.NET プロジェクトを分析するには、次の Qodana リンターを使用できます。.NET 用 QodanaJetBrains RiderUltimate と Ultimate Plus ネイティブソリューションと Docker イメージ C#、C/C++、VB.NET、JavaScript、TypeScript.NET の Qodana コミュニティ JetBra...