概要
ここ最近vimからVSCodeに乗り換えたのですが、VSCodeのターミナルで.zshrc
の設定が反映されないといった問題に苦戦したため、その解決策をまとめます。
筆者の環境
M2 MacBook Air(macOS 15.2)
VSCode 1.96.2
どういった問題か
.zshrc
に設定したエイリアスがVScodeのターミナルで実行できない問題に遭遇しました(Macの標準ターミナルでは実行できる)
プロファイルはzshにしているし、echo $SHELL
でパスを確認しても標準ターミナル(右側)と違いはないため、原因がわからず行き詰まっていました。
結論
以下をsettings.jsonに記載することでエイリアスが実行できるようになりました!
{
"terminal.integrated.inheritEnv": false
}
理由
以下に理由が記載されていました。
どうやらmacOSとLinuxの場合のみ、VSCodeのターミナルと通常ターミナルで以下の違いがあることが原因のようです。
- VSCodeのターミナル
- VSCodeのウィンドウ(インスタンス)から環境情報を引き継ぐ
- 通常のターミナル
- MacのDock/スタートメニューから起動し、macOSシステム全体の環境情報をそのまま使用する
VSCodeのターミナルは、システム全体の環境情報ではなく独自の環境(インスタンス)を使用していたため、.zshrc
や.zprofile
(bashでも同様)の内容が反映されていませんでした。
しかしterminal.integrated.inheritEnv
をfalseに設定することで、VSCodeのターミナルが独自の環境ではなく、macOSシステム全体の環境情報を参照してくれるようになり解決したというわけです。
最後に
いかがだったでしょうか?
VSCodeのターミナルの使用は半分諦めていたのですが、解決策が見つかったためVSCodeをもっと愛していくことができそうです🙌
この記事が同じ内容で苦戦している方のお役に立てれば幸いです。
参考