Qodana 2024.1 ヘルプ

クイックスタート

Qodana (2024.1) の現在のバージョンは、Java、Kotlin、Groovy、PHP、JavaScript、TypeScript、C#、Visual Basic、C、C++、Python、Golang プロジェクトを分析できるリンターを提供します。さまざまな機能を使用して、デフォルトのリンター構成を拡張することもできます。

例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。

前提条件

Qodana ライセンスに応じて、試用ライセンスを取得し、Qodana Cloud でオンボーディングステージを完了する必要がある可能性があります。

CLI および GitHub で Qodana を実行するには、Qodana クラウドプロジェクトの作成後に使用可能なプロジェクトトークンを使用します。詳細については、「プロジェクトトークン」セクションを参照してください。

JetBrains IDE で Qodana を実行する

バージョン 2023.2 以降、Qodana は IntelliJ IDEA および PyCharm (Professional エディションと Community エディションの両方)、PhpStorm、WebStorm、GoLand、Rider で使用できます。

これは、IDE で Qodana を実行する方法を示す短いビデオです。

Running Qodana in an IDE

このビデオで示されているすべての手順の説明は次のとおりです。

  1. IDE で、問題ツールウィンドウに移動します。

  2. 問題ツールウィンドウで、サーバーサイド解析タブをクリックします。

  3. サーバーサイド解析タブで、ローカルで実行ボタンをクリックして Qodana を開始します。

  4. サーバーサイド解析タブでは、インスペクションの結果を表示できます。タブの上部には 2 つのリンクも含まれています。

    Links on the Server-Side Analysis tab

    ブラウザーでインスペクションレポートを開きます。

    Qodana report

    CI/CD パイプラインで Qodana を使用するための構成ウィザードを開きます。

    Qodana report

    Qodana および CI/CD パイプラインの詳細については、「CI システムとの統合」セクションを参照してください。

CLI を使用して Qodana を実行する

Qodana には、コードのローカル分析のための 2 つのオプションが用意されています。Qodana CLI(英語) は最も簡単に開始できるオプションです。あるいは、「Docker イメージ」タブから Docker コマンドを使用することもできます。

Qodana CLI をデフォルトモードで実行するには、Docker または Podman がインストールされ、ローカルで実行されている必要があります。Linux を使用している場合は、現在の非 root ユーザー(英語)で Docker を実行できるはずです。

  1. 利用可能なオプションを使用して、Qodana CLI をマシンにインストールします。

    Homebrew(英語) を使用してインストールします (推奨):

    brew install jetbrains/utils/qodana

    あるいは、インストーラーを使用して Qodana CLI をインストールすることもできます。

    curl -fsSL https://jb.gg/qodana-cli/install | bash

    nightly またはその他のバージョンは、次の方法でインストールできます。

    curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly

    Linux では、Go(英語) を使用して Qodana をインストールすることもできます。

    go install github.com/JetBrains/qodana-cli@latest

    Windows パッケージマネージャーを使用してインストールします (推奨):

    winget install -e --id JetBrains.QodanaCLI

    Chocolatey(英語) を使用してインストールします。

    choco install qodana

    Scoop(英語) を使用してインストールします。

    scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils scoop install qodana
  2. プロジェクトのルートディレクトリで、前提条件で説明されているプロジェクトトークンを含む QODANA_TOKEN 変数を宣言します。

    QODANA_TOKEN=<cloud-project-token>
    set QODANA_TOKEN=<cloud-project-token>
  3. Qodana の実行:

    qodana scan
    qodana scan

このセクションでは、Docker アプリケーションがマシンにデプロイされていることを前提としています。

  1. Docker Hub からイメージをプルします (最新バージョンを取得する場合にのみ必要です)。

    docker pull <image>

    ここで、image は、次の表の Qodana リンターの Docker イメージ名を示します。

    イメージ名:

    アプリケーション

    ジェットブレインズ /qodana-jvm:2024.1

    IntelliJ IDEA Ultimate に基づく、サーバー側プロジェクト用の Java および Kotlin。

    jetbrains/qodana-jvm-community:2024.1

    IntelliJ IDEA コミュニティに基づく、サーバー側プロジェクト用の Java および Kotlin。

    ジェットブレインズ /qodana-jvm-android:2024.1

    サーバー側プロジェクト用の Java および Kotlin。Android サポートを備えた IntelliJ IDEA に基づいています。

    ジェットブレインズ /qodana-php:2024.1

    PhpStorm に基づく PHP プロジェクト。

    ジェットブレインズ /qodana-python:2024.1

    PyCharm Professional をベースにした Python プロジェクト。

    jetbrains/qodana-python-community:2024.1

    PyCharm Community に基づく Python プロジェクト。

    ジェットブレインズ /qodana-js:2024.1

    WebStorm に基づく JavaScript および TypeScript プロジェクト。

    ジェットブレインズ /qodana-go:2024.1

    Goland に基づく Golang プロジェクト。

    ジェットブレインズ /qodana-dotnet:2024.1

    Rider に基づく .NET プロジェクト。

    ジェットブレインズ /qodana-cdnet:2024.1-eap

    ReSharper に基づく .NET プロジェクト。

    jetbrains/qodana-clang:2024.1-eap

    コンパイルデータベースを含む C および C++ プロジェクト。

  2. 次のコマンドを実行してコードベースを分析します。

    docker run \ -v <source-directory>/:/data/project/ \ -e QODANA_TOKEN="<cloud-project-token>" \ jetbrains/qodana-<linter>

    ここで、<source-directory> はプロジェクトのルートを指し、QODANA_TOKEN 変数には前提条件で説明されているプロジェクトトークンが含まれています。

  3. インスペクションの結果を確認するには、Qodana クラウドアカウントにアクセスしてください。

GitHub で Qodana を実行する

これは、GitHub で Qodana を構成して実行する方法を示す短いビデオです。

Running Qodana in GitHub

前提条件の章に従ってプロジェクトトークンをすでに生成していることを前提として、次の手順に従って GitHub で Qodana を構成します。

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

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

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

    name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - master # The 'master' 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 env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

次のステップ

関連ページ:

機能

Qodana を使用すると、コードインスペクションワークフローを大幅に強化できます。ゴールをより適切に達成するには、すぐに利用できるいくつかの機能を使い始めたい場合があります。ベースライン既存のコードの問題をいくつかのカテゴリにグループ化し、コードの進化を効率的に監視します CommunityUltimateUltimate Plus すべてのリンターコードカバレッジテストコードカバレッジのサポート UltimateUltimate PlusJVM 用 QodanaJS 用 QodanaPHP 用の...

オンボーディング

オンボーディングは、プロジェクトで作業するために Qodana を準備するための重要なステップであり、次のことが可能になります。プロジェクトリポジトリを Qodana クラウドに接続します、Qodana Cloud 組織、チーム、プロジェクトを作成する、Ultimate および Ultimate Plus リンターに必要なプロジェクトトークンを生成する、セットアップコードインスペクション、オンボーディングでは、JetBrains アカウントの情報 (ライセンスや会社など) が使用されます。以下に手...

プロジェクト

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

Qodana クラウド

Qodana を複数のプロジェクトまたはリポジトリで実行する場合、特にコードベースが複数のサーバーと仮想プライベートネットワークに分散されていて、各チームが独立して作業している場合は、すべての分析レポートを 1 か所に読み込んで集約すると便利です。このような場合、すべての Qodana インスタンスからレポート情報を収集して表示するための集中型ソリューションが役立ちます。Qodana クラウドは、さまざまな Qodana レポートを蓄積し、プロジェクトの進捗状況を一元的に追跡するのに役立つクラウ...

JetBrains IDE

JetBrains IDE で Qodana を実行して、コードベースをインスペクションできます。Qodana は、JetBrains Toolbox アプリ経由でインストールされたいくつかの JetBrains IDE (IntelliJ IDEA、PhpStorm、WebStorm、Rider、GoLand、PyCharm、Rider など) をサポートします。IDE を使用すると、次のことが可能になります。Qodana をローカルで実行する、Qodana クラウドに接続する、CI パイプライン...