开场:不是Copilot,是Coder

2025年,AI编程工具已经卷到飞起。Cursor、Windsurf、GitHub Copilot……每个都说自己是"最强AI编程助手"。

但当我第一次用上 Claude Code 时,我意识到:

这玩意儿不是来"辅助"我写代码的,它是来替我干活的。

Claude Code 是 Anthropic 推出的命令行AI编程工具。它不是IDE插件,而是一个独立运行在终端里的Agent。你给它一个任务,它会:

  • 自己读代码
  • 自己写代码
  • 自己跑命令
  • 自己修Bug
  • 自己提交PR

这才是2025年该有的AI编程体验。


1. 安装:30秒上手

1
2
3
4
5
6
7
8
# 全局安装
npm install -g @anthropic-ai/claude-code

# 进入项目目录
cd your-project

# 启动
claude

首次启动会要求登录 Anthropic 账号,授权后就能用了。

费用:使用 Claude API 计费,Claude Sonnet 大约 $3/百万token,正常使用一天几毛钱。


2. 核心能力:不只是聊天

2.1 自主文件操作

Claude Code 可以直接读写你的项目文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
You: 帮我看看 src/api/user.ts 里有什么问题

Claude: 我来读取这个文件...
[读取 src/api/user.ts]

发现了几个问题:
1. 第23行:缺少错误处理
2. 第45行:类型定义不完整
3. 第67行:存在潜在的内存泄漏

要我修复吗?

You: 修

Claude: 
[编辑 src/api/user.ts]
已完成修复,主要改动:
- 添加了 try-catch 包装
- 补充了 UserResponse 类型定义
- 在 useEffect 中添加了 cleanup 函数

2.2 执行Shell命令

它能直接在你的终端跑命令:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
You: 跑一下测试,看看有没有挂的

Claude:
[执行 npm test]

测试结果:
✓ 45 passed
✗ 2 failed
  - user.test.ts: "should handle empty input"
  - auth.test.ts: "should refresh token"

要我修复这两个失败的测试吗?

2.3 Git 操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
You: 把今天的改动提交一下,写个清晰的commit message

Claude:
[执行 git status]
[执行 git diff]

我看到你改了这些文件:
- src/api/user.ts (修复类型问题)
- src/components/Login.tsx (添加loading状态)
- tests/user.test.ts (补充测试用例)

建议的 commit message:

[执行 git add . && git commit -m "fix: 修复用户API类型问题并完善登录组件

- 修复 user.ts 中的类型定义不完整问题
-  Login 组件添加 loading 状态处理
- 补充用户模块的单元测试"]

已提交。需要我 push 吗?

3. 实战场景:它能干什么

场景1:Debug 一个复杂Bug

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
You: 用户反馈说登录后会闪退,帮我查一下

Claude: 让我先看看相关代码...

[读取 src/pages/Login.tsx]
[读取 src/hooks/useAuth.ts]
[读取 src/store/authSlice.ts]

我需要看看错误日志:
[执行 npm run dev]
[执行 打开浏览器开发者工具 - 等待错误]

找到问题了!

在 useAuth.ts 第34行:
auth.user.name.toLowerCase()

当 user 对象存在但 name 为 null 时会崩溃。

修复方案:
auth.user?.name?.toLowerCase() ?? ''

要我修复吗?

场景2:重构整个模块

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
You: 把 src/utils 下的所有 JavaScript 文件迁移到 TypeScript

Claude: 收到,我来处理这个迁移任务。

[扫描 src/utils 目录]
发现 12 个 JS 文件需要迁移。

开始迁移...

[1/12] helpers.js → helpers.ts
- 添加参数类型注解
- 添加返回值类型
- 导出类型定义

[2/12] formatters.js → formatters.ts
...

[12/12] 完成!

[执行 npx tsc --noEmit]
类型检查通过,无错误。

[执行 npm test]
所有测试通过。

迁移完成!共修改 12 个文件,添加了 45 个类型定义。

场景3:从零实现一个功能

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
You: 帮我实现一个用户头像上传功能,要支持裁剪和压缩

Claude: 好的,我来实现这个功能。

首先分析一下需求:
1. 前端:选择图片  裁剪  预览  上传
2. 后端:接收文件  压缩  存储  返回URL

让我先看看现有的项目结构...

[读取 package.json]
[读取 src/components 目录结构]

我建议使用 react-image-crop 做裁剪,browser-image-compression 做压缩。

[执行 npm install react-image-crop browser-image-compression]

现在创建组件...

[创建 src/components/AvatarUploader/index.tsx]
[创建 src/components/AvatarUploader/ImageCropper.tsx]
[创建 src/components/AvatarUploader/styles.module.css]
[创建 src/api/upload.ts]

组件已创建完成。使用方式:

import { AvatarUploader } from '@/components/AvatarUploader'

<AvatarUploader 
  onUpload={(url) => updateUserAvatar(url)}
  maxSize={5} // MB
  aspectRatio={1}
/>

要我写个使用示例吗?

4. 高级用法

4.1 自定义指令(CLAUDE.md)

在项目根目录创建 CLAUDE.md,写入项目规范:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 项目规范

## 代码风格
- 使用 TypeScript 严格模式
- 组件使用函数式写法
- 状态管理使用 Zustand

## 命名规范
- 组件:PascalCase
- 函数:camelCase
- 常量:UPPER_SNAKE_CASE

## 提交规范
- feat: 新功能
- fix: 修复
- refactor: 重构
- docs: 文档

Claude Code 会自动读取这个文件,所有操作都会遵循你的规范。

4.2 并行任务

1
You: /parallel 同时帮我:1. 升级所有过期依赖 2. 修复 ESLint 警告 3. 补充缺失的测试

Claude Code 会同时执行多个任务,大幅提升效率。

4.3 持久记忆

Claude Code 会记住你的项目上下文:

1
2
3
4
5
6
7
8
You: 还记得上周我们讨论的那个性能优化方案吗?执行它

Claude: 记得,上周我们讨论了:
1. 将大型列表改为虚拟滚动
2. 添加 React.memo 包装
3. 使用 useMemo 缓存计算结果

我现在开始实施...

5. 与其他工具对比

特性Claude CodeCursorGitHub Copilot
运行环境终端IDEIDE插件
自主执行命令
读写任意文件有限
Git操作
多文件重构✅ 强✅ 中
项目理解✅ 深度✅ 中等
价格按量付费$20/月$10/月

我的建议

  • 日常补全:用 Copilot
  • 复杂编辑:用 Cursor
  • 项目级任务:用 Claude Code

6. 注意事项

安全性

Claude Code 有完整的权限控制系统

  • 读取文件:自动允许
  • 写入文件:需要确认(可设置自动)
  • 执行命令:需要确认(可设置白名单)
  • 网络请求:需要确认
1
2
Claude: 我需要执行 rm -rf node_modules,允许吗?
[Allow] [Deny] [Allow All npm commands]

Token 消耗

复杂任务可能消耗大量 token。建议:

  1. 任务描述要清晰具体
  2. 大型重构分步进行
  3. 使用 /compact 命令压缩上下文

7. 总结

Claude Code 代表了 AI 编程工具的新方向:

从"辅助编码"到"自主编码"

它不是在你旁边提建议的助手,而是一个能独立完成任务的程序员。

适合场景

  • 大型代码重构
  • 跨文件修改
  • 自动化运维任务
  • 快速原型开发

不太适合

  • 需要精细控制的核心算法
  • 涉及敏感数据的操作
  • 完全没有代码基础的用户