Qodana 2024.1 ヘルプ

インスペクションプロファイル

インスペクションプロファイルは、インスペクション、これらのインスペクションが分析するファイルスコープ、およびインスペクションの重大度を定義します。このセクションでは、既存の Qodana プロファイルを使用する方法、独自のプロファイルを作成する方法、Qodana を使用してプロジェクトを分析するためのプロファイルを設定する方法について説明します。

既存の Qodana プロファイル

すぐに使用できる Qodana プロファイルは次のとおりです。

プロファイル名

説明

qodana.starter

qodana.recommended プロファイルのサブセット。Qodana ではデフォルトで有効になっています

qodana.recommended

次の例外を除き、IntelliJ IDEA のような JetBrains IDE のデフォルトプロファイルを実装します。

  • デフォルトでは、Qodana は特定の言語とフレームワークに対してのみ分析を提供します。つまり、たとえば、Groovy または JavaScript インスペクションは使用可能ですが、デフォルトでは無効になっています。IDE の INFORMATION 重大度のインスペクションも無効になっています。

  • IDE でのコードのハイライトに影響するいくつかのインスペクションとグローバルインスペクションが Qodana リンターから削除されました。

  • IDE でまだ利用可能な不安定なインスペクションは、Qodana リンターから削除されました。

qodana.starter および qodana.recommended プロファイルは GitHub(英語) でホストされているため、詳細を知ることができます。

既存の Qodana プロファイルを設定する方法については、プロファイルを設定するセクションを参照してください。

カスタムプロファイル

次の形式を使用してカスタムプロファイルを作成できます。

  • YAML が推奨フォーマットです。

  • XML は YAML の代替として使用できます。

カスタムプロファイルは、既存のプロファイルを上書きすることも、最初から作成することもできます。プロファイル構成は専用のファイルに含める必要があるため、プロジェクトの .qodana ディレクトリに保存することをお勧めします。

例: 既存の qodana.recommended プロファイルを使用し、さらに Java/Java language level migration aids インスペクションカテゴリを有効にするには、次の YAML 構成をプロファイルファイルに保存します。

name: "Configuring Qodana" baseProfile: qodana.recommended inspections: - group: "category:Java/Java language level migration aids" # Specify the inspection category enabled: true # Enable the inspection category

独自のプロファイルを作成したら、プロジェクトの .qodana ディレクトリにファイルを保存します。これにより、Qodana はコード分析中にこのファイルを無視できます。

カスタムプロファイルを設定する方法については、プロファイルを設定するセクションを参照してください。

プロファイルを設定する

YAML 設定

YAML ファイルは、ユニバーサルな Qodana 構成として機能します。つまり、 qodana.yaml ファイルを使用して Qodana を一度構成し、その後はそれを再利用して、Docker、GitHub、JetBrains IDE、または現在 Qodana でサポートされているその他のソフトウェアで Qodana を実行できます。設定は、これらすべてのプラットフォームで一貫しています。

qodana.recommended プロファイルを設定するには、プロジェクトルートに次の構成を含む qodana.yaml ファイルを保存します。

profile:     name: qodana.recommended

カスタムプロファイルを設定するには、qodana.yaml ファイルに、プロファイルファイルへの相対パスを含む次の構成を保存します。例:

profile:     path: .qodana/<custom-profile.yaml>

JetBrains IDE

  1. IDE で、ツール | Qodana | Qodana でコード分析を試してみるに移動します。

  2. Qodana の実行ダイアログの profile セクションに、プロファイル構成を貼り付けます。

    profile:   name: qodana.recommended

    結果の例を以下に示します。

    Configuring a Qodana profile
    profile:     path: .qodana/<custom-profile.yaml>

    結果の例を以下に示します。

    Configuring a custom profile
  3. Qodana の実行ダイアログで、qodana.yaml をプロジェクトルートに保存するオプションをオンにします。

    Saving qodana.yaml to a project root
  4. コードの分析を開始するには、実行をクリックします。

GitHub アクション

  1. GitHub UI の設定タブで、QODANA_TOKEN 暗号化シークレット(英語)を作成し、プロジェクトトークンをその値として保存します。

  2. GitHub UI のアクションタブで、新しいワークフローを設定し、.github/workflows/code_quality.yml ファイルを作成します。

  3. main、ブランチ、リリースブランチ、リポジトリに届くプルリクエストをインスペクションするには、ワークフロー構成を .github/workflows/code_quality.yml ファイルに保存します。

    name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - 'releases/*' # The release branches 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.1 with: args: --profile-name,qodana.recommended env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

    ここで、--profile-name オプションは qodana.recommended プロファイルを指定します。

    name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - 'releases/*' # The release branches 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.1 with: args: --profile-path,.qodana/<custom-profile.yaml> env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

    ここで、--profile-path オプションは、カスタムプロファイルを含むファイルへの相対パスを指定します。

ローカル実行

--profile-name オプションを使用して qodana.recommended プロファイルを設定できます。

docker run \ -v $(pwd):/data/project/ \ -e QODANA_TOKEN="<cloud-project-token>" \ jetbrains/qodana-<linter> \ --profile-name qodana.recommended
qodana scan \ -e QODANA_TOKEN="<cloud-project-token>" \ --profile-name qodana.recommended

--profile-path オプションを使用してカスタムプロファイルを設定できます。

docker run \ -v $(pwd):/data/project/ \ -v $(pwd)/.qodana/<custom-profile.yaml>:/data/project/myprofiles/<custom-profile.yaml> \ -e QODANA_TOKEN="<cloud-project-token>" \ jetbrains/qodana-<linter> \ --profile-path /data/project/myprofiles/<custom-profile.yaml>
qodana scan \ -v .qodana/<custom-profile.yaml>:/data/project/myprofiles/<custom-profile.yaml> \ -e QODANA_TOKEN="<cloud-project-token>" \ --profile-path .qodana/<custom-profile.yaml>

関連ページ:

コードインスペクション

各インスペクションは、コードをチェックし、コード内の異常なフラグメントを検出して修正するための条件のセットです。Qodana インスペクションは、さまざまな問題を見つけてハイライトし、デッドコードを見つけ、可能性のあるバグやスペルの問題を見つけ、全体的なコード構造の改善を促進します。インスペクションを使用して、Qodana は静的分析メカニズムを実装します。インスペクトペディア Web サイトにアクセスして、Qodana で使用されるインスペクションの詳細を確認できます。すべてのインスペクションは...

プロファイルを構成する

インスペクションプロファイルは、有効なインスペクション、これらのインスペクションが分析するファイルのスコープ、およびインスペクション重大度設定に関する情報を保持します。IntelliJ IDEA には、2 種類のプロファイルがあります。プロファイル IDE に保管は、IntelliJ IDEA 構成ディレクトリの inspection フォルダーに保存され、すべてのプロジェクトで使用できます。プロジェクトにコピーオプションを使用して、IDE プロファイルを現在のプロジェクトにコピーできます。プロファイル...

プロジェクト

プロジェクトは、Qodana レポートを蓄積します。各プロジェクトは、プロジェクトトークンによって一意に識別されます。このトークンは、Qodana レポートのアップロードに使用されます。プロジェクトの作成:オンボーディング段階では、Qodana Cloud がすでに最初のプロジェクトの作成を支援しているため、これらの手順は追加のプロジェクトを作成する場合にのみ適用されます。チームページで、ボタンをクリックします。以下で説明するウィザードの手順に従います。Qodana Cloud からアクセスでき...