tasks.json 必须严格放在项目根目录的 .vscode/ 子目录下,文件名小写且仅限当前工作区识别;导出即手动复制该文件,导入即放入目标项目 .vscode/ 目录;type 和 problemMatcher 字段必须正确配置才能执行并解析错误。

tasks.json 必须放在项目根目录的 .vscode/ 下
VSCode 不识别全局或任意路径下的 tasks.json。它只扫描当前打开工作区(即项目根目录)下的 .vscode/tasks.json 文件——路径必须严格小写,文件名不能是 task.json、Tasks.json 或放在 ~/.vscode/ 这类用户级目录里。常见现象是:配置写好了,但 Ctrl+Shift+P → Tasks: Run Task 列表为空,八成是放错了位置。
导出 tasks.json 就是复制整个 .vscode/tasks.json 文件
它不依赖 Profile、不走 Settings Sync、也不受 Microsoft 账户影响,本质就是一个纯项目级 JSON 配置文件。导出时只需:
– 确认当前工作区已打开(不是空窗口)
– 找到项目根目录下的 .vscode/tasks.json
– 直接复制该文件(保留原格式和注释)
– 无需清理绝对路径或平台字段——因为任务里用的 ${file}、${workspaceFolder} 等变量本身是运行时解析的,跨机器天然有效
– 注意:如果任务里硬编码了本地路径(如 "args": ["/home/alice/project/build.sh"]),那才需要手动替换为变量或相对路径
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
导入后不生效?先检查 problemMatcher 和 type 字段
即使 tasks.json 文件位置正确、语法合法,任务也可能“能看见但点不动”或“执行后不跳错误行”。关键看两个字段:
– type 必须是 "shell"(支持管道、多命令)或 "process"(仅调用单个可执行文件),不能写成 "terminal" 或留空
– 编译类任务(如 gcc、tsc)必须配 problemMatcher,否则 VSCode 不知道怎么抓错误行。例如 C/C++ 任务常用 "$gcc",TypeScript 用 "$tsc";自定义正则匹配需确保 "file"、"line"、"column" 字段名与输出格式对齐
– 如果用了 dependsOn,被依赖的任务必须在同一个 tasks.json 里,且 label 完全一致(大小写敏感)
别指望从 UI 导出 tasks.json
VSCode 设置界面、「导出配置文件」菜单、Settings Sync 全都不管 tasks.json。它不属于用户级配置,而是工作区专属资源。所谓“导出”,就是手动拷贝文件;所谓“导入”,就是把文件放进目标项目的 .vscode/ 目录。没有中间态,也没有 CLI 命令(code --export-tasks 不存在)。唯一容易被忽略的是:如果你用 Remote-SSH 或 WSL 打开项目,tasks.json 必须放在远程文件系统上(比如 /home/user/myproj/.vscode/tasks.json),本地机器上的同名文件完全无效。

















