原创 云中江树 2025-02-25 13:35 北京
Claude Code 让编程更丝滑
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