2015-04-30 11 views
11

Utilizzo del nuovo editor VSCode in un progetto node.js. Sto tentando di configurare il mio profilo "Avvia" per il debug modificando il file launch.json. Ho bisogno di impostare un connectiontring come una variabile di ambiente. Secondo i commenti nel file launch.json:Come aggiungere variabili di ambiente a launch.json in VSCode

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

Ho provato ad aggiungere la mia variabile d'ambiente in questo modo:

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

Questo provoca un errore quando provo a lanciare la mia app; "Il processo OpenDebug è terminato in modo imprevisto". Non ho ancora trovato alcun file di registro, ecc. Che possa spiegare qual è il problema.

So che questa app funziona correttamente quando imposto la variabile di ambiente e avvio la mia app dal prompt dei comandi standard. L'app funziona anche come previsto se commento la mia variabile nel file launch.json; Non riesco a connettermi al database.

Suppongo che sto utilizzando il formato sbagliato nel file launch.json, ma non ho ancora trovato alcun modo per farlo funzionare.

Qualche idea?

+0

Visual Studio codice 0.3.0 ha risolto questo. –

risposta

5

Sembra esserci un problema con le variabili di ambiente su Windows (e probabilmente su Linux). Funziona su OS X. Stiamo indagando. Aspettatevi presto una correzione.

Andre Weinand, Visual Studio Codice

+1

Il codice di Visual Studio 0.3.0 ha risolto questo problema. –

+0

è di nuovo rotto in 0.9.2 su OSX? Impostando "env" ma non appaiono in corso. Lavorava in versioni precedenti, almeno su Windows. – antfx

+1

Ho appena verificato che l'impostazione di env vars in VS Code 0.9.2 su OS X funzioni. Se non funziona per te, invia un bug con passaggi riproducibili qui: https://code.visualstudio.com/Issues/List –

2

come soluzione alternativa, è possibile impostare le variabili di ambiente quando si inizia VSCode, ad esempio, utilizzando questo piccolo script 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" 

Salva come vscode.ps1 e call da riga di comando, come questo:

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

sto passando con successo usando il env immobili in 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

Ti piace questa, sotto di te OS:

 "osx": { 
      "MIMode": "lldb", 
      "environment": [{"name": "DYLD_LIBRATY_PATH", "value": "/Users/x/boost_1_63_0/stage/lib/"}] 
     }, 
Problemi correlati