CodeQL ワークスペースのセットアップ
github/codeql
リポジトリから標準ライブラリとクエリへのアクセス権を拡張機能に付与するには、いくつかの方法があります。
-
CodeQL スターター ワークスペースを使用します。このワークスペースには、形式
codeql-custom-queries-LANGUAGE
で命名された一連のディレクトリが含まれています。 これらは、標準ライブラリを使用して、言語ごとに独自のカスタム クエリの開発を開始できるよう準備されています。 開始するのに役立つクエリの例もいくつか用意しています。 これが推奨される方法です。 -
CodeQL の既存のワークスペースを更新します。 この方法は、高度な知識を持つユーザーに推奨されます。
-
CodeQL CLI ユーザーは、抽出された CodeQL CLI アーカイブを含むディレクトリを開くことができます。
オプション 1: スターター ワークスペースを使用する (推奨)
Note
CodeQL リポジトリは、スターター ワークスペースにサブモジュールとして含まれています。 サブモジュールを最新の状態に保ち、新しいバージョンの VS Code 拡張機能および CodeQL CLI との互換性を維持するには、定期的に git submodule update --remote
を使用する必要があります。
-
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
ファイルを作成します (github/codeql
のmain
ブランチには既にこれらのファイルがあります)。 これにより、CodeQL CLI にそのディレクトリのターゲット言語とその依存関係が示されます。 CodeQL は、開いているすべてのワークスペース ディレクトリまたはユーザーの検索パスで依存関係を検索します。たとえば、
my-custom-cpp-pack
というカスタム CodeQL ディレクトリを C ++ 用の CodeQL 標準ライブラリに依存するようにするには、次の内容でqlpack.yml
ファイルを作成します。name: my-custom-cpp-pack version: 0.0.0 libraryPathDependencies: codeql/cpp-all
qlpack.yml
ファイルを追加する必要がある理由の詳細については、「CodeQL パックを使った分析のカスタマイズ」を参照してください。
オプション 3: 抽出された CodeQL CLI アーカイブを含むディレクトリを開く
Note
このオプションでは、CodeQL CLI を設定する必要があります。 詳しくは、「CodeQL CLI の設定」をご覧ください。
VS Code で、CodeQL CLI .zipアーカイブを抽出したディレクトリを開き、CodeQL ディレクトリを作成します (例 codeql-home
)。