CodeQL用Visual Studio Code拡張機能の設定について
CodeQL拡張機能のVisual Studio Codeには、次のような多数の設定を変更できます。
- 拡張機能が使用する CodeQL CLI のバージョン。
- 拡張機能が前のクエリを表示する方法。
- 拡張機能が前のクエリを実行する方法。
CodeQL拡張機能の設定の編集
-
[拡張機能] ビューを開き、 CodeQL を右クリックし 、[拡張機能の設定] をクリックします。
![右クリック メニューが表示され、[拡張機能の設定] が濃いオレンジ色で囲まれた [拡張機能] ビューのスクリーンショット。](/assets/cb-152951/images/help/security/codeql-for-vs-code-extensions-view.png)
-
[設定] ウィンドウで、必要に応じて、設定を編集します。 新しい設定は自動的に保存されます。
![VS Code 内に表示される [VS Code 向け CodeQL の拡張機能設定] ウィンドウのスクリーンショット。](/assets/cb-188490/images/help/security/codeql-for-vs-code-extension-settings.png)
ヒント
または、 VS Code Command Palette を開き、[ ユーザー設定を開く (JSON)] を選択して、JSON 形式で設定を編集することもできます。
のバージョンの選択
既定の動作をオーバーライドして特定のバージョンのCodeQL CLIを使用するには、拡張機能の設定でCodeQL CLIの「実行可能パス」を指定し、CodeQL CLIの既存のコピーを指すように設定します。 つまり、codeql (Linux and macOS) または codeql.exe (Windows) という名前のファイルです。 規定動作の詳細については、「AUTOTITLE」を参照してください。
Query History 項目のラベルを変更する
Query History の [形式] 設定は、Query History で拡張機能がクエリを一覧する方法を制御します。 既定では、各項目には次の形式のラベルがあります。
QUERY-NAME on DATABASE-NAME - QUERY-STATUS NUMBER-OF-RESULTS [QUERY-RUNTIME]
既定のラベルをオーバーライドするには、Query History の項目に別の形式を指定します。
Query History 項目の維持期間を変更する
既定では、[Query History] ビューの項目は、30 日間保持されます。 [クエリ履歴: TTL] 設定を変更することで、別の有効期間 (TTL) を設定できます。 項目を無期限に保持するには、値を [0] に設定します。
クエリをローカルで実行するための設定を構成する
[実行中のクエリ] には、いくつかの設定があります。 たとえば、クエリの実行速度が遅すぎてタイムアウトが頻繁に発生する場合は、[実行中のクエリ: メモリ] 設定を変更してメモリを増やすことができます。
クエリのパフォーマンスを調べるには、[実行中のクエリ: デバッグ] 設定を有効にして、タイミングとタプル数を含めるようにします。 これにより、"出力" ビューの CodeQL [クエリ サーバー] タブのログに表示されます。 タプル数は、クエリによって計算された述語のサイズを示すので便利です。
クエリ サーバーのログをカスタムの場所に保存するには、[実行中のクエリ: カスタム ログ ディレクトリ] 設定を編集します。 カスタム ログ ディレクトリを使用する場合、拡張機能は、各ワークスペース セッションの後にログを自動的に削除するのではなく、完全に保存します。 これは、ログを調査して、クエリのパフォーマンスを向上させる場合に便利です。
バリアント分析の設定を構成する
[バリアント分析] の下には、バリアント分析用の GitHub リポジトリのリストを定義または編集したり、別のコントローラー リポジトリに変更したりするために使用できる設定がいくつかあります。 コントローラー リポジトリの目的と要件については、「AUTOTITLE」を参照してください。
Visual Studio Codeという名前の`databases.json` ワークスペース内のファイルを編集して、[バリアント分析リポジトリ] ビューに表示される項目を編集することもできます。 このファイルには、ビューに表示されるすべての項目の JSON 表記が含まれています。 [エディター] ウィンドウで `databases.json` ファイルを開くには、[バリアント分析リポジトリ] ビューの右上にある **{ }** アイコンをクリックします。 その後、リポジトリ、組織、リストの構造化された表記をビューに表示できます。 例えば次が挙げられます。
{
"version": 1,
"databases": {
"variantAnalysis": {
"repositoryLists": [
{
"name": "My favorite JavaScript repos",
"repositories": [
"facebook/react",
"babel/babel",
"angular/angular"
]
}
],
"owners": [
"microsoft"
],
"repositories": [
"apache/hadoop"
]
}
},
"selected": {
"kind": "variantAnalysisSystemDefinedList",
"listName": "top_10"
}
}
このファイルを直接編集することで、ビューに表示される項目を変更したり、新しい項目を追加したりできます。
データベースを追加するための設定を構成する
データベース ソース フォルダーをワークスペースに自動的に追加するには、[データベースを追加: ワークスペースへのデータベース ソースを追加] 設定を有効にします。
既定では、この設定は無効になっています。 データベースのソース コードを定期的に閲覧する場合 (たとえば、コードの抽象構文ツリーを表示する場合) に、この設定を有効にできます。 詳細については、「ソース コードの構造の探索」を参照してください。
メモ
単一フォルダー ワークスペース内にいる場合、データベース ソース フォルダーを追加すると、ワークスペースがマルチルート ワークスペースとしてリロードされます。 これにより、Query History とデータベース リストがリセットされる場合があります。
この設定を有効にする前に、ワークスペースをマルチルート ワークスペースとして保存することをお勧めします。 詳細については、ドキュメントのVisual Studio Code」を参照してください。
クエリをローカルでテストするための設定を構成する
クエリのテストに使用されるスレッドの数を増やすには、[実行中のテスト: スレッド数] 設定を更新します。
テストの実行時に追加の引数を CodeQL CLI に渡すには、[テストの実行: 追加のテスト引数] 設定を更新します。 使用可能な引数の詳細については、「AUTOTITLE」を参照してください。
テレメトリとデータ コレクションの設定を構成する
CodeQL拡張機能がテレメトリ データを収集するかどうかを構成できます。 この機能は、既定では無効になっています。 詳細については、「[AUTOTITLE](/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code)」を参照してください。
拡張機能で使用される GitHub URL の変更
既定では、CodeQL拡張機能のVisual Studio Codeは、GitHub.comでホストされているリポジトリを分析するように構成されます。 データ所在地付き GitHub Enterprise Cloudを使用する場合は、"GitHub エンタープライズ URI" 設定を使用してサイトの URL を指定できます。
設定で GitHub URL を指定する
-
[拡張機能] ビューを開き、 CodeQL を右クリックし 、[拡張機能の設定] をクリックします。
-
[設定] ウィンドウで、 GitHub 認証設定が見つかるまで下にスクロールし、 データ所在地付き GitHub Enterprise Cloudの URL を入力します。 新しい設定は自動的に保存されます。
![[URI] フィールドが濃いオレンジ色で囲まれている [GitHub 認証] の [拡張機能] 設定のスクリーンショット。](/assets/cb-83052/images/help/security/codeql-for-vs-code-set-ghe-uri.png)
または、 CodeQL の設定が格納されている JSON ファイルで URL を定義することもできます。
"github-enterprise.uri": "SUBDOMAIN.ghe.com",
拡張機能で設定した GitHub URL を使用する場合
GitHub Enterprise URI (`github-enterprise.uri`) が定義されている場合、拡張機能では次の URL が使用されます。
* GitHub からのデータベースダウンロード要求
- バリアント分析用のリポジトリの一覧を作成する
メモ
データ所在地付き GitHub Enterprise Cloud には、すべてのリポジトリを表示するための認証が必要であるため、データをダウンロードまたは分析する前に認証する必要があります。 さらに、バリアント分析用の [上位 XX リポジトリ] リストには表示されません。詳細については、[「AUTOTITLE」](/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis)を参照してください。
詳細については、次を参照してください。
-
[ ](https://code.visualstudio.com/docs/configure/settings)ドキュメントのVisual Studio Code