Masteries

技術的なことや仕事に関することを書いていきます.

VSCodeで開かれたシェルであることを環境変数から知る方法

結論から述べると,

qiita.com

こちらのQiitaエントリの, 統合ターミナルかその他ターミナルかを判別するの項を読みましょう.


「VSCodeで開いたシェルだけ○○をする」といったことを実現しようと思った時, Googleなどで検索すると VSCODE_PID 環境変数で識別するとよい... という情報を得ることができたのですが, VSCode 1.26より VSCODE_PID 環境変数はセットされなくなったので, 上記エントリにもあるように, TERM_PROGRAM 環境変数で識別するようにしましょう.

# VSCodeで開かれたシェル
$ echo $TERM_PROGRAM
vscode

# 例: iTerm2で開かれたシェル
$ echo $TERM_PROGRAM
iTerm.app

...といった形で, どのプログラムでシェルを開いたか? という情報が TERM_PROGRAM 環境変数に入っているようです. これを知るまで数時間潰してしまったので, 備忘録のために書き記しておきます.