web-dev-qa-db-ja.com

VS Codeでグローバル$ PATH環境変数を設定する

私は$PATH(Macの場合)でカスタム~/.bash_profile環境変数を次のように定義しています。

PATH="$HOME/.cargo/bin:$PATH:$HOME/bin"

ただし、VS Codeはもちろん.bash_profileを実行しないため、カスタムパスはありません。実際、Toggle Developer Toolsをチェックしてprocess.env.PATHをチェックすると、/usr/local/binさえないようです。

VS Codeで$PATH環境変数をグローバルに設定するにはどうすればよいですか?

(私は多くの小さなパッケージを維持しているので、プロジェクトごとやタスクごとではなく、グローバルに設定したいです。)

12
Jo Liss

統合端末で$PATHのみを設定する必要がある場合は、VS Codeの terminal.integrated.env.<platform> 変数(バージョン1.15で追加)を使用できます。

"terminal.integrated.env.osx": {
  "PATH": "...:/usr/bin:/bin:..."
}

システムの$PATHを表示するには、Terminal.appにecho "$PATH"と入力し、コピーして上記の設定スニペットに貼り付けます。


$PATHをVS Codeで利用可能everwhereにすることに関しては、バイナリを呼び出す拡張機能で使用されるため、唯一の回避策はこれまでに見つかったのはこれです:

  1. 希望する$PATHを持つようにシェル(デフォルトではbash)を構成します。たとえば、私の~/.bash_profileには次の行があります。

    PATH="$PATH:$HOME/bin"
    
  2. VS Codeで、⇧⌘Pを押してinstall 'code' commandと入力します(まだ行っていない場合)。

  3. VS Codeを終了します。

  4. VS Codeを起動しますnotドックまたはLaunchpadのアイコンをクリックしますが、Terminal.appを開いてcodeと入力します。新しく設定したパスは、終了するまでVS Codeでアクティブになります。

  5. アップグレードなどによりVS Codeが再起動すると、$PATHはシステムのデフォルトにリセットされます。その場合は、VS Codeを終了し、codeと入力して再起動します。

24
Jo Liss

CMakeと組み合わせてC/C++開発用にmacosでvscodeを使用しています。

Vscode拡張機能CMake Toolsは、構成プロパティcmake.configureEnvironmentcmake.buildEnvironmentおよびcmake.environment(CMake構成フェーズ、ビルドフェーズ、および両方で動作します- ドキュメントを参照 )。

次に、ユーザーまたはプロジェクトに次のスニペットを追加することにより、カスタムパスでシステムPATHを拡張できますsettings.json

"cmake.environment": {
    "PATH": "~/.myTool/bin:${env:PATH}"
},
4
Paolo

Visual Studio Codeが問題です。

シェルでPATH変数をどのように設定しても、Visual Studio CodeがPATH設定を継承しない場合があります。 LaunchBarなどのアプリケーションランチャーを使用してVisual Studio Codeを起動している場合、PATH変数は継承されません。

システム全体の修正は次のとおりです。

/etc/paths.dディレクトリで、Unixユーザー名でファイルを作成します。そのファイルに、Visual Studio Codeが機能するために必要な追加のパスを配置します。私の場合、これは/etc/paths.dファイルの内容です。

/usr/ucb /opt/local/bin /opt/local/sbin ~/go/bin

注:/etc/paths.dファイルはシステム全体で処理されます。ほとんどのシステムはシングルユーザーなので、ほとんどの開発者にとってこれは問題になりません。

2
russes

〜/ .bash_profileに次を追加します。

launchctl setenv PATH $HOME/.cargo/bin:$PATH:$HOME/bin

または、必要なときにBashスクリプトを実行します。例:

#!/bin/bash
set -Eeuxo pipefail

proj_path=$( cd $( dirname ${BASH_SOURCE[0]} ) && pwd )
launchctl setenv PATH $proj_path/bin:${PATH:-}
0
Peter Tseng

コードを取得して既存の〜/ .bash_profileをロードするのが最善です。ここのドキュメントは関連するリファレンスだと思います: https://code.visualstudio.com/docs/editor/integrated-terminal#_linux-os-x

通常、$ ShellはUnixライクシステムのプライマリシェルであるため、シェルを変更することはおそらくないでしょう。シェルの起動時に引数を渡すことができます。

たとえば、bashを(.bash_profileを実行する)ログインシェルとして実行できるようにするには、-l引数(二重引用符付き)を渡します。

// Linux "terminal.integrated.shellArgs.linux": ["-l"]

// OS X "terminal.integrated.shellArgs.osx": ["-l"]

ただし、現在のVS Code(OS X)セットアップでは、その設定がデフォルトのようです。統合端末は、構成を変更せずに〜/ .bash_profileを実行しています。おそらくecho Executing .bash_profile...を追加して、コードで新しいターミナルを開いたときに実行されるかどうかをテストしてください。

0
Kurt MacDonald

私はubuntu 18.04で作業しています。同様の問題があり、環境変数が定義されており、端末は$ PATHを知っていますが、golangでデバッグしようとしたときに、goライブラリが$ PATH変数に見つかりませんでした。

それを解決するために、ubuntuソフトウェアからデフォルトバージョンをアンインストールし、次の手順を使用して手動でインストールします。

https://code.visualstudio.com/docs/setup/linux

わたしにはできる。

0
mikemaal