Skip to content

任务与运行配置

这一章解决什么问题

终端适合临时命令,任务适合重复命令。

如果你每天都要运行 npm run devnpm testpython main.pycargo test,就应该把它们整理成 Zed 任务。这样你不用每次重新敲命令,也能把项目的启动方式留给团队成员。

什么时候用终端,什么时候用任务

场景推荐方式
临时查一下状态终端
第一次安装依赖终端
每天固定启动项目任务
固定跑测试任务
给团队留下统一入口项目任务
只属于你自己的习惯命令全局任务

简单说:不确定的命令放终端,确定会反复用的命令做成任务。

打开任务配置

Zed 有两类任务:

类型保存位置适合放什么
全局任务用户目录下的 Zed 配置你个人所有项目都常用的命令
项目任务项目里的 .zed/tasks.json这个项目的启动、测试、构建命令

在命令面板里搜索:

  • zed: open tasks
  • zed: open project tasks
  • task: 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

如果任务里提示 npmpythongit 找不到:

  1. 先在 Zed 终端里运行同一个命令
  2. 再在 Windows PowerShell 里运行同一个命令
  3. 如果外部也失败,先修系统环境变量
  4. 如果外部成功、Zed 失败,再检查 Zed 的终端 shell 配置

和 Git 工作流配合

任务可以让“改代码 -> 跑检查 -> 提交”更顺:

  1. 修改代码
  2. 运行 check: build
  3. 运行 check: test
  4. 打开 Git 面板看 diff
  5. 暂存并提交

如果是开源项目,建议至少提供这三个任务:

任务作用
dev启动本地开发
build确认能生成正式版本
testlint做基础检查

给这个教程站的任务示例

这个 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 入口

基于 Zed 官方文档及社区资料整理,仅供学习参考