Отладчик VSCode, ориентированный на iframe - PullRequest
0 голосов
/ 11 февраля 2019

Я занимаюсь разработкой панели CEP (веб-приложение, предназначенное для запуска в приложении Adobe Creative Cloud через Chromium Embedded Framework - в моем случае Photoshop).Отладка выполняется в Chrome Dev Tools, подключение к localhost:8088 - этот порт определен в файле конфигурации manifest.xml.

Во время разработки моя система сборки (Gulp, Rollup, Bublé) работает на отдельном локальном сервере.на порту 8080, который обслуживает содержимое панели.Фактически, точка входа Panel в Photoshop - index-wrapper.html, которая содержит <iframe>, который загружает index.html из localhost:8080.

Это может показаться запутанным, но позволяет использовать, например, инструменты разработки Vue.js на localhost:8080, и присоединять сеанс отладки, более специфичный для Panel / Photoshop на localhost:8088, для доступа к сценариям и библиотекамкоторые имеют дело с хост-приложением (например, CSInterface.js).Я не использую следующую настройку , но это изображение может помочь описать это:

Подводя итог:

  • 8080 используется для отладки веб-панели / Vue.js панели
  • 8088 используется для отладки взаимодействия Panel / Photoshop

при отладке 8088 в DevTools я не могу получить доступ к интересующим меня скриптам / библиотекам Panel, потому что они находятся внутри <iframe>: я должен выбрать правильный контекст (как показано в этой теме ):

default

Selecting the iframe

csi не определено, когда "Top" установленвыбрано, а не когда выбран «localhost» - это нормально.

Как мне сказать VSCode проверить, что iframe?Мой текущий .vscode/launch.json выглядит следующим образом:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "CEP Debugger",
            "type": "chrome",
            "request": "attach",
            "port": 8088,
            "webRoot": "${workspaceRoot}/build/com.example.myProduct/index.html",
            "sourceMapPathOverrides": {
              "../../../*": "${workspaceRoot}/*"
            }
        }
    ]
}

Есть ли способ указать VSCode нацеливание на iframe - то же самое, что я сделал вручную с раскрывающимся списком, но программно?

Спасибо.

PS: указание VSCode на 8080 не является решением, так как мне нужно отладить 8088 и его подключение к приложению хоста.

...