Task Explorer 是由 spmeesseman 开发的 vscode 扩展,将 npm、shell、python 等脚本可视化为可搜索/点击执行的树形列表;支持自动扫描 package.json、tasks.json、Makefile 等,可手动刷新、传参运行、分组过滤,并协同多根工作区与调试任务。

VSCode 的任务浏览器(Task Explorer)本身并不是内置功能,而是由扩展 Task Explorer(作者:spmeesseman)提供的第三方工具,它能将项目中的各类脚本(如 npm、shell、Python、Makefile 等)可视化为可点击、可搜索、可快速执行的树形列表。用好它,能显著减少终端切换和命令记忆负担。
安装与基础配置
在 VSCode 扩展市场中搜索 “Task Explorer”,安装后重启编辑器。它会自动扫描当前工作区,尝试识别以下来源的任务:
- package.json 中的
scripts字段(npm/yarn/pnpm 脚本) - tasks.json(
.vscode/tasks.json)中定义的自定义任务 - Makefile、justfile、script/*.sh 或 pyproject.toml(如使用
poetry run或task工具)等常见脚本入口
若未自动识别,可在设置中启用对应探测器,例如:"taskExplorer.detect.npm": true。也可通过右键资源管理器 → “Task Explorer” → “Refresh Tasks” 手动触发扫描。
快速执行与参数传递
在 Task Explorer 视图中,点击任意脚本即可直接运行(等效于在终端中执行)。对带参数的脚本(如 npm run build -- --watch),支持两种方式:
- 右键脚本 → “Run with arguments…” 输入参数(空格分隔),适用于一次性调试
- 在
tasks.json中为该任务配置args字段,并勾选 “Use args from tasks.json”(在 Task Explorer 设置中开启)
注意:某些脚本(如含交互式输入的 Python 脚本)默认在集成终端中运行,不会阻塞编辑器;如需查看完整输出,可点击任务旁的“Terminal”图标跳转到对应终端面板。
自定义分组与过滤
默认所有任务平铺显示,大型项目容易杂乱。可通过以下方式组织:
- 在
package.json的 script 名称中使用冒号分隔命名空间,例如"build:dev"、"test:e2e",Task Explorer 会自动按:拆分为嵌套节点 - 在
tasks.json中为任务添加"group"字段(如"group": "build"),它会在 Task Explorer 中创建独立分组 - 顶部搜索框支持模糊匹配,输入关键词(如 “lint” 或 “ci”)实时筛选可见任务
与调试/多根工作区协同
Task Explorer 支持多根工作区(Multi-root Workspace),每个文件夹下的任务独立显示,带文件夹前缀标识。若某任务需配合调试启动(如先构建再调试),可:
- 将构建任务设为
"isBuildCommand": true,然后在launch.json中配置"preLaunchTask"引用其 label - 在 Task Explorer 中右键任务 → “Configure as build task”,一键生成或更新
tasks.json中的构建任务定义
它不替代 tasks.json 的底层能力,而是让这些定义更直观、更易触达。
基本上就这些。Task Explorer 不是万能的,但它把“找脚本→记命令→切终端→敲回车”这个链路压缩成一次点击。适合中大型项目或频繁切换脚本场景,小项目开箱即用也无负担。