【PowerShell】 VSCode の統合ターミナル上で実行されているか判定する


環境:

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.18362
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

解: $env:TERM_PROGRAM

if ($env:TERM_PROGRAM -eq "vscode") {
    # VSCode 内でのみ実行したい処理
}

VSCode の統合ターミナル上で実行したときのみ、上記変数には vscode という値が代入されます。

$env:TERM_PROGRAM_VERSION

同様に VSCode の統合ターミナル上では $env:TERM_PROGRAM_VERSION で VSCode のバージョンを取得できます。
特定のバージョン以降でのみ有効な機能を呼び出すようなときに使えそうですね。

小ネタでした。