CodeQL ワークスペースの設定
github/codeql
リポジトリから標準ライブラリとクエリへのアクセス権を拡張機能に付与するには、いくつかの方法があります。
-
CodeQL スターター ワークスペースを使用します。このワークスペースには、
codeql-custom-queries-LANGUAGE形式で名前が付けられた一連のディレクトリが含まれています。 これらは、標準ライブラリを使用して、言語ごとに独自のカスタム クエリの開発を開始できるよう準備されています。 開始するのに役立つクエリの例もいくつか用意しています。 これは推奨される方法です。 -
CodeQLの既存のワークスペースを更新します。 この方法は、高度な知識を持つユーザーに推奨されます。
-
CodeQL CLI ユーザーは、抽出された CodeQL CLI アーカイブを含むディレクトリを開くことができます。
オプション 1: スターター ワークスペースを使用する (推奨)
メモ
CodeQL リポジトリは、スターター ワークスペースにサブモジュールとして含まれています。 git submodule update --remoteを定期的に使用して、サブモジュールを最新の状態に保ち、新しいバージョンのVS Code拡張機能とCodeQL CLIとの互換性を維持する必要があります。
-
vscode-codeql-starter リポジトリをコンピューターに複製します。
git clone --recursiveまたはgit submodule update --init --remoteを複製後に使用することで、サブモジュールを必ず含めるようにしてください。 -
VS Codeで、[ファイル]、[ファイルからワークスペースを開く] の順にクリックし、ワークスペース リポジトリのチェックアウトから
vscode-codeql-starter.code-workspaceファイルを開きます。
オプション 2: CodeQL 用に既存のワークスペースを更新する (詳細)
-
VS Codeで[ファイル]、[ワークスペースへのフォルダーの追加]の順に選択し、CodeQL リポジトリのローカル チェックアウトを見つけます。
-
[新しいフォルダー] または [ワークスペースにフォルダーを追加] オプションを使用してターゲット言語ごとに 1 つの新しいディレクトリを作成し、カスタム クエリとライブラリを保持します。
-
各ターゲット言語ディレクトリに
qlpack.ymlファイルを作成します (mainのgithub/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 など) を作成します。