vscode рабочий каталог при отладке python

У меня есть простая проблема относительно отладки скрипта Python на Vscode.

Когда я открываю родительский каталог по сравнению с кодом, который содержит несколько дочерних каталогов, а затем я открываю несколько файлов Python из этих дочерних каталогов.

Затем я пытаюсь отладить эти файлы.

проблема в том, что из launch.json cwd настроен как родительская папка. Но сейчас я запускаю скрипт в подпапках. и прыжки из подпапки в подпапку.

Так что менять "cwd": "workspaceRoot" время от времени для меня непрактично

Есть ли способ, что отладчик всегда будет использовать текущую папку файла сценария отладки в качестве текущего каталога?

ps этот вопрос мне не помог

3 ответа

Попробуйте установить "cwd": "", в launch.json,

по крайней мере, это работает в последней версии, я могу запускать модули python из корня и подкаталогов без изменения настроек запуска (против кода 1.16.1, расширение python 0.7)

У меня была аналогичная проблема: у меня была подпапка со скриптом Python и некоторым файлом данных. При отладке скрипта я получал ошибку с сообщением о том, что файл данных не может быть найден.

Вот конфигурация отладки, которая решила эту проблему:

      {
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}\\${relativeFileDirname}"
        }
    ]
}

Другой ответ не решил мою проблему. Это сработало, если я поставил точку в текущей конфигурации рабочего каталога вlaunch.json. Вот:

  "configurations": [
    {
      "cwd": ".",
      "name": "Python: Current file",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal"
    },
   ]

Чтобы открыть конфигурацию запуска, просто перейдите на вкладку отладки и щелкните значок верхней шестеренки.

Я использую VSCode 1.44.2.

Другие вопросы по тегам