How do I add environment variables to launch.json in VSCode

前端 未结 10 788
囚心锁ツ
囚心锁ツ 2020-12-08 01:29

Working with the new VSCode editor on a node.js project. I am attempting to configure my \"Launch\" profile for debugging by editing the launch.json file. I need to setup a

相关标签:
10条回答
  • 2020-12-08 01:58

    On june 2020 this is still very misleading and broken on OSX Catalina 10.15.5. I am using VSCode insiders with CodeLLDB extension version 1.5.3:

    Version: 1.47.0-insider
    Commit: 0913b1aa43191d8af0ccb4a133d9a8d7c1a81d69
    Date: 2020-06-23T09:38:28.751Z (1 day ago)
    Electron: 8.3.3
    Chrome: 80.0.3987.165
    Node.js: 12.13.0
    V8: 8.0.426.27-electron.0
    OS: Darwin x64 19.5.0
    

    When launching the debugger with the env keyword on launch.json I get this:

    So in a nutshell, using "env" directive in launch.json will show up the message in the screenshot. This will prevent running the debugger, surprising lacking feature, but fair enough.

    But then, using environment instead of env, there's no error message popping up but the environment variables are not available on the runtime being debugged, so getenv(whatever) does not return the actual value for that key :-!

    0 讨论(0)
  • 2020-12-08 02:01

    There seems to be a problem with environment variables on Windows (and probably on linux). It does work on OS X. We are investigating. Expect a fix soon.

    Update (June 2, 2015): Visual Studio Code 0.3.0 contains a fix for this.

    0 讨论(0)
  • 2020-12-08 02:02

    this is working

    just add the following

    "env": { "NODE_ENV": "development" }

    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program", //TODO: cmd as launch program
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}\\index.js",
            "env": {
                "NODE_ENV": "development"
            }
        }
    ]
    
    0 讨论(0)
  • 2020-12-08 02:03

    Version 1.49.1

    You can add env variables by using the env property in your launch.json file or by using the envFile property with the value being the location of your .env file.

    env example:

    {
      ...
       "env": { "PORT": "4000" }
      ...
    }
    

    envFile example:

    {
      ...
      "envFile": "${workspaceFolder}/server/.env",
      ...
    }
    
    0 讨论(0)
  • 2020-12-08 02:04

    as a workaround, you can set environment variables when starting VSCode, for example, using this little powershell script:

    param(
     $vars = @{}
    )
    
    $vars.Keys | % {
        write-host "adding env variable: $_=$($vars[$_])"
        [Environment]::SetEnvironmentVariable($_, $vars[$_], "Process")
    }
    $ver = "0.1.0"
    & "$env:LOCALAPPDATA\Code\app-$ver\Code.exe"
    

    Save it as vscode.ps1 and call it from commandline, like this:

    powershell ".\vscode.ps1 -vars @{ 'NODE_ENV'='test'; 'SOMETHING'='else' }"
    
    0 讨论(0)
  • 2020-12-08 02:11

    Like this, under your OS:

            "osx": {
                "MIMode": "lldb",
                "environment": [{"name": "DYLD_LIBRATY_PATH", "value": "/Users/x/boost_1_63_0/stage/lib/"}]
            },
    
    0 讨论(0)
提交回复
热议问题