从根本上理解 Claude Code 是一个命令行工具,具备其所有基本特性。
# Claude Code 可以执行所有标准 CLI 操作
claude --help
claude --version
claude --list-sessions
使用 -P
参数在命令行模式下运行。
# 直接传递提示词执行任务
claude -P "分析 package.json 并列出所有依赖"
使用 -P
参数在界面前端的模式下运行。
# 无交互模式,直接输出结果
claude -P "生成一个 React 组件" --no-interactive
可以将其他命令行工具(bash/CLI工具)连接工作流。
# 结合其他工具使用
git diff | claude -P "解释这些代码变更"
npm test 2>&1 | claude -P "分析测试失败原因"
通过管道(|)将数据输入到 Claude Code 中。
# 管道传递数据
cat error.log | claude -P "分析错误日志并提供解决方案"
curl https://api.example.com | claude -P "解析这个 API 响应"
可以同时运行多个 Claude Code 实例处理不同任务。
# 终端 1
claude --session frontend-work
# 终端 2
claude --session backend-api
# 终端 3
claude --session testing
可以指令 Claude Code 启动一个新的实例来处理任务。
请在新的 Claude 实例中运行测试,并将结果报告给我。
使用快捷键 Shift+Command+Control+4
将截图复制到剪贴板。
用 Control+V
(而不是 Command+V
)将图片粘贴到终端。
注意:在 macOS 终端中,使用
Control+V
而非Command+V
粘贴图片
粘贴设计稿图,让 Claude Code 构建界面。
[粘贴设计图]
请根据这个设计稿生成对应的 React 组件,包括:
- 响应式布局
- 适配移动端
- 使用 Tailwind CSS
截取应用的当前状态,将其反馈给 Claude Code 进行迭代修改。
使用 Puppeteer MCP 服务自动化生成应用的截图流程。
// 自动化截图脚本示例
const puppeteer = require('puppeteer')
async function captureScreenshots() {
const browser = await puppeteer.launch()
const page = await browser.newPage()
// 捕获不同状态的截图
await page.goto('https://localhost:3000')
await page.screenshot({ path: 'homepage.png' })
await page.click('.login-button')
await page.screenshot({ path: 'login-page.png' })
await browser.close()
}
同时处理多个图像文件。
请分析 screenshots/ 目录下的所有截图,识别 UI 不一致的地方。
Claude Code 本身既可以作为 MCP 服务器,也可以作为客户端连接其他服务。
// MCP 配置示例
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["@modelcontextprotocol/server-postgres"]
}
}
}
使用 Postgres MCP 服务器连接 Claude Code 到你的数据库。
连接到数据库后,请:
1. 分析现有表结构
2. 生成 TypeScript 类型定义
3. 创建 CRUD API 接口
利用 Cloudflare 等公司提供的 MCP 服务器,获取实时更新的文档。
请从 Cloudflare MCP 获取最新的 Workers API 文档,并创建一个示例项目。
直接粘贴一个 URL,Claude Code 会抓取该网页的内容为上下文。
https://docs.example.com/api/v2
请基于上述文档创建对应的 TypeScript SDK。
使用 URL 抓取功能获取外部世界的知识并应用到代码中。
https://en.wikipedia.org/wiki/Chess_rules
基于上述规则,实现一个国际象棋游戏的核心逻辑。
CLAUDE.md
是一个在每次请求时都会加载的系统提示文件。
# CLAUDE.md 示例结构
## 项目概述
简要描述项目目的和技术栈
## 开发规范
- 代码风格指南
- 命名约定
- 文件组织结构
## 常用命令
列出项目常用的命令
## 注意事项
项目特定的注意事项和限制
在项目目录中运行 /init
命令,自动生成一份基于项目结构的 CLAUDE.md
。
# 在项目根目录运行
> /init
# Claude Code 会分析项目并生成配置文件
在 CLAUDE.md
中定义项目特定的编码规则。
## 项目规则
- 所有 API 响应必须包含 status 和 data 字段
- 使用 camelCase 命名变量,PascalCase 命名组件
- 禁止使用 any 类型,必须定义明确的 TypeScript 类型
在配置文件中包含常用的代码模板。
## 代码模板
### React 组件模板
\```tsx
import React from 'react';
interface Props {
// props definition
}
export const ComponentName: React.FC<Props> = ({ }) => {
return <div></div>;
};
\```
使用 CLAUDE.md
记录重要的架构决策。
## 架构决策记录
### ADR-001: 使用 Redux Toolkit
- **日期**: 2024-01-15
- **决策**: 采用 Redux Toolkit 作为状态管理方案
- **原因**: 简化 Redux 使用,减少样板代码
记录关键依赖的用途和版本要求。
## 关键依赖
| 包名 | 版本 | 用途 | 注意事项 |
| ----- | ------- | -------- | ------------ |
| react | ^18.0.0 | UI 框架 | 使用并发特性 |
| next | ^14.0.0 | 全栈框架 | App Router |
明确项目的测试要求和策略。
## 测试策略
- 单元测试覆盖率 > 80%
- 所有 API 端点必须有集成测试
- 使用 Jest + React Testing Library
- E2E 测试使用 Playwright
在 .claude/commands/
目录下创建自定义命令。
// .claude/commands/test-all.js
module.exports = {
name: 'test-all',
description: '运行所有测试并生成覆盖率报告',
execute: async () => {
await runCommand('npm test -- --coverage')
await runCommand('npm run e2e')
}
}
为常用的长命令创建简短别名。
// .claude/commands/aliases.js
module.exports = {
c: 'commit',
p: 'push',
ta: 'test-all',
dev: 'npm run dev'
}
创建执行多个操作的批处理命令。
// .claude/commands/deploy.js
module.exports = {
name: 'deploy',
description: '完整部署流程',
execute: async () => {
await runCommand('npm test')
await runCommand('npm run build')
await runCommand('npm run deploy:prod')
}
}
支持接收参数的自定义命令。
// .claude/commands/create-component.js
module.exports = {
name: 'create-component',
description: '创建新组件',
parameters: ['name', 'type'],
execute: async (name, type = 'functional') => {
// 根据参数生成组件
}
}
基于条件执行不同操作的命令。
// .claude/commands/smart-test.js
module.exports = {
name: 'smart-test',
execute: async () => {
const files = await getChangedFiles()
if (files.some((f) => f.endsWith('.tsx'))) {
await runCommand('npm run test:components')
}
if (files.some((f) => f.includes('api/'))) {
await runCommand('npm run test:api')
}
}
}
创建需要用户输入的交互式命令。
// .claude/commands/scaffold.js
module.exports = {
name: 'scaffold',
interactive: true,
execute: async () => {
const type = await prompt('选择类型: component/page/api')
const name = await prompt('输入名称:')
// 基于输入生成代码
}
}
利用终端分屏功能同时查看代码和 Claude Code 输出。
# 水平分屏
Ctrl+b "
# 垂直分屏
Ctrl+b %
# 切换窗格
Ctrl+b 方向键
# 水平分屏
Cmd+D
# 垂直分屏
Cmd+Shift+D
# 切换窗格
Cmd+Option+方向键
为不同类型的任务设置专门的工作区。
# 创建前端开发工作区
claude --workspace frontend --dir ./src/components
# 创建后端开发工作区
claude --workspace backend --dir ./src/api
# 创建测试工作区
claude --workspace testing --dir ./tests
利用会话历史功能快速恢复之前的工作状态。
# 查看会话历史
claude --history
# 恢复特定会话
claude --resume <session-id>
# 导出会话记录
claude --export-session > session-backup.json
深入理解 Claude Code 作为 CLI 工具的本质,充分利用命令行特性。
善用截图和图像处理功能,建立视觉反馈循环加速开发。
连接数据库、API 文档等外部资源,扩展 Claude Code 的能力边界。
通过 CLAUDE.md 和自定义命令打造适合项目的专属环境。
利用分屏、工作区、会话管理等技巧提升开发效率。
💡 提示:这 34 条技巧涵盖了 Claude Code 的方方面面。建议先掌握基础技巧,然后根据项目需求逐步应用高级功能,最终形成适合自己的高效工作流。