VSCode のターミナルでは、環境変数の設定が引き継がれない事がある

env-setting システム開発

Windows11 にて、QEMUというCPUをエミュレートするアプリを使おうとしたところ、環境変数を追加しておく必要があったので、設定を追加しました。

具体的には、こんな感じです。

windows-powerShell-vscode-env-01

windows-powerShell-vscode-env-02

windows-powerShell-vscode-env-03

windows-powerShell-vscode-env-04

設定後、アプリを実行してみると、PowerShell を通常通り起動した時と、VSCode のコンソールから起動した時で、実行結果が異なりました。

以下、実行結果です。

(PowerShell を通常起動)
windows-powerShell-vscode-env-05

(VSCode のターミナル)
windows-powerShell-vscode-env-06

原因としては、VSCode のターミナルは(PowerShell またはコマンドプロンプト)、VSCode の起動時に設定された環境変数を引き継ぐため、PATH を変更しても、すぐに反映されないらしい。

実際、調べてみると、環境変数に値が追加されていませんでした。

(PowerShell を通常起動)
windows-powerShell-vscode-env-07

(VSCode のターミナル)
windows-powerShell-vscode-env-08

反映させるには、VSCode の “terminal.integrated.env.windows” のセクションに、追加したい環境変数を追記します。

手順としては、Ctrl + Shift + P を押し、出てくるウィンドウに、「Preferences: Open User Settings (JSON)」と入力して、ファイルを選択。

windows-powerShell-vscode-env-09

settings.json の修正例。
“terminal.integrated.env.windows” のセクションを追記します。
“PATH” の内容は、好きに置き換えてください。

windows-powerShell-vscode-env-10

設定後、VSCode のターミナルを再起動。

こんな感じで、VSCode から起動したターミナルからも、環境変数を認識するようになりました。

windows-powerShell-vscode-env-11

別にこんな事しなくても、Windowsを再起動すると認識する事もあるみたいです。
再起動しても上手く行かない場合に、この設定を入れてみればいいかと思います。

コメント

タイトルとURLをコピーしました