VS Code中设置Python Shell默认启动目录为src的方法求助
VS Code中设置Python Shell默认启动目录为src的方法求助
我太懂这种反复切换目录的麻烦了!针对你这个ETL模板项目的需求,其实有几个靠谱的解决办法,帮你把Python Shell默认启动到src目录:
方案1:修改VS Code工作区设置(推荐)
你之前试过改.vscode/settings.json但没成功,大概率是没用到正确的配置项。直接在项目的.vscode/settings.json里添加以下内容:
{ // 关闭Python终端在文件所在目录启动的默认行为 "python.terminal.executeInFileDir": false, // 设置终端默认工作目录为项目根目录下的src文件夹 "terminal.integrated.cwd": "${workspaceFolder}/src", // 如果使用VS Code的交互式Python窗口(REPL面板),补充这个配置 "python.interactiveShell.cwd": "${workspaceFolder}/src" }
保存后重启VS Code,再按shift+enter运行代码,终端/交互窗口就会直接在src目录启动了。这个设置是项目专属的,不会影响你其他VS Code项目。
方案2:代码层面自动切换目录(兜底方案)
如果担心团队里其他开发者不会改VS Code设置,可以在main.py或者核心模块的开头加上一段自动切换目录的代码:
import os # 获取当前文件所在的目录(即src目录) current_dir = os.path.dirname(os.path.abspath(__file__)) # 切换工作目录到src os.chdir(current_dir)
这样不管开发者的Shell启动在哪个目录,运行代码时都会自动切换到src,彻底避免路径问题,对团队协作更友好。
方案3:自定义终端任务(进阶)
你也可以在.vscode/tasks.json里定义一个专属任务,启动Python Shell时自动进入src目录:
{ "version": "2.0.0", "tasks": [ { "label": "Python Shell (src dir)", "type": "shell", "command": "cd src && python", "presentation": { "reveal": "always" }, "problemMatcher": [] } ] }
之后通过Ctrl+Shift+B选择这个任务就能启动目标目录的Shell,适合需要自定义更多终端行为的场景。
你可以先试试方案1,应该就能解决你的问题了,如果还有问题可以告诉我你的VS Code版本和Python插件版本,我再帮你排查~
备注:内容来源于stack exchange,提问作者excelman
相关产品推荐
相关产品推荐

