轩辕李的博客 轩辕李的博客
首页
  • Java
  • Spring
  • 其他语言
  • 工具
  • HTML&CSS
  • JavaScript
  • 分布式
  • 代码质量管理
  • 基础
  • 操作系统
  • 计算机网络
  • 编程范式
  • 安全
  • 中间件
  • 心得
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

轩辕李

勇猛精进,星辰大海
首页
  • Java
  • Spring
  • 其他语言
  • 工具
  • HTML&CSS
  • JavaScript
  • 分布式
  • 代码质量管理
  • 基础
  • 操作系统
  • 计算机网络
  • 编程范式
  • 安全
  • 中间件
  • 心得
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 分布式

  • 代码质量管理

  • 基础

  • 操作系统

  • 计算机网络

  • AI

    • Claude Code 最佳实践(个人版)
      • 1、📚 先看看官方文档
      • 2、🚀 几个很实用的功能
        • 2.1、CLAUDE.md 文件
        • a、全局偏好(/memory)
        • 2.2、Agent 子代理
        • 2.3、钩子(Hooks)
        • 2.4、自定义斜杠命令
        • 2.5、MCP (Model Context Protocol)
      • 3、💡 一些实用小技巧
        • 3.1、快捷键
        • 3.2、命令行选项
        • a、继续上次对话
        • b、查看历史对话
        • c、随时插话
        • 3.3、进阶用法
        • a、同时处理多个任务
        • b、计划模式
        • c、系统性思考
        • d、发送图片
        • e、关于“思考等级”关键词
      • 4、🛠️ 遇到问题怎么办
        • 4.1、网络连不上
        • 4.2、MCP 不生效
        • 4.3、权限不够
        • 4.4、速度太慢
        • 4.5、账号购买与合规
      • 5、🚀 总结
    • Claude Code实战之供应商切换工具
    • Claude Code与Codex的协同工作
    • AI时代的编程心得
  • 编程范式

  • 安全

  • 中间件

  • 心得

  • 架构
  • AI
技术博客
2025-08-01
目录

Claude Code 最佳实践(个人版)

Claude Code 是 Anthropic 的官方命令行工具,基本上改变了我写代码的方式。

用了一段时间后,踩了不少坑,也摸索出一些实用技巧,整理一下分享给大家。

# 1、📚 先看看官方文档

如果你刚接触 Claude Code,官方文档还是要看一下的:

  • 官方文档:https://docs.anthropic.com/zh-CN/docs/claude-code/overview (opens new window)
  • 最佳实践:https://www.anthropic.com/engineering/claude-code-best-practices (opens new window)
  • GitHub 仓库:https://github.com/anthropics/claude-code (opens new window)

文档里面安装配置这些基础内容都有,虽然有点长,但建议还是过一遍。

# 2、🚀 几个很实用的功能

# 2.1、CLAUDE.md 文件

CLAUDE.md 用于向 Claude 介绍你的项目,相当于“项目说明书”:

## 项目说明
这是个 React 项目,用了...

## 代码规范
- TypeScript 必须用
- ESLint 规则要遵守
- 组件写函数式的

## 注意事项
- API 调用记得加 try-catch
- 提交前跑一下测试

我的经验:

  • 清楚写明项目架构与技术栈
  • 补充代码规范、测试与提交要求
  • 标注常见坑与限制条件

不想手写时,可用 /init 命令生成基础模板。

# a、全局偏好(/memory)

/memory 管理的是“用户记忆”(跨会话的长期偏好),并非“全局 CLAUDE.md”。建议在此存放通用偏好,例如语言、输出风格与协作习惯:

* 默认使用中文回答。
* 没有特别说明时,默认需要完整可执行的方案与必要的依据说明。
* 遇到复杂问题,先给出分析框架(假设、可选方案、权衡、推荐理由),再开始实施,不要直接执行。
* 遇到模糊问题,先反问用户。
* 当用户指示执行明显不合理的或违背最佳实践的操作时,给出警告,待用户二次确认后执行。
* properties 文件编码是ISO-8859-1,写入中文需要注意编码问题。
* 对于Java项目,总是使用最新的API(先查询当前java版本),比如HttpClient而非URLConnection。

说明:.properties 的编码与读取方式有关。使用 Properties.load(InputStream) 传统上按 ISO-8859-1 处理;但在 JDK 9+ 的 PropertyResourceBundle/ResourceBundle 场景下可按 UTF-8 读取。需按你的读取方式与 JDK 版本确认。

# 2.2、Agent 子代理

子代理相当于给 Claude 配备的“领域专家”,每个助手都有自己擅长的领域。可定义为项目级或用户级:

  • 项目级:.claude/agents/*.md(仅当前项目可用,优先级更高)
  • 用户级:~/.claude/agents/*.md(所有项目可用,优先级较低)

怎么用:

# 它自己选 - Claude 会根据任务自动找合适的助手
claude> 修复这些失败的测试

# 指定用谁 - 直接说用哪个助手
claude> 用代码审查助手检查一下安全性

创建自定义子代理: 在相应目录下放置 Markdown 文件(文件名即子代理名称),内容为该子代理的角色设定与工作方式。

# 2.3、钩子(Hooks)

钩子是 Claude Code 提供的强大功能,可以在特定时机自动执行 shell 命令,让你更好地控制开发流程。

配置方法:

# 使用斜杠命令快速配置
/hooks

钩子类型详解:

钩子类型 触发时机 典型用途
PreToolUse 工具调用前 代码格式化、权限检查(可阻止执行)
PostToolUse 工具调用后 日志记录、文件备份
UserPromptSubmit 处理用户输入前 输入验证、预处理
Notification Claude 发送通知时 自定义通知方式
Stop Claude 完成响应后 自动测试、代码检查
SubagentStop 子代理任务完成后 任务跟踪、清理工作
PreCompact 压缩操作前 数据备份
SessionStart 会话开始时 环境初始化
SessionEnd 会话结束时 清理资源、收尾操作

实用配置示例(语法以你当前版本文档为准):

# 代码提交前自动格式化
PreToolUse:Edit -> "prettier --write {filepath}"

# 工具调用后记录日志
PostToolUse:* -> "echo '$(date): 执行了工具 {tool}' >> .claude/logs/tool.log"

# 用户输入时检查代码规范
UserPromptSubmit -> "npm run lint"

# 完成任务后运行测试
Stop -> "npm test"

# 2.4、自定义斜杠命令

这个功能我经常用,把一些常用操作包装成命令,用起来很方便。

怎么创建命令: 项目根目录建个 .claude/commands/ 文件夹,丢几个 Markdown 文件进去:

.claude/commands/optimize.md:

# 性能优化

你是性能优化专家,分析代码后给出建议:
- 找出性能瓶颈
- 看看时间复杂度
- 内存使用怎么优化
- 给出具体改进方案

命令名即文件名(不含扩展名)。

用法:

/optimize src/utils/calculator.js    # 优化这个文件
/doc utils/helper.js                 # 给这个文件写文档
/arch src/services/                  # 分析这个目录的架构

我常用的几个命令:

  • doc.md: 快速生成文档,API 说明啥的
  • arch.md: 分析代码架构,看看有哪些地方能改进
  • security.md: 安全检查,找找有没有漏洞

# 2.5、MCP (Model Context Protocol)

MCP 让 Claude 连接外部数据源/工具,比如:

  • 文件系统访问: 读取本地文件
  • 数据库连接: 查询数据库信息
  • API 集成: 调用外部服务

推荐用法(CLI):

# 添加 MCP 服务器
claude mcp add --transport sse <name> <url>

# 列出 / 移除 / 测试
claude mcp list
claude mcp remove <name>
claude mcp test <name>

也可使用项目或用户级配置(通常位于 .claude/ 或 ~/.claude/),字段与结构以当前文档为准;若用 JSON,请确保无注释与有效键名。

# 3、💡 一些实用小技巧

# 3.1、快捷键

不同版本与终端的快捷键可能略有差异,请以 claude --help 与官方“Interactive mode”文档为准。常见操作包括:

  • ESC: 打断当前任务
  • ESC + ESC: 连按两下,出现本Session的历史对话。可上下选择对话,重新编辑并执行
  • Ctrl + L: 清除当前输入框的内容
  • Ctrl + J: 在输入框中换行

# 3.2、命令行选项

# a、继续上次对话

继续上次内容可使用“继续/恢复”相关选项(随版本可能为 --continue 或其缩写-c),以 claude --help 为准。

# b、查看历史对话

查看历史Session通常可用 --resume 或其缩写-r 打开历史Session视图,具体以当前版本为准。

# c、随时插话

Claude 执行过程中可随时插话,无需等待其完成输出。

# 3.3、进阶用法

# a、同时处理多个任务

开几个终端窗口,可以让 Claude 同时干好几件事:

# 开几个终端,让 Claude 同时干活
claude "找找性能瓶颈"
claude "检查安全问题"
claude "写 API 文档"

# b、计划模式

在交互模式中可开启“先规划后执行”的流程(计划列表→逐步执行)。具体快捷键(alt + m)或开关以当前版本文档为准。

# c、系统性思考

没有固定“思考模式”开关,但可以通过提示语引导更系统的分析:

方法一:明确要求思考过程

请先分析这个问题,思考一下:
1. 问题的本质是什么
2. 有哪些可能的解决方案
3. 每种方案的优缺点
4. 推荐哪种方案,为什么

然后再开始实现。

方法二:分步骤引导

我遇到个复杂问题,你先别急着写代码,帮我:
- 理解一下需求的核心
- 分析可能的技术难点  
- 设计大致的实现思路
- 确认没问题后再动手

方法三:角色扮演

你现在是个资深架构师,遇到这个问题你会怎么思考?
先告诉我你的分析过程,再给出解决方案。

提示语的目标是让 Claude 先进行系统性分析,再进入实现阶段。

# d、发送图片

在终端中,请提供图片文件路径(例如 ./shots/bug.png)。Claude Code 会读取并理解图片内容并回答你的问题。

Windows下使用Alt + V 粘贴截图。

# e、关于“思考等级”关键词

官网提供了“think/think hard/ultrathink”等词开启不同思考能力。

当然,更可靠的做法是明确提出分析框架与期望产出(如方案权衡、决策依据、分步计划)。

# 4、🛠️ 遇到问题怎么办

# 4.1、网络连不上

问题: 国内或公司网络下可能无法直连。

解决: 优先使用环境变量或企业代理指引:

# 临时设置(当前 shell 会话)
export HTTP_PROXY=http://127.0.0.1:10808
export HTTPS_PROXY=http://127.0.0.1:10808
export NO_PROXY=localhost,127.0.0.1

# Windows PowerShell 示例
$env:HTTP_PROXY = "http://127.0.0.1:10808"
$env:HTTPS_PROXY = "http://127.0.0.1:10808"
$env:NO_PROXY = "localhost,127.0.0.1"

企业环境请参考官方“Corporate proxy configuration”文档,按需配置认证与证书。

# 4.2、MCP 不生效

问题: 项目里配置的 MCP 未生效。

排查与解决:

  1. 使用 claude mcp list 确认服务是否已添加;claude mcp test <name> 检查连通性。
  2. 确认 MCP 服务器可访问(网络/端口/认证配置)。
  3. 若使用配置文件,检查路径、JSON 有效性与字段名是否符合当前版本文档。
  4. 查看 .claudeignore 是否误排除了 MCP 相关脚本或目录。

如果还是不行,全局配置里加一行:

{
  "enableAllProjectMcpServers": true
}

# 4.3、权限不够

问题: Claude Code 读不了文件或执行不了命令。

解决:

  1. 检查文件权限
  2. Mac 上去“安全性与隐私”里授权
  3. 公司电脑可能有安全策略,要找 IT 部门

# 4.4、速度太慢

问题: 项目大了 Claude Code 反应很慢。

解决: 用 .claudeignore 排除不需要的文件:

node_modules/   # 依赖包不用看
dist/          # 打包文件也不用
build/         # 构建文件同样
*.log          # 日志文件没必要
.git/          # git 目录忽略

# 4.5、账号购买与合规

建议从官方渠道(官网或企业采购)获取,遵守服务条款与合规要求,不建议使用共享或第三方代购账号。

# 5、🚀 总结

Claude Code 确实改变了我写代码的方式,节省了很多时间。这些经验对我很有用,希望对你也有帮助。

AI 编程还在发展,未来肯定会更强大。现在学会和 AI 协作,就是在为未来做准备。一起努力吧!

祝你变得更强!

编辑 (opens new window)
#Claude#AI编程#开发工具
上次更新: 2025/09/11
DNS与HTTP协议
Claude Code实战之供应商切换工具

← DNS与HTTP协议 Claude Code实战之供应商切换工具→

最近更新
01
AI时代的编程心得
09-11
02
Claude Code与Codex的协同工作
09-01
03
Claude Code实战之供应商切换工具
08-18
更多文章>
Theme by Vdoing | Copyright © 2018-2025 京ICP备2021021832号-2 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式