2015-04-30 368 views
11

在node.js項目中使用新的VSCode編輯器。我正嘗試通過編輯launch.json文件來配置我的「啓動」配置文件以進行調試。我需要將連接字符串設置爲環境變量。據在launch.json文件中的註釋:如何將環境變量添加到VSCode中的launch.json

// Environment variables passed to the program. 
"env": { } 

我曾嘗試加入我的環境變量,像這樣:

"env": 
{ 
"CONNECTION_STRING": "Data Source=server;Initial Catalog=catalog;User ID=uid;Password=pwd;MultipleActiveResultSets=true" 
} 

這會導致當我嘗試推出我的應用程序的錯誤; 「OpenDebug進程意外終止」。我還沒有找到任何可以解釋問題的日誌文件等。

我知道這個應用程序在我設置環境變量並從標準命令提示符啓動我的應用程序時正常工作。如果我在launch.json文件中註釋掉我的變量,該應用程序也會按預期運行;我只是無法連接到數據庫。

我假設我在launch.json文件中使用了錯誤的格式,但是我還沒有找到任何方法使其工作。

任何想法?

+0

Visual Studio代碼0.3.0已經修復了這個。 –

回答

5

在Windows上(也可能在Linux上),似乎環境變量有問題。它在OS X上工作。我們正在調查。很快就會有修復。

安德烈Weinand, Visual Studio代碼

+1

Visual Studio代碼0.3.0已經修復了這個問題。 –

+0

這是在OSX上的0.9.2中再次破壞?設置「env」但它們沒有出現在進程中。正在使用早期版本,至少在Windows上。 – antfx

+1

我剛剛證實,在OS X上的VS Code 0.9.2中設置env vars的作品。如果它不適用於您,請在此處提供可重複步驟的錯誤:https://code.visualstudio.com/Issues/List –

2

作爲一種變通方法,可以在開始VSCode時,例如設置環境變量,利用這個小PowerShell腳本:

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" 

保存爲vscode.ps1和呼叫它從命令行,像這樣:

powershell ".\vscode.ps1 -vars @{ 'NODE_ENV'='test'; 'SOMETHING'='else' }" 
3

我成功地通過env財產launch.json

{ 
    "version": "0.2.0", 
    "configurations": [ 
    { 
    "type": "node", 
    "request": "launch", 
    "name": "SLS Webpack", 
    "protocol": "legacy", 
    "program": "${workspaceRoot}/node_modules/.bin/sls", 
    "cwd": "${workspaceRoot}", 
    "args": ["webpack", "watch", "-f", "${fileBasenameNoExtension}", "-p", "${fileDirname}/event.json"], 
    "env": {"AWS_REGION":"us-east-1", "SLS_DEBUG":"*"}, 
    "outFiles": ["${cwd}/dist/**/*.js"], 
    "sourceMaps": true, 
    "smartStep": true  
    } 
    ] 
} 
0

這樣,你的操作系統下:

 "osx": { 
      "MIMode": "lldb", 
      "environment": [{"name": "DYLD_LIBRATY_PATH", "value": "/Users/x/boost_1_63_0/stage/lib/"}] 
     }, 
相關問題