最近在用Claude Code,体验下来,感觉它和传统的编程助手不太一样。相比起让人反复调整 prompt 的 ChatGPT,Claude Code给我的感觉是:更懂你。比如它能持续理解上下文、不那么容易“断片”,尤其在写中长代码块或做逻辑推理时,明显顺畅很多。
但要用好它,其实还有不少“窍门”——我也踩过坑、兜过圈。于是花了点时间,把这些用下来的23个实用技巧整理出来,写给也在用(或准备用)Claude Code的你,希望少走弯路,多点灵感。
GPT plus 代充 只需 145
Claude Code 的安装与配置教程看这篇:
Claude Code安装与配置教程 — 包含Windows / macOS / Linux (Ubuntu/Debian) 全平台指南!
别再说:“修复这个漏洞” 这么笼统的指令:尽量把你的需求说具体点。
你可以这样和它说:
修复用户登录时不输入密码出现的空指针错误
如果是小任务/模块,可以一次性把需求发给 AI,一次性出结果,整体效率更高。
但是,如果是大需求,实现流程比较长的那种,建议把复杂的任务拆解成小步骤,比如:
- 给用户 API 创建一个新接口;
- 给请求的字段添加必要的验证;
- 编写这个接口的测试用例;
- …
因为 AI 上下文都有限制,上下文 /记忆太长可能输出不全、甚至被截断,还是分步最安全,每一步完成后你都可以先 review/测试,再让 AI 执行下一步。
像上面的示例,其实并不复杂,可以一次性发给 Claude Code,AI 能整体考虑代码结构和风格,减少重复解释和沟通成本。
在修改代码之前,先让 Claude 理解你的代码,比如:
- 分析一下数据库表结构;
- 这个应用中的错误是如何处理的?
- …
修改前,先让 AI 理解你业务和代码,这样才能更精准、高效地辅助你开发和优化。
比如:
输入 / 查看所有斜杠命令;
使用上下方向键查看命令历史;
使用 Tab 键进行命令快速补全;
使用 Option + Enter 换行;
使用 Ctrl + C 退出终端等等。
你是不是经常遇到 Claude Code 干活干一半,停下来让你授权?
不授权就卡在那里,虽然可以在当前会话可以设置不再询问,但权限又有好几种,每种权限都要来问一下,严重影响效率。
其实,启动 claude 时有一个参数:
带上这个参数启动时,Claude Code 会出现警告提示:
讯享网WARNING: Claude Code running in Bypass Permissions mode
By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode.
https://docs.anthropic.com/s/claude-code-security
- No, exit
- Yes, I accept
你需要点确认(Yes)才能开启 Bypassing Permissions 模式,开启此模式后,终端下面会出现黄色的 Bypassing Permissions 模式提示:
* Welcome to Claude Code!
/help for help, /status for your current setup
cwd: █ █ █ █ █ █ █ █ █ █ █ █
Try “create a util logging.py that…”
? for shortcuts
Bypassing Permissions
开启 Bypassing Permissions 模式后,后面所有操作就都不需要你授权了,Claude Code 哐当就把所有活干了。
每次都输入 claude –dangerously-skip-permissions 太麻烦了,还可能输错,可以考虑他那一个 alias 别名:
alias claude=‘claude –dangerously-skip-permissions’
这只是临时生效,永久生效可以把它放到个人环境配置文件中,然后 source 生效一下。
在 Claude Code 中,可以使用 “think” 这个词来激活深度思考模式,包括以下几种级别:
“think” < “think hard” < “think harder” < “ultrathink”
使用这些深度思考,会直接对应系统中不同级别的思考预算,每一级都会逐步增加 Claude 可用的思考预算,毫无疑问,使用 ultrathink 是最费钱的,也能发挥它的最大潜能。
如果你是订阅的是 Max 套餐,可以考虑使用 ultrathink 模式,不然就得小心你的钱包。
比如我来测试一下:
1+1=?ultrahink
讯享网/cost ├─ Total cost: $0.0619 ├─ Total duration (API): 7.2s ├─ Total duration (wall): 2m 7.8s ├─ Total code changes: 0 lines added, 0 lines removed ├─ Token usage by model: │ ├─ claude-3-5-haiku: 217 input, 7 output, 0 cache read, 0 cache write │ └─ claude-sonnet: 4 input, 7 output, 0 cache read, 16.4k cache write
一个 1+1 计算耗费了 0.06 美元,大概不到 5 毛 RMB。。
如果在 Claude Code 工作时,有时候可能给的命令描述的不对,如果你想让它停止,只需要按 ESC 键即可:
> 总结一下这个项目 └─ Interrupted by user
终端上面会显示被用户打断。
Claude Code 可以发送图片并进行处理,在命令行中,把图片和提示词发过去,让它更好的理解你的意图。
如下所示:
讯享网> [Image #4] 这个按钮样式错乱了,请修复
注意,在 Mac 中粘贴图片不是使用 command + v,而是使用 ctrl + v 快捷键。
你还可以发送以下命令:
- 这个图片显示了什么?
- 这是错误的截图,是什么原因导致的?
- 请根据这个图片的设计模型设计网页
非交互模式
Claude Code 提供两个选项来恢复之前的对话:
- claude –continue 或者 claude -c:自动继续最近的对话,无需任何提示。
- claude –resume 或者 claude -r:显示历史对话选择器;
这两个带参数的命令需要在「非交互模式」下进行,也就是还没有进入 Claude Code。
交互模式
如果你已经进入了 Claude Code 会话,想恢复到之前的哪个历史会话,可以使用 /resume 命令恢复历史会话:
Modified Created # Messages Summary
2m ago 57m ago 69 mybatis-plus 模块请添加一个页面用添加用户吧,再添加一个页面用来搜索用户 6m ago 57m ago 69 mybatis-plus 模块请添加一个页面用添加用户吧,再添加一个页面用来搜索用户 8m ago 57m ago 69 mybatis-plus 模块请添加一个页面用添加用户吧,再添加一个页面用来搜索用户 12m ago 1h ago 3 Caveat: The messages below were generated by… 1h ago 1h ago 3 IntelliJ IDEA Connection and Local Command Execution 1h ago 1h ago 3 VS Code Connection and Local Command Execution 1h ago 1h ago 3 Cost Analysis for Local Command Execution 2h ago 2h ago 54 MyBatis-Plus: Add User Creation Interface Endpoint 3h ago 3h ago 38 Spring Boot Best Practices Project Tech Stack Overview 3h ago 3h ago 3 Local Command Help Request, No Output 3h ago 3h ago 5 Screen Cleared, Ready for Spring Boot Development 3h ago 3h ago 6 Spring Boot Project Setup and Configuration Assistance
上下方向键选中一条记录可以恢复会话。
记忆文件介绍
Claude Code 提供三种记忆位置,每种都有不同用途:
| 记忆类型 | 文件位置 | 用途说明 | 使用示例 |
|---|---|---|---|
| 项目记忆(共享) | https://zhuanlan.zhihu.com/p/CLAUDE.md | 项目团队共享的指令 | 项目架构、编码规范、常用工作流程 |
| 用户记忆(全局) | ~/.claude/CLAUDE.md | 用于所有项目的个人偏好设置 | 代码风格偏好、个人工具快捷方式 |
| 项目记忆(本地) | https://zhuanlan.zhihu.com/p/CLAUDE.local.md | 项目的个人偏好设置(已废弃) | 你的沙箱地址、测试数据偏好等 |
其中, CLAUDE.md 文件是 Claude Code 自动读取的记忆文件,类似于 Cursor 中 rules 规则文件,但比它要更强大,它可以为 Claude 提供更多项目相关的上下文信息,如:
- 常用的 bash 命令
- 核心文件和工具函数
- 代码风格指南
- 测试说明
- 代码库规范
- 开发环境设置
- 更多希望 Claude 记住的信息等等
当 Claude Code 启动时,以上所有记忆文件会自动加载到运行环境中。
可以在多个位置放置 CLAUDE.md 文件,Claude Code 会递归读取这些文件,从当前工作目录开始,向上递归到根目录,读取找到的任何 CLAUDE.md 文件。
编辑记忆文件
在会话期间使用 /memory 斜杠命令,可以在系统编辑器中打开记忆文件:
讯享网Select memory to edit:
- Project memory Checked in at https://zhuanlan.zhihu.com/p/CLAUDE.md
- Project memory (local) Gitignored in https://zhuanlan.zhihu.com/p/CLAUDE.local.md
- User memory Saved in ~/.claude/CLAUDE.md
55 memories in https://zhuanlan.zhihu.com/p/CLAUDE.md
选择一个记忆文件回车进行编辑,其中第一个就是使用 /init 初始化命令生成的,第二个已废弃,第三个是用户级记忆文件。
比如我们可以修改第三个用户级记忆文件:
每次请用中文回答我。
这样设置记忆后,后续所有项目的交互就都是中文回答的了。
在 Claude Code 中,我们的 Git 操作就可以变得对话形式,不用记住一些繁琐的命令。
我修改了哪些文件
> 我修改了哪些文件
● Bash(git status) └─ On branch master
讯享网 Your branch is up to date with 'origin/master'. … +5 lines (ctrl+r to expand)
● 您创建了一个新文件:
– CLAUDE.md – 新创建的项目文档文件,包含了项目概述、开发命令、架构结构等信息,并已转换为中文友好的内容
该文件目前处于未跟踪状态,需要使用 git add CLAUDE.md 来添加到版本控制中。
用合理描述性信息提交我的更改
> 用合理描述性信息提交我的更改
● Bash(git add CLAUDE.md) └─ (No content)
● Bash(git commit -m “添加项目文档 CLAUDE.md…”) └─ [master bc926e9] 添加项目文档 CLAUDE.md
讯享网 1 file changed, 92 insertions(+) create mode CLAUDE.md
● Bash(git status) └─ On branch master
Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) … +2 lines (ctrl+r to expand)
● 已成功提交您的更改!
提交 ID:bc926e9
状态:工作目录干净,本地分支领先远程分支 1 个提交
推送本分支到远程
讯享网> 推送本分支到远程
● Bash(git push) └─ To github.com:████/████.git
b397b9c..bc92e69 master -> master ● 已成功推送到远程仓库!本地 master 分支的更改已同步到 github.com:████/████.git。
创建一个新分支:feature/test
讯享网> 创建一个新分支:feature/test
● Bash(git checkout -b feature/test) └─ Switched to a new branch ‘feature/test’
● 已成功创建并切换到新分支 feature/test。
删除本分支并切换到master分支
> 删除本分支并切换到 master 分支
● Bash(git checkout master) └─ Your branch is up to date with ‘origin/master’.
讯享网 Switched to branch 'master' ● Bash(git branch -d feature/test) └─ Deleted branch feature/test (was bc92e69).
● 已成功切换到 master 分支并删除了 feature/test 分支。
显示最近3次提交中所有文件列表
● 最近 3 次提交中的所有文件列表:
● Bash(find . -name “*.java” -exec wc -l {} \; | sort -nr | head -3) └─
200 https://zhuanlan.zhihu.com/p/spring-boot-redis/src/main/java/cn/javastack/springboot/redis/service/RedisOptService.java 140 https://zhuanlan.zhihu.com/p/spring-boot-web/src/main/java/cn/javastack/springboot/web/config/WebConfig.java 134 https://zhuanlan.zhihu.com/p/spring-boot-mapstruct/target/generated-sources/annotations/cn/javastack/springboot/mapstruct/struct/UserNestedStructImpl.java ● 前 3 个行数最多的 .java 文件:
- RedisOptService.java – 200 行
- WebConfig.java – 140 行
- UserNestedStructImpl.java – 134 行
从执行信息可以看到它正在执行的命令,这么复杂的命令一般人是很难记住的。
在非交互模式下:
claude -p “列出行数最多的前3个.java文件”
讯享网
Press Enter to continue…
根据搜索结果,行数最多的前 3 个 Java 文件是:
- RedisOptService.java(200行) - https://zhuanlan.zhihu.com/p/spring-boot-redis/src/main/java/cn/javastack/springboot/redis/service/RedisOptService.java
- WebConfig.java(140行) - https://zhuanlan.zhihu.com/p/spring-boot-web/src/main/java/cn/javastack/springboot/web/config/WebConfig.java
- UserNestedStructImpl.java(134行) - https://zhuanlan.zhihu.com/p/spring-boot-mapstruct/target/generated-sources/annotations/cn/javastack/springboot/mapstruct/struct/UserNestedStructImpl.java
需要注意的是,第 3 个文件是在 target 目录下的生成文件,如果你只想看源代码文件,我可以排除 target 目录重新搜索。
这是执行一次命令,它会列出满足条件的文件后退出 Claude Code 交互模式。
Claude Code 目前支持 Claude Opus 与 Claude Sonnet 4 两个模型的灵活切换,使用 /model 命令进行切换:
Select Model
Switch between Claude models. Applies to this session and future Claude Code sessions.
For custom model names, specify with –model.
- Default (recommended) Use the default model (currently Sonnet 4) – \(3/\)15 per Mtok ✔
- Opus Opus 4 for complex tasks – \(15/\)75 per Mtok
Enter to confirm · Esc to exit
默认为 Claude Sonnet 4,可以切换到 Claude Opus,不过个人感觉没必要,强烈推荐使用 Claude Sonnet 4,其使用体验与Claude Opus 并没有明显差别,但计费倍率仅为其 1⁄5,土豪请忽略。
注意, 只有 Max 用户才支持 Claude Opus 并支持切换,Pro 用户只支持 Claude Sonnet 4。
使用 /cost 命令查看当前会话使用情况:
讯享网/cost ├─ Total cost: $1.23 ├─ Total duration (API): 11m 45.0s ├─ Total duration (wall): 1h 2m 0.3s ├─ Total code changes: 620 lines added, 109 lines removed ├─ Token usage by model: │ ├─ claude-3-5-haiku: 4.1k input, 1.0k output, 0 cache read, 0 cache write │ └─ claude-sonnet: 390 input, 15.3k output, 542.2k cache read
如上,显示我当前会话已经消耗了 1.23 美金。
官方查看消耗,但过于笼统,不够直观,推荐使用 ccusage 工具来查看。
安装 ccusage:
sudo npm install -g ccusage
WARN Fetching latest model pricing from LiteLLM… ℹ️ Loaded pricing for 1140 models
Claude Code Token Usage Report - Daily
| Date | Models | Input | Output | Cache Create | Cache Read | Total Tokens | Cost (USD) |
|---|---|---|---|---|---|---|---|
| 2025-07-01 | sonnet-4 | 3,584 | 13,656 | 1,607,923 | 6,722,452 | 8,347,615 | $8.26 |
| 2025-07-02 | sonnet-4 | 4 | 5 | 16,424 | 0 | 16,433 | $0.06 |
| Total | 3,588 | 13,661 | 1,624,347 | 6,722,452 | 8,364,048 | $8.32 |
└─ With your Claude Pro subscription, no need to monitor cost – your subscription includes Claude Code usage
超过了使用量就会变得不可用:
讯享网Claude usage limit reached. Your limit will reset at 8pm (Asia/Shanghai).
• /upgrade to increase your usage limit.
需要等待,到了指定时间才能恢复。
Claude Code 提供了一个 /compact 压缩命令:
> /compact <optional custom summarization instructions>
/compact Clear conversation history but keep a summary in context.
讯享网 Optional: /compact [instructions for summarization]</code></pre></div><p data-pid="w6hXalYM">它会清除对话历史记录,但保留上下文中的摘要。</p><p data-pid="Fhu_Is9D">这样做的好处是:</p><ul><li data-pid="vLqWhwCg"><b>减少对话上下文大小:</b>当对话历史变得很长时,使用 <b>/compact</b> 可以压缩对话内容,减少令牌使用量。</li><li data-pid="ao6Z6m4s"><b>手动压缩控制:</b>虽然 Claude Code 默认在上下文超过 95% 容量时自动压缩(可通过 <b>/config</b> 开启/关闭自动压缩),但你可以使用 <b>/compact</b> 手动触发压缩。</li></ul><p data-pid="0Lz4RDnq">如下所示:</p><div class="highlight"><pre><code class="language-text">* Navigating… (232s • 8.3k tokens • esc to interrupt)</code></pre></div><p data-pid="U7KYg7AW">当剩余上下文空间不多时,右下角会显示自动压缩的剩余百分比,当达到 0% 时就会进行压缩。</p><p data-pid="sqTmoIfW">所以,为了有效管理成本和性能:</p><ul><li data-pid="l28IdKyA">建议在上下文变大时定期使用 <b>/compact</b> 手动进行压缩;</li><li data-pid="sgEnFzgk">定时使用 <b>clear</b> 命令重置上下文;</li><li data-pid="1_iF8cZf">分解复杂任务或者把需求尽量具体化;</li></ul><p data-pid="Mbg7zmfm">当然,土豪,请略过。</p><p data-pid="k1vN5YNc"><b>使用介绍</b></p><p data-pid="K5OOnrm2">Claude Code 支持自定义命令,你可以创建一些命令来快速执行特定的提示或任务,比如:</p><ul><li data-pid="gKJ_xT_F">分析这个项目的性能,并提出三个具体的优化建议。</li><li data-pid="G1qSkF5c">用合理描述性信息提交所有变更文件,然后推送到远程仓库。</li><li data-pid="Jr02Odbm">...</li></ul><p data-pid="i7C9QJSJ">这样一些常用的操作就不需要写一堆文字了,用自定义命令即可。</p><p data-pid="2HL4yqp6">自定义命令语法:</p><div class="highlight"><pre><code class="language-text">/<prefix>:<command-name> [arguments]</code></pre></div><p data-pid="4Q-VzyD6">自定义命令解读:</p><ul><li data-pid="qa0p5NlO">命令分为用户级和项目级;</li><li data-pid="1WZp__Ru">用户级命令所有项目都能用,项目级命令只有当前项目可以用;</li><li data-pid="EdOYFseR">用户级命令放在个人 <b>~/.claude/commands</b> 目录下,而项目级命令放在当前项目 <b>.claude/commands</b> 目录下;</li><li data-pid="0wAiqFIL">使用命令时,用户级命令以 <b>/user:</b> 为前缀,项目级命令<b> /project:</b> 为前缀,后面跟的是命令文件名称,可级联;</li><li data-pid="AsWNqEl0">命令文件支持使用 $ARGUMENTS 参数占位符,在命令后面带上参数,如:<b>/project:test 123</b> 它会用 123 替换命令文件中的 <b>$ARGUMENTS</b> 标记。</li></ul><p data-pid="jO856VLm">比如如果有 <b>.claude/commands/frontend/component.md</b> 自定义命令,使用方法 就是:<b>/project:frontend:component</b>。</p><p data-pid="ipwEwsUC"><b>实战应用</b></p><p data-pid="9__wrdXP">在当前项目创建自定义命令目录:</p><blockquote data-pid="XV6kq28B">mkdir -p .claude/commands</blockquote><p data-pid="6XW1oaZD">创建一个项目级优化命令:</p><blockquote data-pid="Niao0ZjG">echo "分析这个项目的性能,并提出三个具体的优化建议。" > .claude/commands/optimize.md</blockquote><p data-pid="CENWgeTW">在 Claude Code 中使用自定义命令:</p><blockquote data-pid="MMGGCHa5">/project:optimize</blockquote><div class="highlight"><pre><code class="language-text">/project:optimize ● Update Todos └─ □ 分析项目整体架构和模块结构
□ 识别性能瓶颈和问题代码 □ 分析数据库操作和查询效率 □ 提出三个具体的优化建议 ● Update Todos └─ ■ 分析项目整体架构和模块结构
讯享网 □ 识别性能瓶颈和问题代码 □ 分析数据库操作和查询效率 □ 提出三个具体的优化建议 ● Update Todos └─ ✅ 分析项目整体架构和模块结构
✅ 识别性能瓶颈和问题代码 ✅ 分析数据库操作和查询效率 ✅ 提出三个具体的优化建议</code></pre></div><p data-pid="9c-fbIh0">没想到它还自己把任务细化了,从分析项目整体架构、性能瓶颈、数据库操作,然后再提出优化建议。</p><p data-pid="uxPyz0j5">在个人目录下创建自定义命令目录:</p><blockquote data-pid="cgPpDZd8">mkdir -p ~/.claude/commands</blockquote><p data-pid="_hlVGq9f">创建一个项目级优化命令:</p><blockquote data-pid="TDPQVbNa">echo "用合理描述性信息提交所有变更文件,然后推送到远程仓库。" ><br/>~/.claude/commands/push.md</blockquote><p data-pid="o2Jb31yD">在 Claude Code 中使用自定义命令:</p><blockquote data-pid="kZ695jlb">/user:push</blockquote><div class="highlight"><pre><code class="language-text">/user:push ● Bash(git status) └─ On branch master
讯享网 Your branch is up to date with 'origin/master'. … +5 lines (ctrl+r to expand) ● Bash(git diff) └─ (No content)
● Bash(git log –oneline -3) └─ bc92e69 添加项目文档 CLAUDE.md
b397b9c 1 85d2fd1 更新 ● Bash(git add .claude/) └─ (No content)
● Bash(git commit -m “添加Claude命令配置目录…”) └─ [master d3c6a53] 添加Claude命令配置目录
讯享网 1 file changed, 1 insertion(+) create mode .claude/commands/optimize.md ● Bash(git push) └─ To github.com:javastacks/javastack-app.git
bc92e69..d3c6a53 master -> master ● ✅ 已成功提交并推送所有更改!
提交 ID:d3c6a53
状态:已成功推送到远程仓库
在上面我们介绍了如何使用 Claude Code 与 Git / Linux 进行交互。不过需要注意的是,这种交互方式会消耗一定的 Token。如果你只是执行一些简单命令,其实没必要每次都通过 Claude 对话形式发起,可以直接切换到 Bash 模式,效率更高,也更省成本。
使用方式:在命令前使用 ! 即可:
讯享网# 查看当前 Git 状态 ! git status
输出:
On branch master
Your branch is up to date with ‘origin/master’.
拉取最新代码
> git pull
再次查看 Git 状态
! git status
输出:
On branch master
Your branch is up to date with ‘origin/master’.
再次执行拉取
! git pull
输出:
Already up to date.
查看当前目录文件
! ls
输出文件列表(部分):
需求介绍.md
background-atomic.js
background-new.js
… +43 行(ctrl+r 展开)
准备推送代码到远程仓库
! git push
在 Bash 模式下是直接执行命令的,不用大模型思考,所以又快,又不费钱。
在 Claude Code 中,可以通过按下 shift + tab 键来切换到「自动接受编辑」功能(auto-accept edits on):
开启此功能后,Claude Code 会自动创建、编辑文件,而不是每次都需要我们手动确认。
» auto-accept edits on (shift+tab to cycle)
和之前分享的 –dangerously-skip-permissions 模式相比,自动接受编辑功功能安全性要更高,首先它不是全局的,自动审批权限范围也仅限文件编辑。
在 Claude Code 中,可以通过按下 shift + tab 键来切换到「计划模式」功能(plan mode on):
讯享网你想要开发一个 Chrome 扩展,实现点击书签时在新标签页中打开网址,而不是在当前标签页中打开。 技术方案
- Chrome扩展基础结构
manifest.json – 扩展配置文件
background.js – 后台脚本处理书签点击事件
content.js – 内容脚本(如果需要)
- 使用的 API
bookmarks – 访问书签 API
tabs – 创建新标签页
activeTab – 获取当前活动标签页信息
- 实现方式
使用 Chrome 的 chrome.bookmarks API 监听书签点击
使用 chrome.tabs.create() API 在新标签页中打开 URL
可选:添加右键菜单自定义工具栏按钮
- 核心功能实现
监听书签点击事件
阻止默认行为(在当前标签页打开)
在新标签页中打开 URL
处理特殊情况(如文件夹点击)
- Calculating… (19s ・ 609 tokens ・ esc to interrupt)
⏸ plan mode on (shift+tab to cycle)
在项目前期需要规划功能的时候可以用到这个模式,它会自动给到计划方案,然后底部你是否执行:
5. 打包和发布
- 生成 crx 文件
- 可选:发布到 Chrome Web Store
核心技术要点
- 使用 Chrome Extension Manifest V3
- 监听 DOM 事件和 Chrome API 事件
- 消息传递机制(content script ↔ background script)
- 权限管理和安全考虑 ──────────────────────────────────── Would you like to proceed?
❯ 1. Yes, and auto-accept edits
- Yes, and manually approve edits
- No, keep planning
- Thinking…
用户已经批准了计划,现在我可以开始编码了。我需要使用 TodoWrite 工具来创建一个待办事项列表来跟踪开发任务。
基于我制定的计划,我需要创建以下任务:
- 创建项目目录结构
- 创建 manifest.json 配置文件
- 实现 background.js 后台脚本
- 实现 content.js 内容脚本
- 创建基本的图标文件
- 测试扩展功能
让我先创建这个待办事项列表。
JSON 方式
claude mcp add-json <name> ‘<json>’
比如我来添加一个浏览器自动化操作的 MCP 服务器:
https:// github.com/modelcontext protocol/servers-archived/tree/main/src/puppeteer
一般添加方法如下:
claude mcp add puppeteer npx – -y @modelcontextprotocol/server-puppeteer
通过 JSON 方式添加:
讯享网claude mcp add-json -s user puppeteer ‘{ “command”: “npx”, “args”: [“-y”, “@modelcontextprotocol/server-puppeteer”] }’
使用 -s user 标志,可以将 MCP 服务器添加到全局配置(可以在 ~/.claude.json 文件中查看),而不是只针对某个项目,默认不填为 local 即当前项目。
管理 MCP 服务器
使用以下命令管理 MCP 服务器:
# 列出所有已配置的 MCP 服务器 claude mcp list
获取指定的 MCP 服务器信息
claude mcp get xx
删除指定的 MCP 服务器
claude mcp remove xx
列出所有已配置的 MCP 服务器:
讯享网> claude mcp list
You are using the canonical relay If the relay doesn’t work, you can run `claude --pick-relay` … +14 lines (ctrl+r to expand) ● Your configured MCP servers:
- puppeteer: npx @modelcontextprotocol/server-puppeteer
获取指定的 MCP 服务器信息:
讯享网
> claude mcp get puppeteer:
You are using the canonical relay If the relay doesn’t work, you can run `claude --pick-relay` … +17 lines (ctrl+r to expand) ● puppeteer server details:
- Scope: Local (private to you in this project)
- Command: npx -y @modelcontextprotocol/server-puppeteer
- Remove with: claude mcp remove “puppeteer” –scope local
使用 /mcp 命令来查看 MCP 服务器相关信息:
讯享网
Manage MCP servers
❯ 1. puppeteer ✔ connected ・Enter to view details
Esc to exit
使用 MCP 服务器
打开搜索用户页面,按ID搜索6并返回搜索出来的用户信息
● 让我截图确认搜索结果:
● 搜索成功!按 ID 搜索“6”的结果如下:
找到的用户信息:
- 用户 ID:6
- 用户名:Joe
- 手机号:
- 状态:激活
- 创建时间:2025-07-01T12:09:33
搜索成功地找到了 ID 为 6 的用户,该用户名为 “Joe”,处于激活状态,手机号为 ,创建时间为今天上午 12:09:33。
打开搜索用户页面,按用户名搜索“sam”并返回搜索出来的用户信息
讯享网● 让我截图确认搜索结果:
● 搜索成功!按用户名搜索“sam”的结果如下:
找到的用户信息:
- 用户 ID:7
- 用户名:sam
- 手机号:
- 状态:激活
- 创建时间:2025-07-01T15:11:23
搜索成功地找到了用户名为“sam”的用户,该用户 ID 为 7,处于激活状态,手机号为 ,创建时间为今天下午 15:11:23。
使用这个 MCP 工具,它会自动安装 Puppeteer 用的测试 Chrome 浏览器,然后自动填充参数,自动查询,自动截图,然后返回搜索结果。
推荐 MCP 服务器
除了上面使用的 Puppeteer 浏览器自动化 MCP,这里再推荐一个强大的免费 MCP 工具——context7:
https:// context7.com/
https:// github.com/upstash/cont ext7
它可以为大模型和 AI 代码编辑器提供最新(或者特定版本)的文档、库、代码、信息等,避免使用过时的数据,到目前为止,官网已经收录了 27921个库,并支持手动添加自己的库。
在 Claude Code 中进行导入:
claude mcp add-json -s user context7 ‘{ “command”: “npx”, “args”: [“-y”, “@upstash/context7-mcp”] }’
测试一下:
userMapper.selectOne 是怎么实现的?它返回了什么数据结构?请使用 context7
> userMapper.selectOne 是怎么实现的?它返回了什么数据结构?请使用 context7
我来使用 Context7 获取 MyBatis-Plus 的最新文档来回答你的问题。
- Querying… (32s ・ ↓254 tokens ・ esc to interrupt) 基于 Context7 的最新 MyBatis-Plus 文档,我来回答你的问题:
userMapper.selectOne 实现原理
实现方式:
讯享网selectOne 是 MyBatis-Plus 的 BaseMapper<T> 接口提供的内置方法 UserMapper 继承 BaseMapper<UserDO> 后自动获得此方法 方法签名:T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper) 内部机制:
接受 Wrapper<T> 参数来构建动态 SQL 条件 底层生成类似 SELECT * FROM user WHERE age > 25 的 SQL 使用 MyBatis 的映射机制将结果集映射到实体对象 返回数据结构
返回类型:T 或 null
讯享网找到记录:返回完整的实体对象(如 UserDO) 未找到记录:返回 null 找到多条记录:只返回第一条</code></pre></div><p data-pid="3ech7uxz">如上,它会告诉你使用 <b>Context7</b> 相关工具来获取 MyBatis-Plus 的最新文档来回答问题。</p><p data-pid="uxdnTZE6">连续按两次 <b>ESC</b> 键可以跳到之前的消息:</p><div class="highlight"><pre><code class="language-text">Jump to a previous message This will fork the conversation
↑/↓ to select ・ Enter to confirm ・ Tab/Esc to cancel
上下方向键选择一条消息,然后就会回到对应的提示词命令行窗口,也可以在此基础h重新编辑提示词。
直接发送「回滚」即可:
> 回滚
● Update(manifest.json) ⎿ Updated manifest.json with 3 additions and 3 removals
25 } 26 ], 27 “icons”: {
- 28 “16”: “icons/icon.svg”,
- 29 “48”: “icons/icon.svg”,
- 30 “128”: “icons/icon.svg”
- 28 “16”: “icons/icon16.png”,
- 29 “48”: “icons/icon48.png”,
- 30 “128”: “icons/icon128.png” 31 }, 32 “action”: { 33 “default_popup”: “popup.html”,
● 已回滚到原始 PNG 图标配置。
这个类似 Cursor 的 checkpoint 检查点功能,如果不想回滚了,再发送一次「撤销」即可:
讯享网> 撤销
● Update(manifest.json) ⎿ Updated manifest.json with 3 additions and 3 removals
25 } 26 ], 27 “icons”: {
- 28 “16”: “icons/icon16.png”,
- 29 “48”: “icons/icon48.png”,
- 30 “128”: “icons/icon128.png”
- 28 “16”: “icons/icon.svg”,
- 29 “48”: “icons/icon.svg”,
- 30 “128”: “icons/icon.svg” 31 }, 32 “action”: { 33 “default_popup”: “popup.html”,
● 已撤销,恢复到 SVG 图标配置。
另外,建议再配合 Git 版本控制管理,以防代码丢失。
Claude Code 安装后可以手动升级最新版:
sudo npm install -g @anthropic-ai/claude-code
其实和安装命令是一样的,及时升级以使用最新玩法。
检查是否升级成功:
claude –version
成功安装会显示最新版本号。
好了,这次的分享就到了~
以上就是我在实际使用 Claude Code 编程时的一些高效技巧和避坑心得,真的都是无保留实践总结。
文章来源:https://uupua.com/claude-code-23/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/210814.html