VSCode에서 환경 변수를 launch.json에 추가하려면 어떻게 해야 합니까?
node.js 프로젝트에서 새로운 VSCode 편집기로 작업.launch.json 파일을 편집하여 디버깅용으로 "Launch" 프로파일을 설정하려고 합니다.연결 문자열을 환경 변수로 설정해야 합니다.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 파일에서 잘못된 포맷을 사용하고 있는 것 같습니다만, 아직 실행 방법을 찾지 못했습니다.
좋은 생각 있어요?
잘 env
합니다.launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/index.js",
"env": {
"TEST_VAR": "foo"
}
}
]
}
이것은 동작하고 있다
다음 항목만 추가해 주세요.
"env": {"NODE_ENV": "개발"}
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program", //TODO: cmd as launch program
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\index.js",
"env": {
"NODE_ENV": "development"
}
}
]
버전 1.49.1
하려면 env를 합니다.env
launch.json을 을 합니다.envFile
파일의 .부러워하다
경고:.env 파일이 이미 있는 경우 자동으로 포함됩니다.(데니플렉스 코멘트 단위)
env 예:
{
...
"env": { "PORT": "4000" }
...
}
env File의 예:
{
...
"envFile": "${workspaceFolder}/server/.env",
...
}
Windows(및 Linux) 환경변수에 문제가 있는 것 같습니다.OS X에서는 동작합니다.조사 중입니다.곧 고쳐지길 기대하세요.
갱신 (2015년 6월 2일) :Visual Studio Code 0.3.0에는 이에 대한 수정 사항이 포함되어 있습니다.
OS에서는 다음과 같이 동작합니다.
"osx": {
"MIMode": "lldb",
"environment": [{"name": "DYLD_LIBRATY_PATH", "value": "/Users/x/boost_1_63_0/stage/lib/"}]
},
부터 2016년식 합니다.envFile
Node.js 프로젝트의 경우:
VS 코드 노드 디버거는 이제 파일에서 환경 변수를 로드하여 노드 런타임에 전달하는 기능을 지원합니다.https://github.com/Microsoft/vscode/issues/15964
이 기능을 사용하려면 실행 Configuration에 envFile 속성을 추가하고 환경변수를 포함하는 파일에 대한 절대 경로를 지정합니다.
ASP용Net Core 프로젝트에서는 기본적으로 vscode에서 이 기능을 지원하지 않지만 최근 옴니샤프 vscode 확장에 추가되었습니다.이 기능은 v1.16.0을 통해 2018년 9월 10일부터 사용할 수 있습니다.
....env
을 저장하여 프로젝트 루트는 루트보다 합니다.launch.json
설정을 지정합니다. :) ★★★★★★★★★ : ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
참고로, 다른 언어에 대해서도 유사한 문제(2020년, 상기의 인정된 답변에 기재된 버그가 수정되고 나서 한참 후에)를 발견했는데, 다음과 같은 점을 지적하고 싶습니다.
기동 설정에 관한 Microsoft 의 메뉴얼에 근거해, 다음과 같은 많은 일반적인 옵션을 참조해 주세요."env"
모든 디버깅/실행 환경에 필요한 기능은 아닙니다.즉, 환경변수 옵션을 제공하는 것은 VS Code가 아니라 이 기능을 구현하기 위한 특정 디버거 확장을 선택하는 것으로 보입니다.그 때문에, 어느 쪽인가 하면,
- 디버깅 응용 프로그램의 예기치 않은 크래시
- .
Property "env" is not allowed
사용 중인 특정 언어/어플리케이션이 환경변수 처리를 지원하지 않거나 구현하지 않았기 때문에 발생할 수 있습니다.
qbiq에서 설명한 바와 같이 실행 후에도 환경변수가 변경되지 않는 경우 이를 위한 빠른 회피책은 이러한 변수를 내보내고 이 특정 변수 집합을 사용하여 VS Code를 실행하는 것입니다.
제 장고 프로젝트에서는 잘 작동했어요.envFile
변수.다음 링크를 체크할 수 있습니다.https://code.visualstudio.com/docs/editor/debugging
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/project/manage.py",
"args": [
"runserver"
],
"django": true,
"envFile": "${workspaceFolder}/project/Server/settings/local.env"
}
]
}
OSX Catalina 10.15.5에서는 2020년 6월에도 매우 오해의 소지가 있어 파손되어 있습니다.VSCode 내부자를 CodeLDB 확장 버전 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
때, 「」를 해 .env
on " " "launch.json
★★★★★★★★★★★★★★★★★★.
한마디로 말하면"env"
를 지정합니다.launch.json
스크린샷에 메시지가 나타납니다.이렇게 하면 디버거를 실행할 수 없게 됩니다.놀랍게도 기능이 부족하지만 충분히 공평합니다.
그 but만음음음음을 environment
env
에러 메시지는 표시되지 않지만 디버깅되는 런타임에는 환경변수를 사용할 수 없습니다.getenv(whatever)
는, 그 하지 않습니다 :-! - 。
해결 방법으로는 다음과 같은 작은 powershell 스크립트를 사용하여 VSCode를 시작할 때 환경 변수를 설정할 수 있습니다.
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' }"
언급URL : https://stackoverflow.com/questions/29971572/how-do-i-add-environment-variables-to-launch-json-in-vscode
'programing' 카테고리의 다른 글
get_adjacent_post()를 커스텀 투고 유형 간에 동작시킵니다. (0) | 2023.04.01 |
---|---|
에일리어스별 그룹화(Oracle) (0) | 2023.04.01 |
텍스트 에디터에서 JavaScript 개체를 유효한 JSON으로 빠르게 변환할 수 있는 방법이 있습니까? (0) | 2023.04.01 |
C#의 속성 이름에 '+'를 추가하려면 어떻게 해야 합니까? (0) | 2023.04.01 |
서버에 POST하고 PDF를 수신하여 jQuery를 사용하여 사용자에게 전달 (0) | 2023.04.01 |