2015-04-30 4 views
11

Работа с новым редактором VSCode в проекте node.js. Я пытаюсь настроить профиль «Запуск» для отладки, отредактировав файл launch.json. Мне нужно настроить connectionstring как переменную среды. Согласно комментариям в файле launch.json:Как добавить переменные среды в launch.json в VSCode

// 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, Визуальный код Студия

+1

Код Visual Studio 0.3.0 исправил это. –

+0

этот сломанный снова в 0.9.2 на OSX? Установка «env», но они не отображаются в процессе. Работал в более ранних версиях, по крайней мере, в Windows. – antfx

+1

Я только что проверил, что настройка env vars в VS Code 0.9.2 на OS X работает. Если это не сработает, напишите ошибку с воспроизводимыми шагами здесь: 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/"}] 
     }, 

 Смежные вопросы

  • Нет связанных вопросов^_^