使用VS Code调试Electron应用程序

mmvthczy  于 12个月前  发布在  Electron
关注(0)|答案(1)|浏览(147)

我有一个基于TypeScript的Electron应用程序,我正在VS Code中开发。目前我的调试设置如下:
1.电子发射器的发射配置条目
1.电子渲染器的启动配置条目
启动器在VS代码中调试得很好,但是渲染器从来没有附加。我可以在浏览器中使用Chrome调试器,但是TypeScript的源Map都不能正常工作,Map了错误的行。例如,实际的断点可能在第50行,但是调试器在第65行停止。
在理想的情况下,我可以在VS代码中调试TypeScript。有没有办法实现这一点?有没有办法让Chrome正确处理源代码Map,这样我就可以使用开发人员工具进行调试?

"configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Electron: Main",
            "protocol": "inspector",
            "cwd": "${workspaceRoot}/myapp-electron/",
            "program":  "${workspaceRoot}/myapp-electron/dist/main/main.js",
            "runtimeExecutable": "${workspaceRoot}/myapp-electron/node_modules/.bin/electron.cmd",
            "runtimeArgs": [
                "--remote-debugging-port=9223",
                "."
            ],
            "windows": {
                "runtimeExecutable": "${workspaceRoot}/myapp-electron/node_modules/.bin/electron.cmd",
            }
        },
        {
            "name": "Electron: Renderer",
            "type": "chrome",
            "request": "attach",
            "port": 9223,
            "webRoot": "${workspaceFolder}/myapp-electron",
            "timeout": 30000
        }
    ],

字符串

kmb7vmvb

kmb7vmvb1#

你可以从vscode调试主进程和渲染器进程。访问这个链接vscode-recipes/Electron
在那里,你会发现一个launch.json,你可以使用它作为参考。这里是一个例子:

{
  "version": "0.2.0",
  "configurations": [
      {
          "type": "node",
          "request": "launch",
          "name": "Electron: Main",
          "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
          "runtimeArgs": [
              "--remote-debugging-port=9223",
              "."
          ],
          "windows": {
              "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
          }
      },
      {
          "name": "Electron: Renderer",
          "type": "chrome",
          "request": "attach",
          "port": 9223,
          "webRoot": "${workspaceFolder}",
          "timeout": 30000
      }
  ],
  "compounds": [
      {
          "name": "Electron: All",
          "configurations": [
              "Electron: Main",
              "Electron: Renderer"
          ]
      }
  ]

字符串
}

注意:为了调试渲染器进程,您需要预先 * 运行 * 主进程。

相关问题