任务与运行配置
这一章解决什么问题
终端适合临时命令,任务适合重复命令。
如果你每天都要运行 npm run dev、npm test、python main.py、cargo test,就应该把它们整理成 Zed 任务。这样你不用每次重新敲命令,也能把项目的启动方式留给团队成员。
什么时候用终端,什么时候用任务
| 场景 | 推荐方式 |
|---|---|
| 临时查一下状态 | 终端 |
| 第一次安装依赖 | 终端 |
| 每天固定启动项目 | 任务 |
| 固定跑测试 | 任务 |
| 给团队留下统一入口 | 项目任务 |
| 只属于你自己的习惯命令 | 全局任务 |
简单说:不确定的命令放终端,确定会反复用的命令做成任务。
打开任务配置
Zed 有两类任务:
| 类型 | 保存位置 | 适合放什么 |
|---|---|---|
| 全局任务 | 用户目录下的 Zed 配置 | 你个人所有项目都常用的命令 |
| 项目任务 | 项目里的 .zed/tasks.json | 这个项目的启动、测试、构建命令 |
在命令面板里搜索:
zed: open taskszed: open project taskstask: spawn
项目任务更适合开源项目,因为别人打开仓库后也能看到同样的启动方式。
前端项目任务示例
在项目根目录创建 .zed/tasks.json:
json
[
{
"label": "dev: start frontend",
"command": "npm",
"args": ["run", "dev"],
"cwd": "$ZED_WORKTREE_ROOT",
"reveal": "always"
},
{
"label": "check: build",
"command": "npm",
"args": ["run", "build"],
"cwd": "$ZED_WORKTREE_ROOT",
"reveal": "always",
"hide": "on_success"
},
{
"label": "check: test",
"command": "npm",
"args": ["test"],
"cwd": "$ZED_WORKTREE_ROOT",
"reveal": "always"
}
]然后用命令面板运行 task: spawn,选择对应任务。
Windows 项目的注意事项
命令尽量拆成 command 和 args
推荐:
json
{
"label": "dev",
"command": "npm",
"args": ["run", "dev"]
}少用一整串命令:
json
{
"label": "dev",
"command": "npm run dev"
}拆开后更容易跨 PowerShell、Git Bash、WSL 和不同机器。
路径尽量用变量
常用变量:
| 变量 | 含义 |
|---|---|
$ZED_WORKTREE_ROOT | 当前项目根目录 |
$ZED_FILE | 当前文件 |
$ZED_SELECTED_TEXT | 当前选中的文本 |
项目任务里优先用 $ZED_WORKTREE_ROOT,不要写死 D:\xxx\xxx。
命令找不到时先检查 PATH
如果任务里提示 npm、python、git 找不到:
- 先在 Zed 终端里运行同一个命令
- 再在 Windows PowerShell 里运行同一个命令
- 如果外部也失败,先修系统环境变量
- 如果外部成功、Zed 失败,再检查 Zed 的终端 shell 配置
和 Git 工作流配合
任务可以让“改代码 -> 跑检查 -> 提交”更顺:
- 修改代码
- 运行
check: build - 运行
check: test - 打开 Git 面板看 diff
- 暂存并提交
如果是开源项目,建议至少提供这三个任务:
| 任务 | 作用 |
|---|---|
dev | 启动本地开发 |
build | 确认能生成正式版本 |
test 或 lint | 做基础检查 |
给这个教程站的任务示例
这个 VitePress 教程站可以这样配置:
json
[
{
"label": "docs: dev",
"command": "npm",
"args": ["run", "dev"],
"cwd": "$ZED_WORKTREE_ROOT",
"reveal": "always"
},
{
"label": "docs: build",
"command": "npm",
"args": ["run", "build"],
"cwd": "$ZED_WORKTREE_ROOT",
"reveal": "always",
"hide": "on_success"
}
]这样后面无论你自己维护,还是开源给别人,都能快速跑起来。
本章小结
- 终端负责临时命令,任务负责固定流程
- 项目任务适合跟仓库一起保存
- Windows 上不要写死本机路径
- 开源项目至少保留 dev、build、test/lint 入口