跳到主要内容

🪝 自定义 Hooks 开发

欢迎来到自定义 Hooks 教程!在本课程中,你将学习如何创建自己的 ECC 钩子来自动化重复性任务 — 让你的开发流程像瑞士钟表一样精准运行。

前置知识

建议先熟悉 Hooks 钩子 核心概念。

🎮 体验钩子系统

ECC 的钩子在特定时机自动触发。试试这些命令来了解不同的钩子类型:

ECC Command Simulator
Available Commands:

📚 从零创建自定义 Hook

让我们一步一步创建一个实用的自定义钩子:

创建 auto-format Hook

Step 1 of 5
1

理解钩子结构

每个 ECC 钩子由 4 个核心属性组成:name(名称)、trigger(触发条件)、filePattern(文件匹配)、command(执行命令)。就像设置闹钟 — 什么时间(trigger)、闹哪些天(filePattern)、播什么铃声(command)。

// Hook structure
{
  "name": "hook-name",        // Unique identifier
  "trigger": "edit_file",      // When to trigger
  "filePattern": "*.{ts,tsx}",  // Which files to watch
  "command": "npx prettier --write ${file}"  // What to execute
}
💡${file} 是内置变量,会自动替换为被编辑的文件路径

💻 编写你自己的 Hook

在代码实验室中编写一个完整的钩子配置。尝试添加你自己的规则:

自定义 Hook 配置json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

❓ 知识检测

以下哪种钩子类型最适合'每次保存文件后自动运行 Prettier'?

如果 preCommit 钩子检测到 console.log,最佳做法是什么?

stop 钩子和 preCommit 钩子的关键区别是什么?

🎉 恭喜!

你已完成自定义 Hooks 教程!你掌握了:

  • ✅ 三种钩子类型:postToolUse、preCommit、stop
  • ✅ 钩子的核心配置结构
  • ✅ 自动格式化与类型检查钩子
  • ✅ console.log 检测与提交阻止
  • ✅ 会话结束审计钩子

📖 下一步