Claude 进阶使用本章节内容并不影响到你对于claude的使用只是介绍讲解一些枯燥的知识点和配置和一些使用小技巧其中有一些知识点如skill细节会在后面的章节介绍。介绍中如果有一些内容不明白的可以 AI 询问一下最后再看官网毕竟官方文档都不是很好懂啊但是这个claude的写的还不错。setting.json 配置温馨提示~/表示用户目录下进入后需要展示隐藏文件才可以在资源管理器或是访达中看到。mac 用户快捷键为command shift 。Claude Code 有多层配置体系从全局到项目级层层覆盖。配置类型文件路径 / 来源作用范围主要用途优先级全局配置Global Settings~/.claude/settings.json所有 Claude 项目配置通用行为如模型、权限、工具、默认设置等⭐ 最低项目级配置Project Settings项目根目录/.claude/settings.json当前项目覆盖全局配置为当前项目设置专属行为⭐⭐ 中本地项目配置Local Project Settings项目根目录/.claude/settings.local.json当前项目仅当前用户保存个人本地配置不提交到 Git例如个人权限、实验性设置⭐⭐⭐ 较高命令行参数CLI Options启动 Claude Code 时指定当前会话临时覆盖部分配置例如模型、权限模式等⭐⭐⭐⭐ 高托管策略Managed Settings / Managed Policy企业管理后台或系统级托管配置整个组织或设备企业统一管理安全策略、权限、MCP、Hooks、网络访问等用户无法修改⭐⭐⭐⭐⭐ 最高常用的配置下面只是一些常用到的配置作者已经配置在了全局的 setting.json 如Bash(npm *)、Bash(git *)、Bash(node *)、Bash(rm -rf *)这些配置如果需要更多的配置满足使用要求请看官网配置说明{ permissions: { // 允许 Claude Code 执行的操作不再需要每次确认 allow: [ Edit(/docs/**), // 允许编辑项目 docs 目录下的文件 Read(~/.zshrc), // 允许读取主目录的 .zshrc Edit(//tmp/scratch.txt), // 允许编辑绝对路径的临时文件 Read(src/**), // 允许读取当前目录 src 子目录的文件 Read, // 读取文件 没有位置限制 Write, // 写入文件 没有位置限制 Edit, // 编辑文件 没有位置限制 Bash(npm *), // 执行 npm 命令 Bash(git *), // 执行 git 命令 Bash(node *) // 执行 node 命令 ], deny: [ // 禁止执行危险的删除命令 Bash(rm -rf *) ] }, // 默认使用的模型 model: sonnet, // 自动紧凑阈值上下文使用超过此比例时自动压缩 autoCompactThreshold: 80 }当然在进入 claude cli 中也可以直接使用/config进入配置界面当然这里可以配置的不是很多也可以通过向/config传递keyvalue来更改单个选项而无需打开界面例如/config verbosetrue这种方法也仅限于进入配置页面展示的这些参数如果没有的设置后不会出现在 setting.json 中# 会话关闭时保留的天数 /config language中文claudel.md 文件详细文档请阅读官方文件CLAUDE.md 拥层级由顶向下叠加生效规则冲突时优先级高的生效层级文件路径作用范围主要用途优先级全局级~/.claude/CLAUDE.md所有项目个人偏好、默认语言、编码习惯⭐ 最低项目级./CLAUDE.md或./.claude/CLAUDE.md当前项目项目架构、技术栈、团队规范⭐⭐ 中本地项目级CLAUDE.local.md当前项目仅自己个人测试配置、实验规则⭐⭐⭐ 中高子目录级子目录/CLAUDE.md当前目录及子目录模块级规则、局部约定⭐⭐⭐⭐ 高托管策略OrganizationmacOS/Library/Application Support/ClaudeCode/CLAUDE.mdLinux / WSL/etc/claude-code/CLAUDE.mdWindowsC:\Program Files\ClaudeCode\CLAUDE.md整个组织公司编码规范、安全要求、合规策略⭐⭐⭐⭐⭐ 最高两个官方推荐的创建姿势/init创建项目级在项目根目录下运行claude后输入/initcc 会自动扫描项目并生成一份 CLAUDE.md 初稿你再调整。官方建议项目有一定规模再/init效果更好太空它扫不出什么东西。/memory编辑全局级在 cc 会话里输入/memory选择“全局 CLAUDE.md”会用默认编辑器打开该文件供你修改。修改全局后需重启 cc 才生效。实践建议保持更新项目级 CLAUDE.md 应该是动态的——项目加了功能、踩了坑就同步更新足够具体技术栈写明具体版本号目录结构要与实际一致写明禁忌把不要做什么也写清楚如不要修改数据库迁移文件适度简洁不要写成论文AI需要的是关键信息而非赘述只放顶层不变原则随着实践你会发现CLAUDE.md 不该塞太多。卡帕西发布的「claude.skills」几百行通用规则就能拿 10 万 Star——写点 “顶层、不变、须严守 的东西就够了。编程规约 skill.claudeignore类似于.gitignore用来告诉 Claude Code 哪些文件/目录不需要关注# .claudeignore 示例 node_modules/ # 依赖包目录太大了AI不需要看 .next/ # Next.js 构建产物 dist/ # 编译输出 *.log # 日志文件 .env # 环境变量包含敏感信息文件位于项目根目录下claude cli 常用命令在终端里输入的常用指令# 最基本的启动方式在当前目录启动 $ claude ​ # 指定项目目录启动 $ claude --project-dir /path/to/your/project ​ # 使用指定模型启动 $ claude --model sonnet ​ # 单次执行模式执行完就退出适合脚本调用 $ claude -p 请列出当前目录下所有的 JavaScript 文件claude 斜杠命令系统斜杠命令进入中断后使用的指令命令作用使用场景/help显示帮助信息忘记命令时查看/model查看/切换当前模型高/中/低档需要换用更强/更快的模型时/compact压缩当前对话的上下文对话太长AI开始“遗忘”早期内容时/clear完全清空当前对话开始全新的任务时/context详细查看上下文占比各 MCP/Skill 各占多少优化 token、诊断哪里挨上下文/memory查看/编辑 CLAUDE.md 与自动记忆管理项目/全局记忆、开启 Auto Memory/status查看会话状态确认模型、Token 消耗/cost查看当前会话费用监控花了多少钱/review对当前项目进行代码审查完成功能后检查质量/init自动生成项目的 CLAUDE.md进入新项目后的第一件事/plan切入 Plan Mode只读规划模式复杂任务起手详见 4.9 节/rewind回滚 cc 之前的修改“后悔药”下面重点讲/resume选择历史会话恢复上次话题还没聊完/btw“顺便问一句”不污染主上下文主任务进行中想问个无关问题/exit退出 claude code 交互式终端工作完成或开新的会话终端清除上下文扩展管理命令命令作用使用场景/skill 名称直接调用某个 Skill手动触发不要等 AI 自己决定/agent创建、查看、调用子代理SubAgent手工创建专项 SubAgent/plugin插件管理界面discover / installed发现、安装、卸载插件/login使用 Claude 官方订阅会员登录有 Claude Pro/Max 会员时首选/simplify派 3 个子 Agent 从代码质量/性能/复用性三个角度优化快速全面优化已有代码git最常用的三个命令详解/compact—— 上下文压缩必须掌握这是解决”用久了 AI 变笨”的核心武器。用 cc 一段时间会发现回答变慢、质量下降——这是因为你聊的每句话、它读的每个文件、它执行的每个操作的结果都在挤占上下文空间。模型上下文虽然有 200K但实际有效比例只有 60%-80%且会随上下文增多能力下降。脑子里塞多了东西它就容易把握不住重点。/compact命令会帮你”整理桌面” —— 把前面的对话压缩成摘要腾出空间。 /compact ​ AI: 上下文已压缩。当前对话摘要 - 我们正在开发一个书签管理器项目 - 已完成数据库设计、API端点 - 当前正在前端页面开发配套命令/context—— 监控上下文余量在/compact之前先用/context看看当前状况它会详细展示上下文占比包括各个 MCP、Skill 各占用了多少 token让你知道是什么在”吃掉”上下文。 /context ​ 上下文使用情况 已使用: 142,000 / 200,000 tokens (71%) ├── 对话历史: 89,000 tokens ├── CLAUDE.md: 2,100 tokens ├── Skills: 12,500 tokens └── MCP 工具: 4,800 tokens提示我的习惯看到上下文高于 60% 了就/compact一下。别等到接近满载、cc 自动压缩才动手——那时候它已经开始”遗忘”了。也可以让 cc 帮你打开常驻显示重启终端后底部就会一直显示上下文余量。/compactvs/clear—— 什么时候用哪个命令效果适用时机/compact压缩历史为摘要保留关键决策同一任务对话过长、但还要继续做/clear彻底清空等于重开一个独立任务彻底结束要开始全新任务心法宁可”多/clear几次重新介绍背景”也不要”一直聊一直聊”。每个/clear都是给 AI 一次重新聚焦的机会。/rewind—— “后悔药”双击 ESC 快捷启动当你让 cc 改了一些代码、过后发现不满意或者项目被改坏了cc 自带一个回滚机制在对话里输入/rewind或者直接双击ESC就会进入回滚界面[Rewind] 选择回滚方式 1. 仅回滚对话 → 文件保留只清除后面几轮对话 2. 回滚对话 与 文件编辑 → 推荐全部返回某个节点 3. 仅回滚文件 → 保留对话只还原文件注意底线提醒/rewind只能撤销cc 自己编辑过的文件。它跑过的终端命令安装依赖、下载文件、修改数据库撤不了。真正靠谱的“后悔药”还是 Git参见 4.5 节“Git 集成最佳实践”。/memory—— 记忆管理Claude Code 有一个跨会话的“长期记忆”系统。它会自动记住你的偏好和项目信息下次启动时依然记得。/memory进去后可以编辑全局 / 项目 CLAUDE.md、开启自动记忆。具体记忆体系见4.2 节 记忆系统。/review—— 代码审查git完成功能开发后让 AI 审查你的代码质量 /review ​ AI: 正在审查项目代码... ​ 审查结果 代码结构清晰 注意 api/bookmarks.ts 第15行缺少输入验证 注意 components/BookmarkList.tsx建议添加 loading 状态 发现潜在安全问题SQL 查询未使用参数化查询自定义斜杠命令你可以创建自己的斜杠命令将常用操作封装成快捷方式。在项目根目录创建.claude/commands/目录然后添加 Markdown 文件如新建一个 deploy.md# 部署检查清单 请执行以下部署前检查 运行所有测试npm test 检查是否有 lint 错误npm run lint 确认 .env.example 已更新如果添加了新的环境变量 构建项目npm run build 报告所有检查结果整你提示已经出来了没错和你想的一样这里定义的是项目级别的可以在~/.claude/commands/目录下定义系统级的命令Claude 权限模式在 claude 中有一些权限模式vs code 中会展示以下的样式但是在官网中并没有这些的说明但是也不难看出这些模式的权限范围;Ask before edits(编辑前询问)Claude 在每次编辑前会请求确认Edit automaticallu(自动编辑)Claude 将编辑您选中的文本或整个文件Plan mode(计划模式)Claude 会先分析代码并提出修改方案再进行编辑Auto mode(自动模式)Claude 将为每项任务自动选择最佳权限模式但是中包含了下面的一些可能在什么其他地方没有找到有兴趣的朋友可以看一看官网权限模式说明模式无需询问即可运行的操作最适合default仅读取入门、敏感工作acceptEdits读取、文件编辑和常见文件系统命令mkdir、touch、mv、cp等迭代您正在审查的代码plan仅读取在更改代码库前进行探索auto所有操作带后台安全检查长时间任务、减少提示疲劳dontAsk仅预先批准的工具锁定的 CI 和脚本bypassPermissions所有操作仅隔离容器和 VMclaude 使用技巧超长提示词场景当我们的要求过于复杂提示词也特别长的时候可以将需求整理成一份PRD产品需求文档在交互式 Claude Code 会话中文件名的形式告诉 claude。超长 Claude.md 场景某些东西不适合全部塞进 CLAUDE.md太长、太专门但 claude code 需要的时候必须能查到。可以在 claude.md 以条件获取的方式加入涉及到品牌视觉如颜色、字体、间距等请参严格照规范文档→docs/brand-visual.md涉及到产品文本风格样式语调、术语表等严格遵循样式约定文档→docs/copywriting-style.md交互式终端中运行命令有的时候需要临时试用一下终端命令 但当前 claude code 还是运行需要开新的终端很麻烦推荐在 cc 会话里以 ! 开头进入 Bash 模式跑命令!pwd !node --versiongit 版本管理工具Git 并不是 Claude Code 的必需品没有安装 GitClaude Code 依然可以创建文件、修改代码、运行命令等日常操作。但安装 Git 后Claude Code 能够更高效地分析代码变更、更方便地帮助管理版本也能在出现问题时快速恢复项目。简单来说就是游戏里的存档点只要你保存了可以在任何时候恢复到之前的状态。Git 可以理解成一个专门帮你管理代码历史记录的工具。很多人刚开始写项目时会不断复制文件夹比如“项目”“项目新版”“项目最终版”“项目最终版2”时间久了自己都分不清哪个才是最新、哪个还能正常运行。Git 就是用来解决这个问题的。它会记录项目的每一次修改就像给代码建立了一本完整的历史日志不需要反复复制项目也不用担心改错后找不到之前的版本。本说明中 git 的介绍并不是很详细对于一些小白不是很友好在下很贴心的找了一篇较为详细的教程供各位阅读参考知乎大神的笔记git 安装git 官网说明brew install git下面是 Git 的常用命令不用掌握只需要配置好后使用 claude code 就可以控制当然如之前所说不适用也不影响 claude code 的使用。命令作用示例git --version查看 Git 是否安装成功git --versiongit config --global user.name 姓名设置用户名git config --global user.name Tomgit config --global user.email 邮箱设置邮箱git config --global user.email tomexample.comgit config --list查看 Git 配置git config --listgit init初始化 Git 仓库git initgit clone 仓库地址克隆远程仓库git clone https://github.com/user/demo.gitgit status查看当前仓库状态git statusgit add 文件名添加指定文件到暂存区git add app.pygit add .添加所有修改到暂存区git add .git commit -m 说明提交一个版本git commit -m 完成登录功能git log查看提交历史git loggit log --oneline简洁查看提交历史git log --onelinegit diff查看未提交的代码变化git diffgit diff --staged查看已暂存的变化git diff --stagedgit restore 文件名恢复未提交的文件git restore app.pygit restore .恢复所有未提交修改git restore .git rm 文件名删除文件并提交删除记录git rm test.pygit mv 原文件 新文件重命名文件git mv old.py new.pygit branch查看分支git branchgit branch 分支名创建新分支git branch devgit checkout 分支名切换分支旧写法git checkout devgit switch 分支名切换分支推荐git switch devgit switch -c 分支名创建并切换到新分支git switch -c feature/logingit merge 分支名合并分支git merge devgit branch -d 分支名删除分支git branch -d devgit remote -v查看远程仓库git remote -vgit remote add origin 地址添加远程仓库git remote add origin https://github.com/user/demo.gitgit push推送代码到远程仓库git pushgit push -u origin main首次推送并建立关联git push -u origin maingit pull拉取并合并远程代码git pullgit fetch获取远程更新不自动合并git fetchgit reset --soft HEAD~1撤销最近一次提交保留代码git reset --soft HEAD~1git reset --hard HEAD~1回退到上一个版本慎用git reset --hard HEAD~1git reset --hard commit_id回退到指定版本git reset --hard a1b2c3dgit stash临时保存当前修改git stashgit stash pop恢复临时保存的修改git stash popgit stash list查看临时保存记录git stash listgit tag查看标签git taggit tag v1.0.0创建标签git tag v1.0.0注册 git hubgit hub 官网配置 gitgit config --global user.name 你注册的用户名 git config --global user.email 你注册的邮箱