Python in VSCode: 每次都将工作目录设置为 python 文件路径
Python in VSCode: Set working directory to python file's path everytime
所以我想从 Spyder 迁移到 VSCode,我遇到了这个问题,我无法访问数据集,因为我的工作目录与数据集的路径不同。
launch.json
不是为我自动生成的,因为我没有调试任何东西 ()。
如何在 VSCode 中将工作目录设置为始终是我想要 运行 的 Python 文件的目录? (如果这是不好的做法,你能告诉我一个易于使用的配置吗?)我想为 VSCode 的 IPython 终端设置它。
您可以在 the Visual Studio Code User Guide 中找到有关 launch.json
设置文件的更多详细信息,包括如何创建一个设置文件及其含义。
简而言之,您应该能够创建一个 launch.json
文件,您通常使用 Open Worspace 打开目录的 .vscode
子文件夹并粘贴 提供的片段。如果您发现它不起作用,您可以尝试将 cwd
选项更改为:
"cwd": "${fileDirname}"
至此
"cwd": ""
我认为你需要的设置在这里:
文件 > 首选项 > 设置 > Python > 数据科学 > 在文件目录中执行
更新的解决方案:从 2021 年 1 月 21 日开始工作
选项 1:
- 找到并打开用户设置文件:
- Windows
%APPDATA%\Code\User\settings.json
- macOS
$HOME/Library/Application Support/Code/User/settings.json
- Linux
$HOME/.config/Code/User/settings.json
- 添加这一行:
"python.terminal.executeInFileDir": true
选项 2:
- 打开设置编辑器:
- 开启 Windows/Linux - 文件 > 首选项 > 设置
- 在 macOS 上 - 代码 > 首选项 > 设置
- 或使用键盘快捷键
(Ctrl+,)
。
- 选中以下复选框:
- 扩展 > Python > 终端:在文件目录中执行。
- 或使用搜索栏并输入此设置 ID
python.terminal.executeInFileDir
。
将以下设置添加到您的 settings.json
"python.terminal.executeInFileDir": true,
"code-runner.fileDirectoryAsCwd": true
至 Dr. S's solution I added the "code-runner.fileDirectoryAsCwd": true
setting from the Code Runner 分机。第一个设置仅在终端中为 运行 时才将工作目录设置为 python 文件路径。但是,如果输出选项卡中的代码为 运行 和 CTRL+ALT+N
,则工作目录将恢复为根目录。这也可能是 launch.json
文件中的任何设置(例如 "cwd": "${fileDirname}"
)不起作用的原因,我也曾尝试过。第二个设置解决了这个问题,它允许您将工作目录设置为 python 文件的路径,即使您选择 运行 终端外的代码也是如此。
更新的解决方案自 2022 年 1 月 24 日起运行
可以在“设置”菜单中更改。转到文件 > 首选项 > 设置并搜索“在文件路径中执行”。您会找到一个名为:
的选项
Python > Terminal: Execute In File Dir
When executing a file in the terminal, whether to use execute in the file's directory, instead of the current open folder.
Mind you 除非您在代码中将目录作为工作区打开,否则此页面上的解决方案不起作用。如果您只是打开脚本,none 这些答案有效。
MSFT 不认为这是一个值得解决的问题。因为他们岛上的每个人都在不使用脚本的工作区工作,即使使用脚本语言也是如此。
所以我想从 Spyder 迁移到 VSCode,我遇到了这个问题,我无法访问数据集,因为我的工作目录与数据集的路径不同。
launch.json
不是为我自动生成的,因为我没有调试任何东西 (
如何在 VSCode 中将工作目录设置为始终是我想要 运行 的 Python 文件的目录? (如果这是不好的做法,你能告诉我一个易于使用的配置吗?)我想为 VSCode 的 IPython 终端设置它。
您可以在 the Visual Studio Code User Guide 中找到有关 launch.json
设置文件的更多详细信息,包括如何创建一个设置文件及其含义。
简而言之,您应该能够创建一个 launch.json
文件,您通常使用 Open Worspace 打开目录的 .vscode
子文件夹并粘贴cwd
选项更改为:
"cwd": "${fileDirname}"
至此
"cwd": ""
我认为你需要的设置在这里:
文件 > 首选项 > 设置 > Python > 数据科学 > 在文件目录中执行
更新的解决方案:从 2021 年 1 月 21 日开始工作
选项 1:
- 找到并打开用户设置文件:
- Windows
%APPDATA%\Code\User\settings.json
- macOS
$HOME/Library/Application Support/Code/User/settings.json
- Linux
$HOME/.config/Code/User/settings.json
- Windows
- 添加这一行:
"python.terminal.executeInFileDir": true
选项 2:
- 打开设置编辑器:
- 开启 Windows/Linux - 文件 > 首选项 > 设置
- 在 macOS 上 - 代码 > 首选项 > 设置
- 或使用键盘快捷键
(Ctrl+,)
。
- 选中以下复选框:
- 扩展 > Python > 终端:在文件目录中执行。
- 或使用搜索栏并输入此设置 ID
python.terminal.executeInFileDir
。
将以下设置添加到您的 settings.json
"python.terminal.executeInFileDir": true,
"code-runner.fileDirectoryAsCwd": true
至 Dr. S's solution I added the "code-runner.fileDirectoryAsCwd": true
setting from the Code Runner 分机。第一个设置仅在终端中为 运行 时才将工作目录设置为 python 文件路径。但是,如果输出选项卡中的代码为 运行 和 CTRL+ALT+N
,则工作目录将恢复为根目录。这也可能是 launch.json
文件中的任何设置(例如 "cwd": "${fileDirname}"
)不起作用的原因,我也曾尝试过。第二个设置解决了这个问题,它允许您将工作目录设置为 python 文件的路径,即使您选择 运行 终端外的代码也是如此。
更新的解决方案自 2022 年 1 月 24 日起运行
可以在“设置”菜单中更改。转到文件 > 首选项 > 设置并搜索“在文件路径中执行”。您会找到一个名为:
的选项Python > Terminal: Execute In File Dir
When executing a file in the terminal, whether to use execute in the file's directory, instead of the current open folder.
Mind you 除非您在代码中将目录作为工作区打开,否则此页面上的解决方案不起作用。如果您只是打开脚本,none 这些答案有效。
MSFT 不认为这是一个值得解决的问题。因为他们岛上的每个人都在不使用脚本的工作区工作,即使使用脚本语言也是如此。