Claude Code 是由 Anthropic 开发的一款智能编码工具,目前处于 Beta 研究预览阶段。它集成在您的终端中,能够理解您的代码库,并通过自然语言指令帮助您更快地编写代码。Claude Code 无需额外的服务器或复杂配置,直接与您的开发环境协作,从而简化工作流程。
以下是 Claude Code 的核心功能和使用指南。
开始之前
系统要求
在安装 Claude Code 之前,请确保您的系统满足以下条件:
- 操作系统 :macOS 10.15+、Ubuntu 20.04+/Debian 10+,或通过 WSL 支持 Windows
- 硬件 :至少 4GB 内存
- 软件 :
- Node.js 18+
- git 2.23+(可选)
- GitHub 或 GitLab CLI(用于 PR 工作流,可选)
- ripgrep(rg,用于增强文件搜索,可选)
- 网络 :需要互联网连接以完成认证和 AI 处理
安装与认证
按照以下步骤安装并启动 Claude Code:
- 安装 Claude Code
在终端运行命令:
npm install -g @anthropic-ai/claude-code
- 进入项目目录
cd
您的项目目录
- 启动 Claude Code
运行命令:
claude
- 完成认证
根据提示完成一次性 OAuth 认证,您需要在
console.anthropic.com
[1] 上拥有有效的计费账户。
核心功能与工作流程
Claude Code 直接在终端运行,能够理解项目上下文并执行实际操作,无需手动添加文件到上下文——它会根据需要自行探索您的代码库。默认使用的是
claude-3-7-sonnet-20250219
模型。
主要功能
- 编辑文件与修复 Bug :跨代码库修改文件或修复问题
- 解答代码问题 :解释代码架构和逻辑
- 执行测试与命令 :运行测试、修复 linting 问题等
- Git 操作 :搜索历史记录、解决合并冲突、创建提交和 PR
安全与隐私设计
Claude Code 的架构确保:
- 直接 API 连接 :您的请求直接发送至 Anthropic API,无中间服务器
- 本地运行 :在您的终端中操作
- 上下文感知 :理解整个项目结构
- 执行操作 :直接编辑文件或创建提交
从提问到解决方案,只需几秒
示例操作
- 询问代码库问题
$ claude
> 我们的认证系统是如何工作的?
- 一键创建提交
$ claude commit
- 修复多文件问题
$ claude
"修复 auth 模块中的类型错误"
初始化项目
对于首次使用者,建议:
- 运行
claude
启动工具 - 尝试简单命令,如
summarize this project
(总结项目) - 使用
/init
生成CLAUDE.md
项目指南 - 让 Claude 将
CLAUDE.md
提交到您的仓库
常见任务使用指南
理解陌生代码
> 这个支付处理系统是做什么的?
> 用户权限检查在哪里实现的?
> 缓存层的工作原理是什么?
自动化 Git 操作
> 提交我的更改
> 创建一个 PR
> 去年12月哪个提交添加了 markdown 测试?
> 在 main 分支上变基并解决合并冲突
智能编辑代码
> 为注册表单添加输入验证
> 将日志记录器重构为新 API
> 修复工作队列中的竞争条件
测试与调试
> 运行 auth 模块的测试并修复失败
> 查找并修复安全漏洞
> 解释这个测试为什么失败
深入思考复杂问题
对于复杂任务,可明确要求 Claude 深度思考:
> 思考如何设计新的支付服务架构
> 认真分析认证流程中的边缘情况
控制 Claude Code
命令行接口(CLI)命令
|
命令
|
描述
|
示例
|
| --- | --- | --- |
| claude
|
启动交互式 REPL
| $ claude
|
| claude "查询"
|
以初始提示启动 REPL
| $ claude "解释这个项目"
|
| claude -p "查询"
|
运行一次性查询后退出
| $ claude -p "解释这个函数"
|
|
cat 文件 | claude -p "查询"
|
处理管道输入内容
|
| claude config
|
配置设置
| $ claude config set --global theme dark
|
| claude update
|
更新到最新版本
| $ claude update
|
斜杠命令
在会话中控制 Claude 行为:
/bug
:报告 Bug(将对话发送给 Anthropic)/clear
:清除对话历史/compact
:压缩对话以节省上下文空间/init
:初始化项目并生成CLAUDE.md
/pr\_comments
:查看 PR 评论/review
:请求代码审查
权限与安全管理
权限层级
Claude Code 使用分级权限系统,确保功能与安全平衡:
- 只读操作 (如文件读取):无需批准
- 命令执行 (如 Bash 命令):需要批准,可选择“不再询问”
- 文件修改 (如编辑文件):每次会话需批准
可用工具
|
工具
|
描述
|
需要权限
|
| --- | --- | --- |
| BashTool
|
执行 Shell 命令
|
是
|
| FileEditTool
|
定向编辑特定文件
|
是
|
| FileReadTool
|
读取文件内容
|
否
|
| GlobTool
|
根据模式匹配查找文件
|
否
|
| GrepTool
|
搜索文件内容中的模式
|
否
|
防止提示注入
Claude Code 提供以下安全措施:
- 权限系统 :敏感操作需明确批准
- 上下文分析 :检测潜在恶意指令
- 输入清理 :防止命令注入
- 命令黑名单
:禁止高危命令(如
curl
、wget
)
最佳实践 :
- 检查建议命令后再批准
- 避免直接处理不受信任的内容
- 对关键文件变更进行验证
网络配置
Claude Code 需要访问以下地址:
api.anthropic.com
statsig.anthropic.com
sentry.io
在容器化环境中使用时,请将这些 URL 添加到白名单。
优化终端设置
支持的 Shell
- Bash
- Zsh(暂不支持 Fish)
换行设置
- 快速换行:输入
\
后按 Enter - 快捷键:配置后使用 Option+Enter(或 Shift+Enter)
通知设置
- 终端铃声通知 :
claude config
set
--global preferredNotifChannel terminal\_bell
- iTerm2 系统通知 :在 iTerm2 设置中启用“Silence bell”和“Send notification when idle”。
处理大输入
- 避免直接粘贴长内容
- 将内容写入文件后让 Claude 读取
成本管理
费用概览
- 日常使用:每位开发者约 $5-10/天
- 高强度使用:可能超过 $100/小时
跟踪成本
- 使用
/cost
查看当前会话用量 - 退出时查看成本总结
- 在 Anthropic Console 查看历史使用情况
降低token消耗
- 使用
/compact
压缩对话 - 提出具体问题,避免模糊请求
- 将复杂任务拆分为小步骤
Claude Code 实践示例
基于 Anthropic 官网内容,提供使用 Claude Code 的实用示例和模式,帮助您将其高效融入开发工作流程。包含清晰的步骤、示例命令和最佳实践,让您充分发挥 Claude Code 的潜力。
目录
- 快速理解新代码库
- 高效修复 Bug
- 重构代码
- 处理测试
- 创建拉取请求 (PR)
- 处理文档
- 使用高级 Git 工作流程
- 处理图像
- 设置项目记忆
- 将 Claude 用作类 Unix 工具
- 设置模型上下文协议 (MCP)
快速理解新代码库
获取代码库快速概览
适用场景 :刚加入新项目,需要快速了解代码结构。
- 进入项目根目录
$
cd
/path/to/project
- 启动 Claude Code
$ claude
- 请求高层概览
> 给我这个代码库的概览
- 深入了解具体组件
> 这里使用了哪些主要架构模式?
> 核心数据模型有哪些?
> 认证是如何处理的?
小贴士 :
- 从广泛问题开始,逐步聚焦具体领域
- 询问项目使用的编码规范和模式
- 请求项目专用术语表
查找相关代码
适用场景 :需要定位特定功能或特性的代码。
- 让 Claude 查找相关文件
> 找到处理用户认证的文件
- 了解组件交互方式
> 这些认证文件是如何协作的?
- 追踪执行流程
> 从前端到数据库,追踪登录流程
小贴士 :
- 具体描述目标内容
- 使用项目中的领域术语
高效修复 Bug
诊断错误信息
适用场景 :遇到错误信息,需要定位并解决问题。
- 分享错误详情
> 我运行 npm
test
时遇到了一个错误
- 请求修复建议
> 建议几种方法修复 user.ts 中的 @ts-ignore
- 应用修复
> 更新 user.ts,添加你建议的空值检查
小贴士 :
- 提供重现问题的命令和堆栈跟踪
- 说明重现步骤
- 告知错误是间歇性还是持续性的
重构代码
更新遗留代码
适用场景 :需要将旧代码升级为现代模式和实践。
- 识别需要重构的遗留代码
> 找到代码库中已废弃的 API 使用
- 获取重构建议
> 建议如何将 utils.js 重构为使用现代 JavaScript 特性
- 安全应用变更
> 将 utils.js 重构为使用 ES2024 特性,同时保持原有行为
- 验证重构结果
> 运行重构后的代码测试
小贴士 :
- 请 Claude 解释现代方法的优势
- 如需兼容性,要求保留向后兼容
- 分小步进行可测试的重构
处理测试
增加测试覆盖率
适用场景 :需要为未覆盖的代码添加测试。
- 识别未测试代码
> 找到 NotificationsService.swift 中未被测试覆盖的功能
- 生成测试框架
> 为通知服务添加测试
- 添加有意义的测试用例
> 为通知服务的边缘情况添加测试用例
- 运行并验证测试
> 运行新测试并修复任何失败
小贴士 :
- 要求覆盖边缘情况和错误条件的测试
- 根据需要请求单元测试和集成测试
- 让 Claude 解释测试策略
创建拉取请求 (PR)
生成全面的 PR
适用场景 :需要为更改创建文档完善的拉取请求。
- 总结更改
> 总结我对认证模块的更改
- 生成 PR
> 创建一个 PR
- 审查与优化
> 为 PR 描述添加更多关于安全改进的上下文
- 添加测试详情
> 添加这些更改的测试信息
小贴士 :
- 直接让 Claude 生成 PR
- 提交前审查生成的 PR
- 请 Claude 指出潜在风险或注意事项
处理文档
生成代码文档
适用场景 :需要为代码添加或更新文档。
- 识别无文档代码
> 找到 auth 模块中缺少 JSDoc 注释的功能
- 生成文档
> 为 auth.js 中的未文档功能添加 JSDoc 注释
- 审查与优化
> 改进生成的文档,添加更多上下文和示例
- 验证文档
> 检查文档是否符合项目标准
小贴士 :
- 指定所需文档风格(如 JSDoc、docstrings)
- 要求为文档添加示例
- 请求为公共 API、接口和复杂逻辑生成文档
处理图像
分析图像和截图
适用场景 :需要在代码库中处理图像,或分析图像内容。
- 将图像添加到对话
- 方法 1:将图像拖放到 Claude Code 窗口
- 方法 2:复制图像,用 Ctrl+V 粘贴到 CLI
- 方法 3:提供图像路径
$ claude
> 分析这个图像:/path/to/your/image.png
- 请求图像分析
> 这个图像显示了什么?
> 描述这个截图中的 UI 元素
> 这个图表中有没有问题元素?
- 使用图像提供上下文
> 这是错误截图,原因是什么?
> 这是当前数据库架构,新功能该如何修改?
- 根据视觉内容获取代码建议
> 生成匹配这个设计稿的 CSS
> 重现这个组件需要什么 HTML 结构?
小贴士 :
- 当文字描述不清晰时使用图像
- 提供错误截图、UI 设计或图表以获得更好上下文
- 可在一次对话中处理多个图像
设置项目记忆
创建有效的 CLAUDE.md 文件
适用场景 :希望设置 CLAUDE.md 文件存储项目关键信息、规范和常用命令。
- 为代码库生成 CLAUDE.md
> /init
小贴士 :
- 记录常用命令(构建、测试、lint)以减少重复搜索
- 说明代码风格偏好和命名规范
- 添加项目特定的架构模式
将 Claude 用作类 Unix 工具
将 Claude 加入验证流程
适用场景 :希望将 Claude Code 用作代码检查或审查工具。
- 添加到构建脚本
// package.json
{
"scripts"
: {
"lint:claude"
:
"claude -p '你是一个代码检查工具。请对比 main 分支查看更改,报告拼写错误相关问题。每项报告文件名和行号占一行,问题描述占下一行。不返回其他文本。'"
}
}
输入输出管道
适用场景 :希望通过管道输入数据到 Claude,并获取结构化输出。
- 通过管道处理数据
$ cat build-error.txt | claude -p
'简要解释这个构建错误的根本原因'
> output.txt
设置模型上下文协议 (MCP)
模型上下文协议 (MCP) 是一个开放协议,使大型语言模型能够访问外部工具和数据源。详情见 MCP 文档。使用第三方 MCP 服务器需谨慎,确保信任来源,尤其是联网的服务器可能存在提示注入风险。
配置 MCP 服务器
适用场景 :希望通过 MCP 连接专业工具和外部服务器增强 Claude 功能。
- 添加 MCP Stdio 服务器
# 基本语法
$ claude mcp add <名称> <命令> [参数...]
# 示例:添加本地服务器
$ claude mcp add my-server -e API\_KEY=123 -- /path/to/server arg1 arg2
- 管理 MCP 服务器
# 列出所有配置的服务器
$ claude mcp list
# 获取特定服务器详情
$ claude mcp get my-server
# 删除服务器
$ claude mcp remove my-server
小贴士 :
- 使用
-s
或--scope
指定配置存储范围(默认 project 或 global) - 用
-e
或--env
设置环境变量(如-e KEY=value
)
连接 Postgres MCP 服务器
适用场景 :希望为 Claude 提供只读 PostgreSQL 数据库访问,用于查询和模式检查。
- 添加 Postgres MCP 服务器
$ claude mcp add postgres-server /path/to/postgres-mcp-server --connection-string
"postgresql://user:pass@localhost:5432/mydb"
- 查询数据库
$ claude
> 描述我们 users 表的模式
> 系统中最新的订单有哪些?
> 显示客户与发票的关系
小贴士 :
- Postgres MCP 服务器提供只读访问以确保安全
- 可用于快速了解陌生项目的数据库模式
- 确保连接字符串使用最低权限凭据
总结
Claude Code 是一款强大的终端内 AI 编码助手,能够加速开发流程并提供智能支持。通过自然语言交互,它可以帮助您理解代码、自动化 Git 任务、编辑代码并调试问题。目前作为 Beta 预览版,Anthropic 正在收集开发者反馈以持续改进。
如需更多信息,请访问 Anthropic 官网或参考其
开发者文档
[2]
。有什么问题或建议?通过
/bug
命令直接反馈!
参考资料
[1]
console.anthropic.com: https://console.anthropic.com
[2]
开发者文档: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview