2017-02-13 51 views
3

launch.json中argsruntimeArgs之間的區別是什麼?VSCode的launch.json中的args和runtimeArgs有什麼區別?

// Optional arguments passed to the runtime executable 
"runtimeArgs": [] 
// Command line arguments passed to the program 
"args": [] 

程序與運行時可執行文件不是一回事嗎?

額外的信息和激勵問題的背後:

我開發一個應用程序的NodeJS。在我package.json,我有一個start腳本:

"start": "electron ./src/Main/main.js arg2",在我的應用程序的代碼,我訪問process.argv[2]這讓我arg2,所以當我運行npm start,我的應用程序按預期工作。

當我從VSCode運行應用程序,但它沒有,原因是我沒有在launch.json提供任何額外的參數。我應該在哪裏提出這些論點? process.argv似乎包含在argsruntimeArgs提供的參數,雖然它也堅持在一些--debug-brk參數,我不想。

我希望能夠從命令行(npm start)運行應用程序或從VSCode啓動應用程序時始終如一地使用process.argv

回答

2

我覺得這是在Node debugging docs大多解釋說:

而是直接與節點啓動Node.js的程序,你可以直接從啓動配置使用「故宮」腳本或其他任務運行的工具:

  • 不限於PATH可用的程序(例如 'NPM', '摩卡', '吞掉',等)可被用於runtimeExecutable屬性[...]

runtimeExecutable不是您想要調試的程序,而是用於運行它的可執行程序。因此,看起來runtimeArgsruntimeExecutable,因爲argsprogram

如果您有興趣詳細說明它的工作原理,請登錄debugAdapter.tsdebugAdapter.ts實施的相關部分here's

相關問題