96 votes

Existe-t-il un moyen de définir des variables d'environnement dans Visual Studio Code ?

Pourriez-vous m'aider, s'il vous plaît, à configurer les variables d'environnement dans le code Visual Studio ?

95voto

Stewart_R Points 3873

Si l'on suppose que vous souhaitez une session de débogage ( ?), vous pouvez inclure un fichier de type env dans votre configuration du lancement .

Si vous ouvrez le fichier .vscode/launch.json dans votre espace de travail ou sélectionnez Debug > Open Configurations, vous devriez voir un ensemble de configurations de lancement pour le débogage de votre code. Vous pouvez ensuite y ajouter un env avec un dictionnaire de type string:string.

Voici un exemple d'une application ASP.NET Core à partir de son modèle web standard qui définit l'option ASPNETCORE_ENVIRONMENT a Development :

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": ".NET Core Launch (web)",
      "type": "coreclr",
      "request": "launch",
      "preLaunchTask": "build",
      // If you have changed target frameworks, make sure to update the program path.
      "program": "${workspaceFolder}/bin/Debug/netcoreapp2.0/vscode-env.dll",
      "args": [],
      "cwd": "${workspaceFolder}",
      "stopAtEntry": false,
      "internalConsoleOptions": "openOnSessionStart",
      "launchBrowser": {
        "enabled": true,
        "args": "${auto-detect-url}",
        "windows": {
          "command": "cmd.exe",
          "args": "/C start ${auto-detect-url}"
        },
        "osx": {
          "command": "open"
        },
        "linux": {
          "command": "xdg-open"
        }
      },
      "env": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "sourceFileMap": {
        "/Views": "${workspaceFolder}/Views"
      }
    },
    {
      "name": ".NET Core Attach",
      "type": "coreclr",
      "request": "attach",
      "processId": "${command:pickProcess}"
    }
  ]
}

2 votes

Merci pour votre réponse. Je travaille sur une application node et j'utilise certaines variables d'environnement comme process.env.VAR_NAME, je veux les variables lors de l'exécution du projet. Est-ce que les variables de configuration env seront disponibles dans ce cas ? Cela ne fonctionne pas.

1 votes

L'exemple ci-dessus définit une variable env lors de l'utilisation d'un débogueur depuis vscode (cela fonctionne aussi pour le débogueur de nœuds lorsqu'il est lancé depuis vscode). Peut-être pourriez-vous poser une autre question avec plus de détails sur ce qui ne fonctionne pas exactement ? Lancez-vous l'application depuis vscode ? Peut-être pouvez-vous partager le launch.json que vous utilisez ? Est-ce qu'il s'exécute sans que la variable env soit définie ou est-ce qu'il ne s'exécute pas du tout ? Si vous voulez me taguer dans un commentaire (utilisez simplement @stewart_r dans le commentaire), je serai heureux d'essayer de vous aider, mais je suis sûr que si vous posez une question suffisamment détaillée, d'autres personnes pourront également vous aider.

0 votes

Je pense avoir répondu à la question telle qu'elle a été posée. Si vous avez encore des difficultés, posez une nouvelle question en essayant, dans la mesure du possible, de suivre ce guide : stackoverflow.com/help/how-to-ask pour donner à la communauté la meilleure chance possible de pouvoir aider

45voto

Petro Franko Points 173

Dans le launch.json de VSCode, vous pouvez utiliser "env" et y configurer toutes vos variables d'environnement :

{
    "version": "0.2.0",
    "configurations": [
        {           
            "env": {
                "NODE_ENV": "development",
                "port":"1337"
            },
            ...
        }
    ]
}

37voto

Mark Points 82

Vous pouvez charger un fichier d'environnement en définissant l'option envFile propriété comme ça :

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch",
      "type": "go",
      "request": "launch", 
      "mode": "debug",
      "remotePath": "",
      "port": 2345,
      "host": "127.0.0.1",
      "program": "${workspaceFolder}",
      "envFile": "${workspaceFolder}/.env",
      "args": [], 
      "showLog": true
    }
  ]
}

Placez le .env dans votre dossier et ajoutez les variables comme ceci :

KEY1="TEXT_VAL1"
KEY2='{"key1":val1","key2":"val2"}'

Autres lectures : Débogage de go en vscode avec des variables d'environnement

2 votes

C'est la meilleure réponse

12voto

mvndaai Points 454

J'exécute vscode depuis ma ligne de commande en naviguant vers le dossier contenant le code et en exécutant

code .

Si vous faites ça, toutes vos bash / zsh Les variables sont passées dans le code vs. Vous pouvez mettre à jour votre .bashrc / .zshrc ou simplement

export KEY=value

avant de l'ouvrir.

4voto

nmishr Points 205

Pourraient-ils rendre les choses plus difficiles ? Voici ce que j'ai fait : ouvrir les propriétés du système, cliquer sur avancé, ajouter la variable d'environnement, fermer Visual Studio et le redémarrer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X