Skip to main content

Enterprise Server 3.21 は、現在リリース候補として使用できます。

CodeQL ワークスペースのセットアップ

CodeQLを使用する場合は、標準のライブラリとクエリにアクセスする必要があります。

CodeQL ワークスペースの設定

github/codeql リポジトリから標準ライブラリとクエリへのアクセス権を拡張機能に付与するには、いくつかの方法があります。

  • CodeQL スターター ワークスペースを使用します。このワークスペースには、codeql-custom-queries-LANGUAGE形式で名前が付けられた一連のディレクトリが含まれています。 これらは、標準ライブラリを使用して、言語ごとに独自のカスタム クエリの開発を開始できるよう準備されています。 開始するのに役立つクエリの例もいくつか用意しています。 これは推奨される方法です。

  • CodeQLの既存のワークスペースを更新します。 この方法は、高度な知識を持つユーザーに推奨されます。

  • CodeQL CLI ユーザーは、抽出された CodeQL CLI アーカイブを含むディレクトリを開くことができます。

メモ

CodeQL リポジトリは、スターター ワークスペースにサブモジュールとして含まれています。 git submodule update --remoteを定期的に使用して、サブモジュールを最新の状態に保ち、新しいバージョンのVS Code拡張機能とCodeQL CLIとの互換性を維持する必要があります。

  1. vscode-codeql-starter リポジトリをコンピューターに複製します。 git clone --recursive または git submodule update --init --remote を複製後に使用することで、サブモジュールを必ず含めるようにしてください。

  2. VS Codeで、[ファイル]、[ファイルからワークスペースを開く] の順にクリックし、ワークスペース リポジトリのチェックアウトからvscode-codeql-starter.code-workspace ファイルを開きます。

オプション 2: CodeQL 用に既存のワークスペースを更新する (詳細)

  1. VS Codeで[ファイル]、[ワークスペースへのフォルダーの追加]の順に選択し、CodeQL リポジトリのローカル チェックアウトを見つけます。

  2. [新しいフォルダー] または [ワークスペースにフォルダーを追加] オプションを使用してターゲット言語ごとに 1 つの新しいディレクトリを作成し、カスタム クエリとライブラリを保持します。

  3. 各ターゲット言語ディレクトリに qlpack.yml ファイルを作成します (maingithub/codeql ブランチには既にこれらのファイルがあります)。 これにより、そのディレクトリのターゲット言語 CodeQL CLI とその依存関係が示されます。 CodeQL は、開いているすべてのワークスペース ディレクトリまたはユーザーの検索パスで依存関係を検索します。

    たとえば、C++ のCodeQL標準ライブラリに依存my-custom-cpp-packカスタム CodeQL ディレクトリを作成するには、次の内容を含むqlpack.yml ファイルを作成します。

    name: my-custom-cpp-pack
    version: 0.0.0
    libraryPathDependencies: codeql/cpp-all
    

qlpack.yml ファイルを追加する必要がある理由の詳細については、「CodeQL パックを使った分析のカスタマイズ」を参照してください。

オプション 3: 抽出された CodeQL CLI アーカイブを含むディレクトリを開く

メモ

このオプションでは、 CodeQL CLIを設定する必要があります。 詳細については、「CodeQL CLI を設定する」を参照してください。

VS Codeで、CodeQL CLI .zip アーカイブを抽出したディレクトリを開き、CodeQL ディレクトリ (codeql-home など) を作成します。