Я начинаю использовать vscode для Python. У меня есть простая тестовая программа. Я хочу запустить его в режиме отладки, и мне нужно установить рабочий каталог для запуска.
Как / где мне это сделать?
Я начинаю использовать vscode для Python. У меня есть простая тестовая программа. Я хочу запустить его в режиме отладки, и мне нужно установить рабочий каталог для запуска.
Как / где мне это сделать?
Ответы:
Комментарий @ SpeedCoder5 заслуживает того, чтобы быть ответом;
В частности, вы можете указать динамический рабочий каталог; (т.е. в любом каталоге, где находится текущий открытый файл Python), используя"cwd": "${fileDirname}"
Если вы используете эту Python: Current File (Integrated Terminal)
опцию при запуске Python, ваш launch.json
файл может выглядеть как мой, как показано ниже.
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}"
},
//... other settings, but I modified the "Current File" setting above ...
}
[Помните, что launch.json
файл управляет настройками запуска / отладки вашего проекта кода Visual Studio] [1]; мой launch.json
файл был автоматически сгенерирован VS Code в каталоге моего текущего «Open Project». Я просто отредактировал файл вручную, чтобы добавить, "cwd": "${fileDirname}"
как показано выше.
Помните, что launch.json
файл может относиться к вашему проекту или к вашему каталогу, поэтому убедитесь, что вы редактируете правильный launch.json
(см. Комментарий)
Если у вас нет launch.json
файла, попробуйте следующее :
Чтобы создать файл launch.json, откройте папку проекта в VS Code («Файл»> «Открыть папку»), а затем щелкните значок «Настроить шестеренку» на верхней панели представления отладки. [1]: https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations
Все, что вам нужно сделать, это настроить параметр cwd в файле launch.json следующим образом:
{
"name": "Python",
"type": "python",
"pythonPath":"python",
....
"cwd": "<Path to the directory>"
....
}
Более подробную информацию об этом можно найти на официальном сайте документации VS Code .
"cwd": "${fileDirname}"
для запуска в текущем каталоге файла с открытым исходным кодом
В некоторых случаях также может быть полезно установить PYTHONPATH
вместе с workspaceFolder
:
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${cwd}"
}
}
Я публикую этот образец конфигурации для людей, которые используют TypeScript на Node.js
в моем проекте мои файлы TypeScript сервера Node.js находятся в папке Application_ts, а скомпилированные файлы js создаются в папке с именем Application
потому что, когда мы запускаем наше приложение в режиме отладки или запускаем его обычно, мы должны начать с папки приложения, которая содержит файлы js, поэтому ниже конфигурация запускает отладку из корневой папки, где мой application_ts также существует и отлично работает
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug TypeScript in Node.js",
"program": "${workspaceRoot}\\Application\\app.js",
"cwd": "${workspaceRoot}\\Application",
"protocol": "inspector",
"outFiles": [],
"sourceMaps": true
},
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 5858,
"outFiles": [],
"sourceMaps": true
}
]
}
Вы можете настроить текущий рабочий каталог для отлаженной программы, используя cwd
аргумент вlaunch.json
Чтобы установить текущий рабочий каталог для любого файла, который вы выполняете в данный момент:
Файл> Настройки> Настройки> Python> Наука о данных> Выполнить в файловом каталоге
Спасибо, brch: Python в VSCode: каждый раз устанавливайте рабочий каталог на путь к файлу python