Claude Code 高级配置与自动化

Claude_Code

适合进阶用户的深度定制技巧

一、自定义斜杠命令(Custom Commands)

1. 创建项目级命令

在项目中创建 .claude/commands/ 目录,每个 .md 文件就是一个命令:

mkdir -p .claude/commands

示例:创建一个 /review 命令

# .claude/commands/review.md
请对当前 Git 暂存区的代码进行 Code Review:
 
1. 检查代码质量和可读性
2. 检查潜在的 Bug 和安全问题
3. 检查是否符合项目的代码规范
4. 给出改进建议
 
输出格式:
- 严重问题(必须修复)
- 建议改进(可选)
- 总体评价

使用:在 Claude Code 中输入 /review 即可。

2. 创建全局命令

mkdir -p ~/.claude/commands
 
# ~/.claude/commands/daily.md
帮我总结今天在当前项目中的所有 Git 提交:
1. 列出所有 commit 及其内容
2. 统计修改的文件数和代码行数
3. 给出一段简短的日报文字

3. 带参数的命令

命令文件中可以使用 $ARGUMENTS 占位符:

# .claude/commands/explain.md
请详细解释以下代码或概念:$ARGUMENTS
 
用通俗易懂的语言,假设我是一个初级开发者。
如果涉及代码,请给出示例。

使用:/explain Kotlin 协程的 structured concurrency

二、Skills 技能系统

4. 创建自定义技能(Issue #9716, 67 reactions)

mkdir -p .claude/skills/android-debug
# .claude/skills/android-debug/skill.md
---
name: android-debug
description: Android 调试助手,帮助分析 logcat、ANR、crash 日志
trigger: 当用户提到 logcat、ANR、crash、崩溃、调试 时自动触发
---
 
## Android 调试技能
 
当用户需要调试 Android 问题时:
 
1. 首先确认问题类型(crash / ANR / 性能 / UI)
2. 请求相关日志(logcat / tombstone / trace)
3. 分析日志中的关键信息
4. 给出排查方向和修复建议
 
### 常用命令
- `adb logcat -b crash` — 查看 crash 日志
- `adb bugreport` — 生成完整 bug 报告
- `adb shell dumpsys activity activities` — 查看 Activity 栈

三、Hooks 自动化

5. 什么是 Hooks

Hooks 是在特定事件触发时自动执行的 Shell 命令。配置在 settings.json 中:

// ~/.claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "command": "echo '正在编辑文件...'"
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write",
        "command": "npx prettier --write $CLAUDE_FILE_PATH"
      }
    ]
  }
}

6. 实用 Hook 示例

编辑后自动格式化:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx prettier --write $CLAUDE_FILE_PATH 2>/dev/null || true"
      }
    ]
  }
}

阻止编辑敏感文件:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "echo $CLAUDE_FILE_PATH | grep -qE '\\.(env|key|pem)$' && echo 'BLOCKED: 不允许编辑敏感文件' && exit 1 || exit 0"
      }
    ]
  }
}

四、Token 成本控制

7. 成本优化策略一览

策略节省效果操作
精简 MCP 工具减少 30-85%移除不用的 MCP Server
定期 /compact减少 20-40%长会话中每 30 分钟压缩
新开会话避免缓存失效每个独立任务新开会话
精确提问减少来回一次说清楚需求
善用 CLAUDE.md减少重复说明把常用上下文写入文件
模型选择性价比优化简单任务用 Sonnet

8. 监控用量

/status              # 查看当前会话用量

遇到频率限制时(Issue #16157, 688 reactions):

  • 等待冷却后继续
  • 拆分大任务到多个会话
  • 考虑使用 API Key 模式(按量计费更可控)

五、多环境配置

9. XDG 目录规范(Issue #1455, 332 reactions)

Linux 用户可以自定义配置目录位置:

# 在 ~/.bashrc 或 ~/.zshrc 中添加
export CLAUDE_CONFIG_DIR="$HOME/.config/claude"

10. 多账户管理(Issue #18435, 301 reactions)

目前没有内置的多账户切换,但可以通过环境变量变通:

# 创建别名
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'

六、终端体验优化

11. 解决终端闪烁问题(Issue #3648, 837 reactions)

如果在 VS Code/Cursor 内置终端中遇到闪烁或滚动异常:

方案 1:使用独立终端 推荐的终端应用:

  • Ghostty — 性能最好
  • iTerm2 — macOS 经典
  • Windows Terminal — Windows 推荐
  • Warp — 现代化设计

方案 2:调整设置

// VS Code settings.json
{
  "terminal.integrated.scrollback": 10000,
  "terminal.integrated.gpuAcceleration": "on"
}

12. 关闭花哨的进度提示(Issue #6814, 218 reactions)

很多用户反感 “Sparkling…”、“Blooping…” 等花哨状态词。可以在 settings 中调整输出风格。


下一篇: 04-实战场景与最佳实践