Claude Code 终端 AI 编程助手
了解 Anthropic 的智能编程工具 Claude Code,它运行在你的终端中,帮你比以往更快地将创意转化为代码。
核心功能
- 自然语言编程:用简单描述构建功能、修复 Bug
- 代码库理解:快速掌握复杂项目结构和架构
- 自动化开发:执行日常任务、管理 Git、运行测试
- 终端集成:在你熟悉的环境中工作,无需切换工具
快速开始
前提条件:
- Node.js 18+
- Claude.ai 或 Anthropic Console 账户
# 安装
npm install -g @anthropic-ai/claude-code
# 进入项目目录
cd your-project
# 启动 Claude Code
claude
# 首次使用会提示登录
核心工作流
理解新代码库
> 这个项目是做什么的?
> 解释主要架构模式
> 找到用户认证相关文件
修复 Bug
> npm test 出现错误,请修复
> 用户提交空表单的问题,添加验证
代码重构
> 将回调改为 async/await
> 为工具函数添加单元测试
Git 操作
> 我修改了哪些文件?
> 用描述性信息提交更改
> 创建 feature/auth 分支
高级功能
子代理系统
创建专门的 AI 助手处理特定任务:
/agents # 管理子代理
> 使用 code-reviewer 子代理检查我的更改
计划模式
安全分析代码库而不做修改:
claude --permission-mode plan
> 分析认证系统并建议改进方案
自定义命令
创建可重用斜杠命令:
# 创建项目命令
echo "分析性能问题并建议优化" > .claude/commands/optimize.md
# 使用命令
> /optimize
配置管理
设置文件层级
- 企业策略:组织级标准和安全策略
- 项目设置:
- 用户设置:个人偏好(
~/.claude/settings.json)
权限控制
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test:*)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl:*)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp"
}
}
可用设置
settings.json 支持多个选项:
| 键 | 描述 | 示例 |
|---|---|---|
apiKeyHelper |
自定义脚本,在 /bin/sh 中执行,生成认证值。此值将作为 X-Api-Key 和 Authorization: Bearer 标头发送给模型请求 |
/bin/generate_temp_api_key.sh |
cleanupPeriodDays |
基于最后活动日期本地保留聊天记录的时间(默认:30天) | 20 |
env |
将应用于每个会话的环境变量 | {"FOO": "bar"} |
includeCoAuthoredBy |
是否在 git 提交和拉取请求中包含 co-authored-by Claude 署名(默认:true) |
false |
permissions |
权限结构见下表。👇 | |
hooks |
配置在工具执行前后运行的自定义命令。参见钩子文档 | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks |
禁用所有钩子 | true |
model |
覆盖 Claude Code 使用的默认模型 | "claude-3-5-sonnet-20241022" |
statusLine |
配置自定义状态行以显示上下文。参见statusLine 文档 | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle |
配置输出样式以调整系统提示。参见输出样式文档 | "Explanatory" |
forceLoginMethod |
使用 claudeai 限制登录到 Claude.ai 账户,console 限制登录到 Anthropic Console(API 使用计费)账户 |
claudeai |
forceLoginOrgUUID |
指定组织的 UUID 以在登录期间自动选择它,绕过组织选择步骤。需要设置 forceLoginMethod |
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers |
自动批准项目 .mcp.json 文件中定义的所有 MCP 服务器 |
true |
enabledMcpjsonServers |
从 .mcp.json 文件中批准的特定 MCP 服务器列表 |
["memory", "github"] |
disabledMcpjsonServers |
从 .mcp.json 文件中拒绝的特定 MCP 服务器列表 |
["filesystem"] |
权限设置
| 键 | 描述 | 示例 |
|---|---|---|
allow |
允许工具使用的权限规则数组。注意: Bash 规则使用前缀匹配,不是正则表达式 | [ "Bash(git diff:*)" ] |
ask |
在工具使用时要求确认的权限规则数组。 | [ "Bash(git push:*)" ] |
deny |
拒绝工具使用的权限规则数组。使用此选项也可以排除敏感文件不被 Claude Code 访问。注意: Bash 模式是前缀匹配,可以被绕过(参见Bash 权限限制) | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories |
Claude 可以访问的额外工作目录 | |
defaultMode |
打开 Claude Code 时的默认权限模式 | "acceptEdits" |
disableBypassPermissionsMode |
设置为 "disable" 以防止激活 bypassPermissions 模式。参见托管策略设置 |
"disable" |
配置系统的关键点
- 内存文件(CLAUDE.md):包含 Claude 在启动时加载的指令和上下文
- 设置文件(JSON):配置权限、环境变量和工具行为
- 斜杠命令:可以在会话期间使用
/command-name调用的自定义命令 - MCP 服务器:使用额外的工具和集成扩展 Claude Code
- 优先级:更高级别的配置(企业)覆盖较低级别的配置(用户/项目)
- 继承:设置被合并,更具体的设置添加到或覆盖更广泛的设置
实用技巧
高效提问
- 具体明确:“修复登录后白屏问题” 而非 “修复 Bug”
- 分步说明:将复杂任务拆解为多个步骤
- 提供上下文:包含错误信息、复现步骤
终端集成
#开头:快速添加记忆到 CLAUDE.md/开头:使用斜杠命令!开头:直接执行 Bash 命令@文件路径:引用文件内容
会话管理
claude --continue # 继续最近会话
claude --resume # 选择恢复会话
/claer # 清除对话历史
开发体验
实时协作
- 直接编辑文件并征求确认
- 运行命令验证更改
- 自动处理合并冲突
上下文感知
- 自动读取相关文件
- 理解项目结构和依赖
- 保持编码规范和风格
企业特性
- 安全合规:数据本地处理,企业级隐私保护
- 成本控制:详细的令牌使用统计
- 团队协作:共享配置和自定义命令
- 扩展集成:支持 MCP 协议连接外部工具
Claude Code 将 AI 编程助手直接集成到你的开发工作流中,通过自然语言交互提升编码效率,同时保持对代码的完全控制。