VSCode: Возможно ли запустить «последнюю» конфигурацию запуска с теми же параметрами? например, я не хочу, чтобы тест был сфокусирован для его запуска - PullRequest
1 голос
/ 26 февраля 2020

из мира интеллигентов, запуск теста по щелчку правой кнопкой мыши создает динамическую c конфигурацию запуска. когда вы просматриваете другой файл, вы можете просто продолжать отладку с той же конфигурацией, я замечаю, что с vscode это не так, я должен быть в файле, чтобы запустить тест. Есть ли способ, плагин или иным образом копировать поведение Intellij? Я посмотрел, но ничего не смог найти.

    {
      "type": "node",
      "request": "launch",
      "name": "Jest Current File",
      "program": "${workspaceFolder}/node_modules/.bin/jest",
      "args": [
        "${fileBasenameNoExtension}",
        "--config",
        "jest.config.js"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "disableOptimisticBPs": true,
      "windows": {
        "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      }
    },

1 Ответ

0 голосов
/ 29 февраля 2020

Расширение Test Explorer

Используя пользовательский интерфейс Test Explorer и Jest Test Explorer , вы можете получить хотя бы часть пути туда.

Расширение Test Explorer добавляет команду с именем test-explorer.redebug. В палитре команд описание выглядит следующим образом: « Тестовый проводник: повторите последний тестовый запуск в отладчике ».

Эта команда работает с оговоркой, что «последний тестовый запуск» означает последний тестовый прогон с использованием расширения Test Explorer .


Конфигурация отладки

launch.json поддерживает использование команд, добавленных расширениями, как указано здесь :

Когда командная переменная интерполируется, команда запускается и переменная заменяется результатом команды (строка).

Мы можем (ab) использовать этот факт, чтобы собрать воедино конфигурацию отладки, которая запустит команду:

{
  "type": "node",
  "request": "launch",
  "name": "Last Test",
  "args": [
    "${command:test-explorer.redebug}",
  ],
}

Теперь вы можете запустить файл, пакет или тест с помощью пользовательского интерфейса Test Explorer, а затем отладить этот же файл, набор или тест, нажав клавишу F5, независимо от того, какой файл находится в фокусе.


Недостатки

Есть ограничения и недостатки.

  • Это похоже на хак в том смысле, что это менее отладочная конфигурация, чем механизм (взломанный) для простого присоединения клавиши F5 к команде расширения.
  • Вы теряете детальный контроль над конфигурацией отладки, так как вы по существу используете конфигурацию, предоставленную расширением, а не свою собственную. Например, выходные данные отправляются на консоль отладки, и нет никакого очевидного способа отправить ее на встроенный терминал.
  • «Тест последнего запуска» не знает о тестах, запускаемых за пределами пользовательского интерфейса Test Explorer. Например, запуск конфигурации отладки «Jest Current File» не обновляет «тест последнего запуска». Также не используется возможность «Отладка», предоставляемая расширением vscode-jest .

Тем не менее, если основной целью является возможность F5 перейти в сеанс отладки, независимо от того, какой файл находится в фокусе, этот подход может быть достаточно хорошим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...