我有一个可以在Visual Studio Code中调试的Electron应用程序。升级到版本0.10.8后,它将不再运行 我在launch.json文件中收到以下错误消息:
相对路径将不再自动转换为绝对路径。考虑使用$ {workspaceRoot}作为前缀。
要使用的运行时可执行文件的绝对路径。默认值是PATH上的运行时可执行文件。
这是我的launch.json文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "My First Electron App",
"type": "node",
"request": "launch",
"program": "$(workspaceRoot}/app/main.js", //ERROR
"stopOnEntry": false,
"args": [],
"cwd": "$(workspaceRoot}",
"runtimeExecutable": "$(workspaceRoot}/node_modules/electron-prebuilt/dist/electron.app/Contents/MacOS/Electron", //ERROR
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"sourceMaps": false,
"outDir": null
},
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 5858
}
]
}
我得到了两行中提到的绿色波浪线,最后是// ERROR。
我看过这篇文章,但老实说熟悉VS Code足以理解如何实现这一点:https://code.visualstudio.com/Docs/editor/tasks#_variable-substitution
更新
我根据Isidor的建议将"cwd"
的值替换为"${workspaceRoot}"
。绿色的波浪线消失了。
我更新了其他两行仍然看到的错误消息。
当我点击F5
时收到此错误消息:
请求'启动&#39 ;:运行时可执行文件' / private / var / git / electron-vs-code / $(workspaceRoot)/node_modules/electron-prebuilt/dist/electron.app/Contents / MacOS / Electron'不存在
答案 0 :(得分:5)
There is a typo in your json. Change the parenthesis after the String sTmp = start;
String eTmp = end;
while (!sTmp.equals(eTmp) && i <= start.length()) {
sTmp = start.substring(0, start.length() - i);
eTmp = end.substring(i, end.length());
i++;
}
if (sTmp.equals(eTmp)) {
result = sTmp;
} else {
result = "";
}
return result;
in $
to a curly brace. This should at least fix the warning.
答案 1 :(得分:3)
即使你得到相对路径警告,VSCode仍然会自动转换为相对于0.10.8的绝对路径。要摆脱&#34; cwd&#34;的警告,而不是&#34;。&#34;请输入&#34; $ {workspaceRoot}&#34;。
当您运行尝试调试电子应用时会发生什么,您是否看到其他错误,因为相对于绝对不能是这个的真正原因。如果你命令palette / open developper工具 - &gt;你在控制台看到一些错误吗?