tasks.json必须放在项目根目录的.vscode/tasks.json路径下,VSCode仅识别该位置文件,不向上查找或向下扫描,且只对“文件夹工作区”生效;放错路径则任务彻底消失。

tasks.json 必须放在正确位置,否则 VSCode 完全无视
VSCode 只认工作区根目录下 .vscode/tasks.json 这一个路径。放错地方——比如 .vscode/tasks/tasks.json、task.json、或子文件夹里——任务就彻底消失,Ctrl+Shift+P → Tasks: Run Task 列表为空,连报错都不会有。
- 检查路径:必须是
your-project/.vscode/tasks.json(注意是.vscode文件夹,不是vscode或其他) - 别用编辑器“另存为”误存到桌面或下载目录;右键项目根目录 → “在 VSCode 中打开”,再通过命令面板
Tasks: Configure Task生成 - 多根工作区下,每个文件夹需各自有
.vscode/tasks.json,父级配置不继承
command 要写绝对路径,别信 “python” 或 “python3”
写 "command": "python" 看似省事,实则埋雷:VSCode 不走 shell 初始化,不会加载 .zshrc 或激活虚拟环境,大概率调用系统全局 Python,导致 ModuleNotFoundError。
- Windows 下推荐:
"command": "C:/project/.venv/Scripts/python.exe"(正斜杠安全,双反斜杠也行) - macOS/Linux 下推荐:
"command": "/Users/name/project/.venv/bin/python" - 验证方法:终端里
which python和 VSCode 右下角显示的解释器路径必须一致;不一致就说明command指错了 - 如果脚本依赖同目录模块(如
import utils),args别只写"${file}",改用["-m", "package.main"]或显式加"-c"执行逻辑
group 设为 "default" 才能绑定 Ctrl+Shift+B,大小写和空格都不能错
想用快捷键一键运行?group 字段必须严格等于 "default"(全小写、无空格、无引号外多余字符)。写成 "Default"、"build"、"default " 都无效。
- 确保该 task 是 tasks 数组中第一个
group: "default"的条目;VSCode 只绑定第一个 - 重启 VSCode 或执行
Developer: Reload Window有时能刷新任务缓存(尤其改过配置后没反应) - 如果仍不生效,打开集成终端手动运行
python your_script.py成功,但快捷键没反应——基本锁定是group值或位置问题
type 选 "shell",别用 "process",否则环境变量全丢
"type": "process" 启动的是裸进程,不经过 shell,PATH、PYTHONPATH、虚拟环境激活状态统统失效。调试时看着脚本跑起来了,却报找不到包,八成栽在这儿。
立即学习“Python免费学习笔记(深入)”;
- 一律用
"type": "shell",它会继承你终端里的环境变量(包括venv激活后的 PATH) - 加
"presentation": {"panel": "new"}避免多个任务共用终端导致输出混杂或残留变量干扰 - 想让 print 立刻刷出(尤其带日志时间戳时),在
args开头加"-u",例如["-u", "${file}"],强制 Python 不缓冲 stdout


















