Я хотел бы создать привязку клавиш для отладки определенного pytest. Мне было интересно, можно ли изменить .vscode/launch.json
так, чтобы всякий раз, когда я нажимаю F5
, он выполнял отладку определенного теста вместо того, чтобы каждый раз нажимать его вручную, как показано на этом изображении.
Я попробовал установить сочетание клавиш: testing.debugAtCursor
, но оно отлаживает все тесты, которые есть в моей параметризации, и в идеале мне хотелось бы найти решение для запуска определенного теста без необходимости делать это pytest.skip
.
Я не смог найти команду для запуска существующей конфигурации отладки в файле launch.json и прекратил поиск. Я нашел debug.startFromConfig
, но вам нужно скопировать конфигурацию отладки в keybindings.json, так что это не совсем идеально, но вот. Если вы хотите, чтобы он был определен только для определенной рабочей области, вы, вероятно, можете сделать это с помощью предложения if, используя контекстный ключ resourceFilename
и проверяя, начинается ли он с пути к конкретной папке рабочего пространства.
Пример из моего тестирования:
{
"key": "ctrl+b",
"command": "debug.startFromConfig",
"args": {
"name": "test",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/test.cpp",
"cwd": "${workspaceFolder}",
},
},
См. Также 🔁 https://github.com/microsoft/vscode/blob/83b92b5e974ed5b67559d6176848f2b5b5f24de/src/vs/workbench/contrib/debug/browser/debugmands.tr🔁libsli. /Microsoft /vscode/blob/main/src/vs/workbench/contrib/debug/common/debug.ts#L817 , https://github.com/microsoft/vscode/blob/83b92b5e974ed5b67559d6176848f2b11b5f24de/src/vs/workbench/ contrib/debug/browser/debugCommands.ts#L754