02-Claude code CLI 交互技巧
本文介绍了 Claude Code CLI 的高效交互技巧,包括输入方式(多行输入、快捷命令)、上下文管理(文件引用、会话控制)、提问方法(STAR模式、分步提问)以及输出控制。还涵盖了错误处理、批量操作、外部工具集成等实用功能,并提供了代码审查、功能开发等实战场景示例。最后总结了提问原则和效率技巧,帮助开发者提升命令行交互效率。
·
02-CLI 交互技巧
掌握 Claude Code CLI 的高效交互方式,提升命令行开发效率。
一、输入技巧
1.1 多行输入
Claude Code 支持多行输入,适合复杂指令:
# 方式1:直接粘贴多行文本
> 帮我创建一个 Python 类,要求如下:
1. 类名:DataProcessor
2. 功能:处理 CSV 数据
3. 方法:
- read_data(file_path)
- clean_data()
- save_data(output_path)
4. 添加类型注解
# 方式2:使用换行
> 请分析 src/main.py
重点关注:
- 函数设计是否合理
- 是否有性能瓶颈
- 异常处理是否完善
1.2 快捷输入
| 快捷键 | 功能 |
|---|---|
Ctrl+C |
取消当前输入/退出 |
Ctrl+D |
退出(发送 EOF) |
↑ / ↓ |
浏览历史命令 |
Tab |
自动补全(文件路径) |
1.3 文件路径补全
# 输入 @ 后按 Tab 补全文件路径
> 读取 @src/ma<Tab>
> 读取 @src/main.py
# 支持模糊匹配
> 分析 @utils<Tab>
# 显示所有包含 utils 的文件
二、上下文管理
2.1 文件引用技巧
# 引用单个文件
> @src/main.py 的作用是什么?
# 引用多个文件(比较)
> 比较 @src/v1/api.py 和 @src/v2/api.py
# 引用目录
> 分析 @src/models/ 目录下所有模型类
# 引用特定行
> 优化 @src/utils.py#45-60 这段代码
# 引用符号
> 解释 @UserService 类的设计
2.2 会话上下文
# 查看当前上下文
> 当前项目的主要文件有哪些?
# 上下文会保留,可以追问
> 刚才提到的那个函数具体怎么实现?
# 清除上下文重新开始
> /clear
2.3 上下文长度管理
# 当对话太长时,压缩历史
> /compact
# Claude 会总结之前的对话要点
# 继续在新的上下文中讨论
三、高效提问模式
3.1 STAR 提问法
Situation(情境):当前文件/项目状态
Task(任务):具体要完成什么
Action(行动):希望 AI 采取什么操作
Result(结果):期望的输出格式
示例:
> 【情境】src/api.py 是一个 FastAPI 路由文件
【任务】需要添加用户认证中间件
【行动】在现有路由上添加 JWT 验证
【结果】返回修改后的完整代码,并说明使用方法
3.2 分步提问
将复杂任务分解为多个简单步骤:
# 第1步:分析
> 分析 src/auth.py 的当前实现
# 第2步:设计(基于分析结果)
> 基于刚才的分析,设计 JWT 认证中间件
# 第3步:实现
> 实现刚才设计的中间件,集成到 src/api.py
# 第4步:测试
> 为这个中间件生成单元测试
3.3 模板化提问
# 代码生成模板
> 创建一个 [类型],要求:
- 功能:[具体功能]
- 输入:[参数说明]
- 输出:[返回值说明]
- 异常:[错误处理]
# 代码审查模板
> 审查 @文件,关注:
- 代码规范性
- 性能问题
- 安全隐患
- 可维护性
# 重构模板
> 重构 @文件,改进:
- [具体问题1]
- [具体问题2]
保持原有功能不变
四、输出控制
4.1 控制输出格式
# 指定输出格式
> 以表格形式列出项目中的所有 API 端点
> 用代码块返回修改后的函数
> 先给出简要分析,再提供详细建议
4.2 控制输出长度
# 要求简洁
> 简要说明 src/main.py 的功能(不超过 100 字)
# 要求详细
> 详细分析 src/auth.py 的设计,包括:
1. 架构说明
2. 优缺点分析
3. 改进建议
4.3 多轮精炼
# 第1轮:获取初稿
> 创建一个日志工具类
# 第2轮:添加要求
> 为这个类添加异步支持
# 第3轮:进一步优化
> 添加日志轮转功能,限制单个文件大小为 10MB
五、错误处理
5.1 常见错误类型
| 错误 | 原因 | 解决 |
|---|---|---|
| AI 理解偏差 | 上下文不足 | 添加 @文件引用 |
| 输出不符合预期 | 要求不明确 | 使用模板化提问 |
| 操作被拒绝 | 权限/安全限制 | 检查文件权限 |
| 命令执行失败 | 环境问题 | 检查环境配置 |
5.2 纠正 AI 输出
# 指出错误
> 刚才的代码有个问题:缺少异常处理
# 要求修改
> 请重新生成,添加 try-except 块
# 确认理解
> 这次对了。还有,记得添加类型注解
5.3 撤销操作
# 如果 AI 执行了错误操作
> 撤销刚才的文件修改
# Claude 会使用 Git 回滚更改
六、批量操作技巧
6.1 批量文件处理
# 批量修改
> 将 @src/ 目录下所有 Python 文件的 print 改为 logging
# 批量生成
> 为 @src/models/ 下每个类生成对应的测试文件
# 批量分析
> 分析 @tests/ 下所有测试文件,找出重复代码
6.2 使用通配符
# 使用 * 通配符
> 检查 @src/*_service.py 文件的错误处理
# 多个模式
> 比较 @src/*.py 和 @tests/test_*.py 的命名规范
6.3 条件处理
# 条件批量操作
> 在 @src/ 下所有使用了 requests 的文件中,
添加超时参数 timeout=30
# 智能识别
> 找出项目中所有没有类型注解的函数,并添加注解
七、与外部工具集成
7.1 编辑器集成
# 在 Cursor 中打开文件
> 在 cursor 中打开 src/main.py
# 在 VSCode 中打开
> 在 code 中打开 src/main.py
# 使用 vim 编辑
> 使用 vim 编辑 src/config.py
7.2 终端命令结合
# 结合 git
> 查看 git log,总结最近 5 次提交的主要改动
# 结合测试
> 运行 pytest,分析失败的测试用例
# 结合 lint
> 运行 flake8,修复所有格式问题
7.3 管道操作
# 读取命令输出并分析
> 执行 "find . -name '*.py' | head -10",
分析这些文件的用途
八、实战场景
场景1:代码审查流程
# Step 1: 获取文件列表
> 列出 src/ 目录下所有 Python 文件
# Step 2: 批量审查
> 审查这些文件,检查:
1. 是否符合 PEP8
2. 是否有类型注解
3. 异常处理是否完善
# Step 3: 生成报告
> 生成审查报告,按文件列出问题和建议
场景2:功能开发流程
# Step 1: 需求分析
> 分析需求:添加用户注册功能
# Step 2: 技术方案
> 设计注册功能的实现方案,包括:
- 数据模型
- API 接口
- 验证逻辑
# Step 3: 代码实现
> 实现刚才设计的方案,创建必要的文件
# Step 4: 测试验证
> 为注册功能生成单元测试
> 运行测试验证功能是否正常
场景3:问题排查流程
# Step 1: 描述问题
> 测试 test_api.py 失败了,帮我排查原因
# Step 2: 查看错误
> 运行 pytest tests/test_api.py -v,分析错误输出
# Step 3: 定位问题
> 查看 @src/api.py#45-60,这个函数是否有问题?
# Step 4: 修复验证
> 修复问题并重新运行测试
九、最佳实践
9.1 提问原则
| 原则 | 说明 | 示例 |
|---|---|---|
| 具体 | 明确文件和位置 | “优化 @src/utils.py#45” |
| 完整 | 提供足够上下文 | “当前使用 Flask,要迁移到 FastAPI” |
| 可验证 | 输出可以测试 | “生成可运行的代码” |
| 可追溯 | 保留修改历史 | 使用 Git 管理变更 |
9.2 效率技巧总结
1. 使用 @符号快速引用文件
2. 善用历史命令(↑↓键)
3. 复杂任务分步处理
4. 批量操作提高效率
5. 结合外部工具(git、pytest 等)
十、下一步学习
完成本指南后,建议学习:
- 03-MCP与工具调用.md - 扩展 AI 能力
- 04-SubAgent任务分发.md - 并行任务处理
更多推荐



所有评论(0)