Je définis une variable d'environnement $PATH
personnalisée dans mon ~/.bash_profile
(sur un Mac), comme suit:
PATH="$HOME/.cargo/bin:$PATH:$HOME/bin"
Cependant, VS Code n’exécute bien sûr pas mon .bash_profile
, il n’a donc pas mes chemins personnalisés. En fait, si je Basculer les outils de développement et vérifier process.env.PATH
, il ne semble même pas avoir /usr/local/bin
.
Comment définir globalement la variable d'environnement $PATH
dans VS Code?
(Je veux le définir globalement, pas par projet ou par tâche, car je gère beaucoup de petits paquets.)
Si vous souhaitez uniquement définir le $PATH
dans le terminal intégré, vous pouvez utiliser la variable terminal.integrated.env.<platform>
de VS Code (ajoutée dans la version 1.15), par exemple.
"terminal.integrated.env.osx": {
"PATH": "...:/usr/bin:/bin:..."
}
Pour voir le $PATH
de votre système, tapez echo "$PATH"
dans Terminal.app, puis copiez-le et collez-le dans l'extrait de paramètres ci-dessus.
En ce qui concerne le $PATH
disponible everwhere dans VS Code, il sera utilisé par les extensions qui appellent des fichiers binaires, la seule solution de contournement que j'ai trouvée jusqu'à présent est la suivante:
Configurez votre shell (bash par défaut) pour avoir le $PATH
souhaité. Par exemple, mon ~/.bash_profile
a la ligne suivante:
PATH="$PATH:$HOME/bin"
Dans VS Code, appuyez sur ⇧⌘P et tapez install 'code' command
si vous ne l'avez pas déjà fait.
Quittez VS Code.
Lancez VS Code not en cliquant sur l’icône dans le dock ou dans le Launchpad, mais en ouvrant Terminal.app et en tapant code
. Votre chemin nouvellement défini sera actif dans VS Code jusqu'à ce que vous le quittiez.
Si VS Code redémarre, par exemple en raison d'une mise à niveau, le $PATH
sera réinitialisé sur la valeur par défaut du système. Dans ce cas, quittez VS Code et relancez-le en saisissant code
.
Le code de Visual Studio est le problème.
Quelle que soit la manière dont vous définissez la variable PATH dans le shell, il arrive que le code Visual Studio n'hérite pas de votre paramètre PATH. Si vous utilisez un lanceur d'applications tel que LaunchBar pour démarrer Visual Studio Code, votre variable PATH ne sera pas héritée.
Voici un correctif à l'échelle du système:
Dans le répertoire /etc/paths.d, créez un fichier avec votre nom d'utilisateur Unix. Dans ce fichier, placez les chemins d'accès supplémentaires nécessaires au code Visual Studio. Dans mon cas, il s’agit du contenu de mon fichier /etc/paths.d:
/usr/ucb
/opt/local/bin
/opt/local/sbin
~/go/bin
Remarque: votre fichier /etc/paths.d sera traité à l’échelle du système. Comme la plupart des systèmes sont mono-utilisateur, cela ne devrait pas poser de problème à la plupart des développeurs.
Ajoutez les éléments suivants à votre ~/.bash_profile:
launchctl setenv PATH $HOME/.cargo/bin:$PATH:$HOME/bin
Ou exécutez un script Bash si nécessaire, par exemple:
#!/bin/bash
set -Eeuxo pipefail
proj_path=$( cd $( dirname ${BASH_SOURCE[0]} ) && pwd )
launchctl setenv PATH $proj_path/bin:${PATH:-}
Obtenir du code pour charger votre fichier ~/.bash_profile existant serait préférable. Je pense que les documents ici sont la référence pertinente: https://code.visualstudio.com/docs/editor/integrated-terminal#_linux-os-x
Généralement, $ Shell est votre principal shell sur les systèmes de type Unix, de sorte que vous ne voudra probablement pas changer de shell. Vous pouvez passer des arguments au Shell quand il est lancé.
Par exemple, pour activer l'exécution de bash en tant que shell de connexion (qui exécute .Bash_profile), transmettez l'argument
-l
(avec des guillemets):
// Linux "terminal.integrated.shellArgs.linux": ["-l"]
// OS X "terminal.integrated.shellArgs.osx": ["-l"]
Bien que, il semble que ce paramètre soit le paramètre par défaut de ma configuration actuelle de VS Code (OS X). Le terminal intégré exécute mon fichier ~/.bash_profile sans aucune modification de la configuration. Essayez peut-être d’ajouter echo Executing .bash_profile...
pour vérifier s’il est en cours d’exécution lorsqu’un nouveau terminal est ouvert dans Code.
Je travaille avec Ubuntu 18.04. J'ai eu un problème similaire, mes variables d'environnement ont été définies et le terminal connaît le $ PATH, mais lorsque j'ai essayé de déboguer avec golang, les bibliothèques aller n'étaient pas trouvées dans la variable $ PATH.
Donc, pour le résoudre, je désinstalle la version par défaut du logiciel Ubuntu et l’installe manuellement en utilisant les instructions suivantes:
https://code.visualstudio.com/docs/setup/linux
Ça marche pour moi.