3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VSCode Remote WSLにおけるPATHの設定

Last updated at Posted at 2020-05-17

VSCode Remote WSL で開発するにあたって,Linuxbrew の PATH の設定が読み込まれておらず,うまくライブラリの連携ができていない問題があったためメモ。

統合ターミナルで PATH を設定したいだけの場合

VSCode の統合ターミナルを使うにあたって,PATH の設定をしたいだけの場合,統合ターミナルをログインシェルとして起動すればよい。
具体的には,settings.jsonに以下を追記。

settings.json
"terminal.integrated.shellArgs.linux": [
        "-l"
    ]

ログインシェルと別の環境変数を設定したいときは,個別に設定するようにする。Windows の場合はterminal.integrated.env.windows,Mac はterminal.integrated.env.osx,Linux はterminal.integrated.env.linuxに設定する。

settings.json
"terminal.integrated.env.linux": {
    "PATH": "<new path>;${env:PATH}"
}

Git の場所を指定したいだけの場合

Linuxbrew で最新の Git をインストールして使っているのに,VSCode では Linux 標準の古い Git が読み込まれてしまっていて困っている,などという問題を解決したいだけ場合は WSL 側にあるsettings.jsonに以下を追記。

.vscode_server/data/Machine/settings.json
 "git.path": "<path to git>"

全体に PATH の設定を反映したい場合

拡張機能によっては PATH の設定がうまくされていないと動かないものもあるだろう。
それぞれ個別にsettings.jsonで指定できれば良いが,内部の依存ライブラリまで PATH の設定ができないかもしれない。

というか「そもそも VSCode を WSL で立ち上げる前に,PATH の設定くらい読み込んでおいてくれよ」と思うのは自然だろう。

これについて,公式ドキュメントには以下のようにある。

When VS Code Remote is started in WSL, no shell startup scripts are run. This was done to avoid issues with startup scripts that are tuned for shells. If you want to run additional commands or modify the environment this can be done in a setup script ~/.vscode-server/server-env-setup (Insiders: ~/.vscode-server-insiders/server-env-setup). If present, the script is processed before the server is started.

要するに,VSCode Remote WSL を使うときは PATH の設定 (.bash_rc,.bash_profileなど) は読み込まれないから,なんか設定したかったら WSL 上に~/.vscode-server/server-env-setupファイルを作って書いてね
ということである。

これでたとえば Linuxbrew に PATH を通しておけば,ちゃんとそちらのライブラリが読み込まれるようになる。

また,これを設定すれば,上2つの設定は不要である。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?