Как заставить приложения Electron для списания с помощью VS Code хорошо работать

#typescript #visual-studio-code #electron

#typescript #visual-studio-code #electron

Вопрос:

У меня есть электронное приложение на основе TypeScript, которое я разрабатываю в VS Code. В настоящее время моя настройка отладки выглядит следующим образом:

  1. Запись конфигурации запуска для программы запуска Electron
  2. Запись конфигурации запуска для средства визуализации electron

Программа запуска отлаживается в VS code просто отлично, однако рендеринг никогда не подключается. Я могу использовать отладчик Chrome в браузере, но ни одна из исходных карт для TypeScript не работает должным образом, отображаются неправильные строки. Например, фактическая точка останова может быть в строке 50, но отладчик останавливается на строке 65.

В идеальном мире я мог бы отлаживать TypeScript из VS code. Есть ли способ добиться этого? Есть ли способ заставить Chrome правильно обрабатывать исходные карты, чтобы я мог использовать инструменты разработчика для отладки?

 "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
        }
    ],
  

Комментарии:

1. Можете ли вы описать, как вы пытаетесь отладить средство визуализации? Что касается меня, после запуска программы («Electron: Main») я переключаюсь на «Electron: Renderer», запускаю ее, затем выбираю файл renderer из выпадающего списка, а затем обновляю главную страницу (Ctrl R с открытыми devtools)

2. Я просто подключался после завершения запуска Main. Я попробую обновить браузер и посмотреть, что произойдет.