VSCode全局设置集成终端cwd为当前文件目录及配置无效排查
VSCode全局配置Python运行默认工作目录为当前文件目录方案
核心诉求
- 运行Python脚本时,集成终端默认工作目录为当前运行脚本所在目录,而非工作区根目录
- 配置全局生效,无需逐项目修改
launch.json - 适配Windows 11 21H2环境,解决此前配置
"terminal.integrated.cwd": "${fileDirname}"不生效的问题 - 满足相对路径书写、缩短路径长度、适配Path Intellisense路径提示的使用需求
配置步骤
- 打开全局用户配置文件
按Ctrl+Shift+P调出命令面板,输入Preferences: Open User Settings (JSON),回车打开全局settings.json文件。 - 添加对应配置项
根据自己常用的Python运行方式,添加如下配置:- 若使用VSCode官方Python扩展的运行按钮执行脚本,添加以下配置:
"python.terminal.executeInFileDir": true,- 若使用Code Runner扩展执行脚本,额外补充以下配置:
"code-runner.fileDirectoryAsCwd": true,注:此前添加的
"terminal.integrated.cwd": "${fileDirname}"可按需保留,该配置仅作用于手动新建的空白集成终端,不会影响扩展自动唤起的运行终端,不会和上述配置冲突。 - 保存配置后重载VSCode窗口即可生效,重载方式:命令面板输入
Developer: Reload Window回车。
有效性验证
新建任意层级目录下的Python测试脚本,写入如下代码:
import os print(os.getcwd())
点击运行按钮后,若集成终端输出的路径为当前测试脚本所在的文件夹路径,即为配置生效。
此前配置不生效原因
"terminal.integrated.cwd": "${fileDirname}"的作用范围仅为用户手动创建的空白集成终端,Python扩展、Code Runner等扩展自动唤起执行脚本的终端,会默认覆写工作目录为工作区根目录,必须修改对应扩展自身的工作目录配置才能达到预期效果。
内容的提问来源于stack exchange,提问作者Raul Sofia
相关产品推荐
相关产品推荐

