Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add `codeql` executable to PATH of VS Code Terminal

オープン
#3,006 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
typescript, vscode

調査の方向性

extension.ts の activate 関数から始めて、VS Code の environmentVariableCollection サポートを確認します。Proof of Concept と、PATH の順序、CLI の更新、カスタムパス、ターミナルのアクティベーションに関する未解決の疑問を比較します。意図した動作が定義され、サポート対象の VS Code ターミナルで codeql が利用可能になれば完了です。

索引モデルが issue の本文から書いたものです。

説明

enhancement VSCode

Is your feature request related to a problem? Please describe.
In some cases it is still necessary to use the CodeQL CLI, such as for creating a database (see also #306). If you don't want to manually install the CodeQL CLI but instead want to rely on the extension installing the latest version, this is a bit cumbersome because the executable is not by default available on the PATH, and its directory name (the distributionX part) changes after every CodeQL CLI update.

Describe the solution you'd like
At least the extension could make the codeql executable available in the VS Code Terminal, see for example https://code.visualstudio.com/updates/v1_46#_environment-variable-collection, and possibly related https://github.com/microsoft/vscode-python/issues/11039 (might contain useful information and links).

Open questions:

  • Should this be opt-in / opt-out (or always active without being possible to deactivate)?
  • Should it prepend or append the CodeQL CLI directory to the PATH?
    (would make a difference if the user has already another codeql executable on the PATH)
  • Will this correctly handle CodeQL CLI updates performed by the extension (automatic or manually triggered)?
    (or will codeql not be available in all open terminals afterwards anymore)
  • Will this correctly handle setting a custom CodeQL CLI path in the settings while the extension is running?
    (and what is the 'correct' behavior? maybe it is desired that already open Terminals keep using the previously used CodeQL CLI)
  • Will codeql be available in the Terminal even if the extension hasn't been activated yet?
    (looks like this is the case if the extension had been activated previously when VS Code was open; not sure why this works)

As proof of concept I added locally the following to the activate function in extension.ts:

const collection = ctx.environmentVariableCollection;
const separator = process.platform === "win32" ? ";" : ":";
collection.prepend(
  "PATH",
  `C:\\Users\\user\\AppData\\Roaming\\Code\\User\\globalStorage\\github.vscode-codeql\\distribution16\\codeql${separator}`,
);

And that seems to work, making codeql available in the VS Code Terminal (if opened after the extension has been activated).

Describe alternatives you've considered

  • Let the extension add the CodeQL CLI globally to the PATH, so it is available even outside of VS Code
    Probably not easily possible in a portable way, might make it difficult to update the PATH when the CodeQL CLI is updated, and might also not properly update the PATH when the extension is uninstalled.
  • The user has to manually install CodeQL CLI, add it to the PATH and specify it in the extension settings
    They won't receive automatic updates this way though.
主要言語
TypeScript
スター
539
フォーク
240
平均マージ
2日 6時間
マージ済み PR(30日)
29

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/vscode-codeql のほかの issue

github/vscode-codeql の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。