153

node.js プロジェクトで新しい VSCode エディターを使用する。launch.json ファイルを編集して、デバッグ用に「起動」プロファイルを構成しようとしています。接続文字列を環境変数として設定する必要があります。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 ファイルで間違った形式を使用していると思いますが、これを機能させる方法をまだ見つけていません。

何か案は?

4

11 に答える 11

29

Windows (およびおそらく Linux) の環境変数に問題があるようです。OS X でも動作します。現在調査中です。すぐに修正される予定です。

更新 (2015 年 6 月 2 日): Visual Studio Code 0.3.0 には、この問題に対する修正が含まれています。

于 2015-05-03T21:49:10.813 に答える
18

このように、あなたのOSの下で:

        "osx": {
            "MIMode": "lldb",
            "environment": [{"name": "DYLD_LIBRATY_PATH", "value": "/Users/x/boost_1_63_0/stage/lib/"}]
        },
于 2017-11-23T01:51:54.987 に答える
2

2020 年 6 月現在、これは依然として非常に誤解を招きやすく、OSX Catalina 10.15.5 では壊れています。CodeLLDB 拡張バージョン 1.5.3で VSCode インサイダーを使用しています。

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すると、スクリーンショットにメッセージが表示されます。これにより、デバッガーの実行が妨げられ、驚くほど機能が不足していますが、十分に公平です。

しかし、environment代わりにを使用するとenv、エラー メッセージは表示されません、デバッグ中のランタイムでは環境変数を使用できgetenv(whatever)ないため、そのキーの実際の値は返されません :-!

于 2020-06-25T04:42:50.577 に答える
1

回避策として、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' }"
于 2015-05-23T22:01:46.340 に答える