当前位置: 首页 > news >正文

【Claude Code】 AI 编程指南

在这里插入图片描述

Claude Code 是 Anthropic 推出的​智能编程工具,它直接集成到你的命令行(终端)环境,通过直观的自然语言对话,帮你轻松驾驭代码编辑、问题修复、测试执行、版本管理、持续集成等核心开发环节,显著优化工作流,释放你的创造力和效率。这是每个程序员和团队都值得体验的高效生产力工具。

一、主要功能

  1. 根据描述构建功能:告诉 Claude 您想要构建什么,它会制定计划、编写代码,并确保代码正常工作。
  2. 调试和修复问题:描述一个 bug 或粘贴错误信息。Claude Code 会分析您的代码库,识别问题,并实现修复。
  3. 导航任何代码库:询问关于代码库的任何问题,都能得到全面的回答。能够感知整个项目结构,从网络获取最新信息,可通过 MCP 从外部数据源获取信息。
  4. 自动化繁琐任务:修复麻烦的代码检查问题、解决合并冲突、编写发布说明。可以通过单个命令完成所有这些操作,或者在 CI 中自动完成。

二、核心特性

  1. 通过终端交互:不是聊天窗口,也不是 IDE,直接在命令行终端中运行,方便与系统及其他工具集成,提供更高效的开发体验。
  2. 执行实际操作:可以直接编辑源文件、运行命令和创建提交。通过 MCP 可以读取您在其他系统中的设计文档、更新项目任务,或使用其他开发工具。
  3. 继承 Unix 哲学:是可组合和可脚本化的。如:tail -f app.log | claude -p "如果在此日志流中看到任何异常,请通过微信通知我" 。可以在 CI 持续集成系统中添加脚本: claude -p "如果有新的文本字符串,将其翻译成中文并为 @lang-cn_zh-team 提交 PR 供审核"

三、Windows 安装 Claude Code

  1. 已安装 WSL2 + Nodejs, 当前仅支持 MacOS 和 Linux 系统中安装运行 Claude Code。

WSL(Windows Subsystem for Linux),适用于Linux的Windows子系统,允许用户在 Windows 上运行Linux命令行工具、脚本及应用程序,而无需虚拟机或双系统启动,资源占用更低,启动更快,支持VS Code远程开发。适合开发者、学生及需同时使用Windows和Linux功能的用户。

  1. 打开 WSL Linux 命令行,执行以下命令:

    • 可在文件夹按住 Shift 点右键选择 “在此处打开Linux shell”
    • 在 VScode 终端中点击 + 选择 Ubuntu(WSL)
# 安装
sudo npm install -g @anthropic-ai/claude-code
  1. 配置 Claude Code,推荐使用项目专属配置

在项目根目录创建 .claude/ 文件夹,并添加 settings.json(项目公用) 及 settings.local.json(个人设置如密钥) 配置文件。个人设置可添加到 .gitignore

{"permissions": {"allow": ["Bash(npm run lint)","Bash(npm run test:*)","Read(~/.zshrc)"],"deny": ["Bash(curl:*)"]},"env": {"ANTHROPIC_MODEL": "claude-sonnet-4-20250514","ANTHROPIC_BASE_URL": "https://api.com", // 去掉注释,并改为具体地址"ANTHROPIC_AUTH_TOKEN": "set in ./settings.local.json" // 去掉注释,最后一项无逗号,并改为具体Token}
}
  1. 启动 Claude 进入 REPL 命令行交互模式(也可通过直接通过命令行调用)。
# 跳转到项目根目录(已进入可省略)
cd /path/to/your/project/
# 启动 Claude 进行交互式编程
claude

通过 >/status 查看当前 Claude Code 状态:
在这里插入图片描述

  1. 切换登录:/login,选择通过订阅或 API 模式(按 token 计费)使用。
    在这里插入图片描述

  2. 建议:美与效率并重: 打造理想命令行工作环境

四、配置 Claude Code

Claude Code 支持多层级设置:全局设置、项目级设置和环境变量。也可进入命令行模式,运行 /config 命令进行配置。

基于 settings.json 的分层配置

  • ​用户Shell级配置​​: ~/.claude/settings.json,适用于所有项目

  • 项目级配置​​:
    .claude/settings.json 可纳入版本控制,团队共享
    .claude/settings.local.json 本地个性化配置(加入.gitignore)

五、国内接口转发服务

用于设置 ANTHROPIC_BASE_URL+ANTHROPIC_AUTH_TOKEN

接口转发服务地址,一个账号通用所有模型,兑换比例为1.2元兑换1刀(约等于官方的1.7折)。

六、常用指令

以下是 Claude Code 的常用指令分类整理,涵盖基础交互、文件操作、Git 管理、配置调整等高频场景:

  1. 启动与对话
  • claude:启动命令行交互模式(REPL),之后可以通过特定指令或自然语言交互。
  • claude "任务/问题描述":带初始提示启动会话(如 claude "解释这个项目")。
  • claude -p "问题":执行一次性查询后退出(适合脚本调用)。
  • claude -c:继续最近一次会话。
  1. 会话管理
  • /help:获取帮助信息。
  • /status:查看 Claude Code 运行信息。
  • /exit: 退出,或者按快捷键 Ctrl+C
  • /clear:清除当前对话历史。
  • /compact:压缩对话内容,减少 Token 消耗。
  • /cost:查看当前会话的 Token 使用统计。
  • /init:创建CLAUDE.md项目配置文件。
  • /cost:查看当前会话已使用的费用。
  1. 文件编辑
  • claude "修复 code.js 的类型错误":自动定位并修改文件。
  • /add-dir <路径>:添加额外工作目录供 Claude 扫描。
  • /vim:进入 Vim 编辑模式,支持 Vim 快捷键(如 i 插入、dd 删除行)。
  • 修复BUG: > there's a bug where users can submit empty forms - fix it
  • 重构代码: > refactor the authentication module to use async/await instead of callbacks
  • 编写测试:> write unit tests for the calculator functions
  • 更新文档:> update the README with installation instructions
  1. 代码理解
  • claude "这个支付系统如何工作?":解析代码逻辑。
  • cat file.js | claude -p "解释这段代码":通过管道输入文件内容分析。
  • 代码 Review:> review my changes and suggest improvements
  1. Git 与版本控制
  • claude commit:自动生成 Git 提交(需确认权限)。
  • claude "创建 PR 并描述更改":生成 Pull Request。
  • claude "去年12月哪个提交添加了测试?":搜索 Git 历史。
  • > commit my changes with a descriptive message
  • > show me the last 5 commits
  1. 配置
  • /model:切换模型(如 claude-3-sonnetclaude-3-opus)。
  • /permissions:管理工具权限(如限制文件编辑或 Bash 命令)。
  • /config:调整主题、通知等全局配置。
  1. MCP 集成
  • /mcp:管理外部服务连接(如数据库、API)。
  • claude mcp add postgres "url=数据库链接":添加 PostgreSQL 查询支持。
  1. 项目记忆
  • /init:生成 CLAUDE.md 文件存储项目规范。
  • # 注释:输入以 # 开头的文本可快速添加记忆。

七、场景及最佳实践指南

场景:代码理解

  1. 快速了解项目全貌
> 请概述这个代码库
> 总结项目术语表
> 项目遵循哪些约定
> 这部分代码采用了什么设计模式
> 数据模型有哪些
> 认证机制是如何实现的?
  1. 查找关代码
> 查找处理用户认证的文件
> 这些认证相关的代码是如何协同工作?
> 说明从前端到访问数据库的具体登录流程

场景:修复BUG

> 我运行 npm test 时遇到`XXX`错误 # 告知错误信息
> 建议修复 user.ts 中 @ts-ignore 的方法 # 提问解决方案 
> 按建议更新 user.ts 添加空值检查 # 执行修改源码

场景:代码重构

> 找出代码库中已弃用的API用法
> 建议如何用现代JS特性重构utils.js
> 使用ES2024特性重构utils.js并保持行为一致
> 对重构的代码运行相关测试

场景:添加测试

> 找出文件中未被测试覆盖的函数
> 为通知服务添加测试
> 为通知服务添加边界条件测试用例
> 运行新测试并修复失败

场景:提交PR

> 总结本次认证模块的变更内容
> 创建 PR
> 在 PR 描述中补充更多安全改进相关的上下文信息
> 说明本次修改是如何测试的

场景:项目文档

> 找出 auth 模块缺少注释的函数
> 为 auth.js 未文档化的函数添加注释
> 完善注释补充更多上下文说明和示例
> 请检查文档是否符合项目规范

场景:通过图像辅助提问

可以把图片拖放/粘贴到 Claude 窗口,或指定图片路径

> 描述这张UI截图中的元素
> 根据设计稿生成匹配的CSS
> 这个错误截图的原因是什么?

场景:引用文件或目录

> 解释@src/utils/auth.js的逻辑
> @src/components的结构是怎样的?
> 显示@github:repos/owner/repo/issues数据

场景:深度思考

> 思考为 API 实现 OAuth2 认证的最佳方案
> 思考此方案的安全隐患
> 深入思考需要处理的边界条件

场景:使用命令行工具

  • 作为脚本
// package.json
{"scripts": {..."lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"}
}
  • 管道处理

通过管道将 Claude 集成到现有 Shell 脚本中,结合其他Unix工具构建高效工作流。使用--output-format参数获取结构化输出

cat error-log.txt | claude -p '分析错误的原因' > output.txt
cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json

场景:自定义指令

  • 创建项目级指令

首先在项目中创建存储自定义指令的文件夹

mkdir -p .claude/commands
# 指令名作为文件名
echo "分析代码性能并提出3条优化建议:" > .claude/commands/optimize.md
# 使用指令
> /optimize # 在指令中获得用户输入作为参数
echo "Find and fix issue #$ARGUMENTS. Follow these steps: 1.
Understand the issue described in the ticket 2. Locate the relevant code in
our codebase 3. Implement a solution that addresses the root cause 4. Add
appropriate tests 5. Prepare a concise PR description" > .claude/commands/fix-issue.md
# 使用指令
> /fix-issue 213

更多建议

  • ​明确需求​​:给出具体参数、格式或限制条件,而不是开放模糊的指令
  • ​分步执行​​:将任务分解为可验证的步骤,而不是一次性要求完整解决方案
  • ​确认理解​​:要求AI先复述问题核心要点,而不是直接开始解答
  • 从宏观到微观逐步深入
  • 使用项目专用术语
  • 小步重构并保持测试
  • 为复杂问题启用深度思考
  • 利用图像辅助理解
  • 创建可复用命令模板

八、参考

官方文档:https://docs.anthropic.com

END

博客中文章多为自己技术学习与实践备忘录,如果这篇文章对您有所启发或帮助,欢迎👍点赞或↪️分享,让更多开发者朋友受益!感谢您的阅读! ^_^

http://www.dtcms.com/a/277915.html

相关文章:

  • sql初学见解
  • 多线程死锁
  • 飞算Java AI开发助手:引领智能编程新风尚
  • Llama系列:Llama1, Llama2,Llama3内容概述
  • 【读书笔记】《C++ Software Design》第九章:The Decorator Design Pattern
  • HTML 基本骨架
  • [GWCTF 2019]我有一个数据库
  • SOMEIP协议与测试
  • LeetCode 2401.最长优雅子数组
  • C++数组指针与函数指针
  • 为什么要有延时回调?
  • 2024-2025-2 山东大学《软件工程与实践》期末(回忆版)
  • p4 大小写检查
  • C++高级编程,类模版成员函数类外实现
  • windows10如何安装vue开发环境
  • JAVA-springboot 整合Activemq
  • ECU(电子控制单元)是什么?
  • C++中顶层const与底层const
  • JSX 语法
  • 【前端知识】移动端APP原生应用与H5交互底层逻辑
  • Dubbo跨越分布式事务的最终一致性陷阱
  • 有效感受野(ERF)可视化工具
  • hash表的模拟--开放定址法
  • 如何将本地代码同步到远程Github仓库
  • 【Docker基础】Dockerfile指令速览:环境与元数据指令详解
  • OSPF与BGP的联动特性
  • Utils系列之内存池(MultiSizePool)
  • 【MLLM】多模态理解GLM-4.1V-Thinking模型
  • OpenVela 日志系统:从配置到落地的实操手册
  • Python装饰器(自定义装饰器和3个内置装饰器)