Claude Code入门指南:开发者必备的AI编程工具

claude-code

概述

Claude Code是由 Anthropic官方推出的交互式命令行工具。它不是一个简单的代码片段生成器,也不是一个需要你反复复制粘贴的聊天窗口。Claude Code是一个真正活在你终端里的 AI 编程伙伴,为开发者提供强大的 AI 辅助编程体验。

它被设计用来:

  • 理解你的本地环境: 它可以直接读取你的文件,熟悉你的项目结构和编码规范。
  • 执行实际任务: 它能运行测试、执行 lint 检查、读写文件,甚至帮你管理 Git 提交。
  • 协同完成复杂工作: 从多文件的大规模重构,到一步步规划并实现一个新功能,它能像一个初级开发者一样与你协作

官网:https://www.anthropic.com/claude-code

文档:https://docs.anthropic.com/en/docs/claude-code

安装

安装Node.js 18+版本

进入Node.JS 官网,选择对应的操作系统和版本下载

安装claude code

直接在终端中输入以下命令进行安装

bash 复制代码
npm install -g @anthropic-ai/claude-code

输入以下命令,当出现Claude版本信息则表明安装成功

bash 复制代码
claude --version

更新Claude Code 版本

bash 复制代码
claude update

使用

Claude Code使用模式有2种:

arduino 复制代码
交互式会话:claude

非交互式:claude -p "question"

这里使用交互式会话,在终端输入claude进入Claude Code

bash 复制代码
claude

初次安装进入Claude Code要求选择一个主题颜色,按回车健确认 登录方式有以下2种,但大概率是不会使用的吧,一个字:贵

复制代码
1.Claude账号登录

2.API方式

配置API

配置API就是不使用Claude官方模型,使用其他任意模型提供商的任何模型

环境变量

1.Windows系统

方法1: 临时设置,仅当前终端有效。在PowerShell或CMD中执行:

bash 复制代码
# PowerShell
$env:ANTHROPIC_BASE_URL="https://xxx.com"
$env:ANTHROPIC_AUTH_TOKEN="API Key"

# CMD
set ANTHROPIC_BASE_URL=https://xxx.com
set ANTHROPIC_AUTH_TOKEN=API Key

方法2: 永久设置,全局生效。

a. 图形界面:

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」

  • 在「用户变量」或「系统变量」中新建: 变量名:ANTHROPIC_AUTH_TOKEN:API KEY 变量名:ANTHROPIC_BASE_URL:任意模型供应商提供的API URL

  • 可选变量: ANTHROPIC_MODEL:指定主要默认模型 ANTHROPIC_SMALL_FAST_MODEL:指定用于处理后台任务的模型。可以是一个较小的本地模型以节省成本。

b. PowerShell设置:

也可以使用Windows PowerShell环境变量配置,其信息也是配置在系统环境变量中

bash 复制代码
# PowerShell CMD 
setx ANTHROPIC_AUTH_TOKEN "API Key" 
setx ANTHROPIC_BASE_URL "https://xxx.com" 

# PowerShell
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_BASE_URL', 'https://xxx.com', 'User')
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_AUTH_TOKEN', 'API Key', 'User')

2.Linux、Mac系统:

方法1: 临时设置,仅当前终端有效

bash 复制代码
export ANTHROPIC_BASE_URL="https://xx.com"
export ANTHROPIC_AUTH_TOKEN="API Key"

方法2: 永久设置

编辑vim .bashrc文件,输入以下变量信息

bash 复制代码
export ANTHROPIC_AUTH_TOKEN = API KEY
export ANTHROPIC_BASE_URL = BASE_URL

或者输入以下命令添加变量信息

bash 复制代码
echo 'export ANTHROPIC_BASE_URL="https://xx.com"' >> ~/.bashrc
echo 'export ANTHROPIC_AUTH_TOKEN="API Key"' >> ~/.bashrc

执行以下命令使配置生效

bash 复制代码
source  .bashrc

配置settings.json

直接在Claude Code的全局配置文件settings.json中配置

  1. Windows 平台:C:\Users\用户名.claude\settings.json

  2. Linux/Mac 平台:vim ~/.claude/settings.json

示例结构如下,只需要填写env核心内容即可

bash 复制代码
{
    "env": {
        "ANTHROPIC_API_KEY": "",
        "ANTHROPIC_BASE_URL": "",
        "ANTHROPIC_MODEL": "",
        "ANTHROPIC_SMALL_FAST_MODEL": ""
    },
    "permissions": {
        "allow": "",
        "deny": ""
    }
}

验证

通过以下命令验证是否设置成功:

bash 复制代码
# macOS/Linux
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN

# Windows PowerShell
echo $env:ANTHROPIC_BASE_URL
echo $env:ANTHROPIC_AUTH_TOKEN

# Windows CMD
echo %ANTHROPIC_BASE_URL%
echo %ANTHROPIC_AUTH_TOKEN%

借助开源项目

这一类开源项目比较多,这里列举2个常见的

1.claude-code-proxy

2.claude-code-router

个人更喜欢claude-code-router,具体如何使用可参考博文:Claude Code Router:一键接入多种AI模型的智能路由器

使用脚本

如果使用多个供应商时,频繁修改环境变量多有不便,于是乎编写了如下脚本。首先配置模型信息,然后通过一键脚本形式管理环境变量信息

Windows系统下,创建manage_env.bat,编辑文件内容如下:

bash 复制代码
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: --- 在此处配置您的环境变量 ---
set "ANTHROPIC_AUTH_TOKEN=sk-1234556"
set "ANTHROPIC_BASE_URL=https://xxx.com"
set "ANTHROPIC_MODEL=gemini-2.5-pro"
set "ANTHROPIC_SMALL_FAST_MODEL=gemini-2.5-flash"
:: --- 配置结束 ---

:menu
cls
echo.
echo ===================================================
echo               环境变量管理脚本
echo ===================================================
echo.
echo  1. 设置永久环境变量 (为当前用户)
echo.
echo  2. 设置临时环境变量 (新窗口,关闭即失效)
echo.
echo  3. 删除设置的永久环境变量
echo.
echo  4. 验证永久环境变量
echo.
echo  5. 退出
echo.
echo ===================================================
echo.

set /p choice="请输入您的选择 [1,2,3,4,5]: "

if "%choice%"=="1" goto set_perm
if "%choice%"=="2" goto set_temp
if "%choice%"=="3" goto delete_perm
if "%choice%"=="4" goto verify_perm
if "%choice%"=="5" goto exit_script

echo.
echo 无效的选择,请按任意键返回菜单...
pause > nul
goto menu

:set_perm
echo.
echo 正在设置永久环境变量...
reg add HKEY_CURRENT_USER\Environment /v ANTHROPIC_AUTH_TOKEN /t REG_SZ /d "%ANTHROPIC_AUTH_TOKEN%" /f >nul
reg add HKEY_CURRENT_USER\Environment /v ANTHROPIC_BASE_URL /t REG_SZ /d "%ANTHROPIC_BASE_URL%" /f >nul
reg add HKEY_CURRENT_USER\Environment /v ANTHROPIC_MODEL /t REG_SZ /d "%ANTHROPIC_MODEL%" /f >nul
reg add HKEY_CURRENT_USER\Environment /v ANTHROPIC_SMALL_FAST_MODEL /t REG_SZ /d "%ANTHROPIC_SMALL_FAST_MODEL%" /f >nul

echo.
echo 永久环境变量设置成功!
echo.
echo 按任意键返回菜单...
pause > nul
goto menu

:set_temp
echo.
echo 正在打开一个新的命令提示符窗口并设置临时环境变量...
start "临时环境会话" cmd /k "chcp 65001 >nul & set ANTHROPIC_AUTH_TOKEN=%ANTHROPIC_AUTH_TOKEN% & set ANTHROPIC_BASE_URL=%ANTHROPIC_BASE_URL% & set ANTHROPIC_MODEL=%ANTHROPIC_MODEL% & set ANTHROPIC_SMALL_FAST_MODEL=%ANTHROPIC_SMALL_FAST_MODEL% & echo 临时环境变量已设置。关闭此窗口后将会失效。"
goto menu

:delete_perm
echo.
echo 正在删除永久环境变量...
reg delete HKEY_CURRENT_USER\Environment /v ANTHROPIC_AUTH_TOKEN /f >nul 2>&1
reg delete HKEY_CURRENT_USER\Environment /v ANTHROPIC_BASE_URL /f >nul 2>&1
reg delete HKEY_CURRENT_USER\Environment /v ANTHROPIC_MODEL /f >nul 2>&1
reg delete HKEY_CURRENT_USER\Environment /v ANTHROPIC_SMALL_FAST_MODEL /f >nul 2>&1
echo.
echo 永久环境变量已被删除!
echo.
echo 按任意键返回菜单...
pause > nul
goto menu

:verify_perm
echo.
echo 正在从注册表查询永久环境变量...
echo.
reg query HKCU\Environment /s | findstr "ANTHROPIC"
echo.
echo 查询完成。
echo.
echo 按任意键返回菜单...
pause > nul
goto menu

:exit_script
exit /b 0

命令说明

CLI命令

命令 语法 描述 示例
claude claude 启动交互式 REPL 模式 claude
claude "query" claude "查询内容" 使用初始提示启动 REPL claude "解释这个项目的结构"
claude -p "query" claude -p "查询内容" 通过 SDK 查询并退出 claude -p "解释这个函数的作用"
claude -c claude -c 继续最近的对话 claude -c
claude -r claude -r claude -r "<会话ID>" "查询" 选择需要恢复的会话 恢复指定会话 claude -r "abc123" "完成这个 PR"
claude update claude update 更新到最新版本 claude update
claude mcp claude mcp 配置模型上下文协议服务器 claude mcp

CLI选项标志

标志 描述 示例
--add-dir 添加工作目录 claude --add-dir ./src
--allowedTools 指定允许的工具 claude --allowedTools Read,Write
--disallowedTools 指定禁用的工具 claude --disallowedTools Bash
--print/-p 打印响应而不进入交互模式 claude -p "hello world"
--output-format 指定输出格式 (text, json, stream-json) claude --output-format json -p "说明"
--input-format 指定输入格式 claude --input-format json
--verbose 启用详细日志记录 claude --verbose
--max-turns 限制代理轮数 claude --max-turns 5
--model 设置会话模型 claude --model claude-3-haiku
--permission-mode 设置权限模式 claude --permission-mode strict
--resume 恢复指定会话 claude --resume abc123
--continue 加载最近的对话 claude --continue
--dangerously-skip-permissions 跳过权限提示 claude --dangerously-skip-permissions

交互模式斜杠命令

命令 功能 示例用法
/add-dir 添加额外的工作目录 /add-dir ./tests
/agents 管理自定义 AI 子代理 /agents list
/bug 向 Anthropic 报告错误 /bug
/clear 清除对话历史 /clear
/compact 压缩对话内容,在上下文中保留摘要 /compact 摘要说明
/config 查看/修改配置 /config show
/cost 显示令牌使用统计 /cost
/doctor 检查 Claude Code 安装健康状态 /doctor
/exit 退出 /exit
/export 将当前对话导出到文件或剪贴板 /export
/help 获取使用帮助 /help
/hooks 管理工具事件的钩子配置 /hooks list
/ide 管理 IDE 集成并显示状态 /ide status
/init 使用 CLAUDE.md 指南初始化项目,类似于记忆 /init
/install-github-app 为代码仓库设置 Claude GitHub Actions /install-github-app
/login 切换 Anthropic 账户 /login
/logout 登出 Anthropic 账户 /logout
/mcp 管理 MCP 服务器连接 /mcp status
/memory 编辑 CLAUDE.md 记忆文件 /memory edit
/migrate-installer 从全局 npm 安装迁移到本地安装 /migrate-installer
/model 选择或更改 AI 模型 /model claude-3-opus
/permissions 查看或更新权限 /permissions show
/pr_comments 查看拉取请求评论 /pr_comments
/release-notes 查看版本说明 /release-notes
/resume 恢复对话 /resume
/review 请求代码审查 /review
/status 查看账户和系统状态 /status
/upgrade 升级到 Max 以获得更高的速率限制和更多的 Opus /upgrade
/terminal-setup 安装 Shift+Enter 键绑定 /terminal-setup
/vim 进入 vim 模式 /vim

进阶使用

对话模式

Claude Code支持三种对话模式,可以使用快捷键进行切换

Linux、Mac:

bash 复制代码
shift+tab

Windows:

bash 复制代码
alt+m

1.普通模式:AI所有修改代码需要人工进行审核 2.auto-accept模式:AI所有修改代码无需人工进行审核

复制代码
3.plan模式:AI不会修改代码只会提出想法、建议、计划等

历史对话

输入/resume查看历史对话记录 可以选择历史话题 进入某个历史对话后,可以连续按2次ESC进行选择某次对话

图片对话

如果模型支持图片读取,可以直接将图片拖到对话输入框,然后进行提问

与IDE集成

在Claude Code终端进行AI代码修改后的审核是非常不方便的,此时可以借助插件把Claude Code接入IDE

集成功能

css 复制代码
差异查看:在 IDE 差异查看器中打开文件差异,以查看和修改建议的更改

选择上下文:IDE 中的当前选择会自动与 Claude Code 共享

文件引用快捷方式:使用Cmd+Option+K(Mac)或Ctrl+Alt+K(Linux / Windows)插入文件引用

诊断共享:波浪形错误和警告与 Claude Code 实时共享

安装以下图所所示的插件 输入/ide命令来管理 IDE 集成并显示状态 选择所使用的IDE,例如这里是Trae 启用自动连接到IDE 到这里就将Claude Code集成到了Trae IDE中 当在IDE中选择代码时,Claude窗口就会同步选择

记忆管理

记忆管理使用/init指令,会在当前项目根目录下创建CLAUDE.md文件并生成相关信息

功能 描述 示例
CLAUDE.md 文件 项目特定的上下文和指令存储 在项目根目录创建包含项目规范的文件
项目知识持久化 跨会话保持对项目的理解 Claude 记住你的代码风格、架构模式
自定义指令 为项目设定特定的工作流程 定义测试流程、部署步骤等

示例CLAUDE.md内容:

markdown 复制代码
# 项目上下文
这是一个 React + TypeScript 项目
- 使用 Jest 进行测试
- 遵循 Airbnb 代码规范
- API 调用使用 axios
- 状态管理使用 Redux Toolkit

添加记忆:

命令行输入:# 记忆内容,然后提示选择项目级记忆还是用户级的记忆,完成后会将记忆内容写入到CLAUDE.md文件 项目级与用户级记忆:

项目级记忆:仅对当前项目生效

bash 复制代码
当前项目\CLAUDE.md

用户级记忆:对所有项目生效

bash 复制代码
# Windows
C:\Users\用户名\.claude\CLAUDE.md

# Linux Mac
~/.claude/CLAUDE.md

MCP集成

Context7 MCP是一个可以用来获取任何库的最新文档和代码示例的工具。

添加MCP:

远程服务器连接

bash 复制代码
claude mcp add --transport http context7 https://mcp.context7.com/mcp

SSE传输协议

bash 复制代码
claude mcp add --transport sse context7 https://mcp.context7.com/sse

本地服务器连接

bash 复制代码
claude mcp add context7 -- npx -y @upstash/context7-mcp

删除MCP:

bash 复制代码
claude mcp remove context7

注意:

MCP安装分为项目级(当前项目生效)与用户级(所有项目生效)

使用--scope user申明用户级安装

bash 复制代码
claude mcp add context7 --scope user -- npx -y @upstash/context7-mcp

自定义命令

基于项目级或用户级,创建 .claude/commands/目录,在该目录下创建合适名称的MD格式文件,文件名即指令名称,文件中描述指令功能

例如: 基于当前项目,创建 .claude/commands/my_command.md文件,内容如下:

bash 复制代码
请告诉我 $year 年,中秋节是哪月哪天,放假几天?

可能需要重启Claude Code终端,然后直接输入指令名称与参数值 执行结果如下:

Hooks 钩子

Claude Code Hooks 是用户定义的 Shell 命令,会在 Claude Code 生命周期的各个阶段执行。钩子能够对 Claude Code 的行为进行确定性控制,确保某些操作始终发生,而不是依赖 LLM 来选择运行它们。
使用Hooks可以实现自动化工作流

hooks应用场景:

css 复制代码
通知:自定义当 Claude Code 等待您的输入或运行许可时如何收到通知。

自动格式化:每次编辑文件后在prettier.ts 文件、gofmt.go 文件等上运行。

日志记录:跟踪并统计所有已执行的命令,以进行合规性或调试。

反馈:当 Claude Code 生成的代码不符合您的代码库约定时提供自动反馈。

自定义权限:阻止对生产文件或敏感目录的修改。

配置方式:

bash 复制代码
~/.claude/settings.json 用户设置

.claude/settings.json 项目设置

.claude/settings.local.json 本地项目设置 高优先级

Hooks 钩子事件:

Claude Code提供了以下几个在工作流程的不同生命周期运行的钩子事件,每个事件都会接收不同的数据,并能以不同的方式控制Claude Code的行为。

css 复制代码
PreToolUse:在工具调用之前运行(可以阻止它们)

PostToolUse:工具调用完成后运行

UserPromptSubmit:在用户提交提示时运行,在 Claude 处理之前

Notification:当 Claude Code 发送通知时运行

Stop:当 Claude Code 完成响应时运行

SubagentStop:子代理任务完成时运行

PreCompact:在 Claude Code 即将运行压缩操作之前运行

SessionStart:当 Claude Code 启动新会话或恢复现有会话时运行
	

结构: 钩子由匹配器组织,每个匹配器可以有多个钩子:

bash 复制代码
{
  "hooks": {
    "EventName": [
      {
        "matcher": "ToolPattern",
        "hooks": [
          {
            "type": "command",
            "command": "your-command-here"
          }
        ]
      }
    ]
  }
}

matcher:匹配工具名称的模式,区分大小写

arduino 复制代码
简单字符串完全匹配:Write仅匹配写入工具

支持正则表达式:Edit|Write或*

用于*匹配所有工具。也可以使用空字符串 ("") 或 matcher留空。

hooks:模式匹配时执行的命令数组

bash 复制代码
type:目前仅"command"支持

command:要执行的 bash 命令

timeout:(可选)在取消特定命令之前,该命令应运行多长时间(以秒为单位)

常见匹配器:

需要注意不同的钩子事件具有不同的匹配器

arduino 复制代码
Task:子代理任务

Bash:Shell 命令

Glob:文件模式匹配

Grep: 内容搜索

Read: 文件读取

Edit、MultiEdit:文件编辑

Write:文件写入

WebFetch、WebSearch:Web 操作

添加钩子事件

输入/hooks并回车进入hooks配置 选择生命周期钩子事件 接着添加匹配器 输入匹配器类型 添加钩子事件执行操作 选择存储位置 到了这步钩子事件就添加完毕 同时settings.json文件中就存在了以下钩子事件配置:

bash 复制代码
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Read|Write",
        "hooks": [
          {
            "type": "command",
            "command": "echo 123 > hooks.txt"
          }
        ]
      }
    ]
  }
}

接着就可以验证钩子事件是否执行,例如:xx.py文件有什么内容? 触发读取匹配器,从而执行echo 123 > hooks.txt

SubAgent 子代理

Claude Code 中的自定义SubAgent 子代理是专门的 AI 助手,可以调用它们来处理特定类型的任务。它们通过提供特定于任务的配置,包括自定义的系统提示、工具和单独的上下文窗口,从而实现更高效的问题解决。
根据项目实际需求,可以创建多个Agent,当发出某指令时,Claude Code就会自动调用这些子代理Agent执行特定任务

以创建一个写代码注释的Agent为例:

输入/agents进入Agent管理配置 创建Agent 选择存放级别 使用Claude生成 自然语言描述Agent可以做什么 赋予Agent怎样的工具权限,直接选择Continue即可 选择模型

选择Agent代表的颜色 发出指令写注释,会自动调用创建的Agent执行

相关推荐
一休哥助手10 分钟前
Naive RAG:简单而高效的检索增强生成架构解析与实践指南
运维·人工智能·架构
机器之心41 分钟前
究竟会花落谁家?DeepSeek最新大模型瞄准了下一代国产AI芯片
人工智能·openai
赵英英俊43 分钟前
Python day51
人工智能·pytorch·python
双向3344 分钟前
金融风控AI引擎:实时反欺诈系统的架构设计与实现
人工智能
一只爱撸猫的程序猿1 小时前
创建一个关于智能博物馆导览案例
spring boot·aigc·ai编程
星期天要睡觉1 小时前
计算机视觉(opencv)实战六——图像形态学(腐蚀、膨胀、开运算、闭运算、梯度、顶帽、黑帽)
人工智能·opencv·计算机视觉
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 日榜(2025-08-21)
ai·开源·github·ai编程
量子位1 小时前
DeepSeek一句话让国产芯片集体暴涨!背后的UE8M0 FP8到底是个啥
ai编程·deepseek
量子位1 小时前
稚晖君新大招:机器人二次开发0门槛了!
llm·ai编程
悟纤1 小时前
AI翻唱实战:用[灵龙AI API]玩转AI翻唱 – 第6篇
人工智能·ai翻唱·ai cover