🛠️ 在 VS Code 中打造丝滑的 Claude Code 体验

🛠️ 在 VS Code 中打造丝滑的 Claude Code 体验

从一次"白忙活"说起

今天我花了一整天开发一个语音控制 Copilot 的插件,结果发现 VS Code 早就自带了这功能。

但这次踩坑让我意外发现了一个更重要的事情:Claude Code 在 VS Code 里的体验,其实可以比 CLI 更丝滑


为什么在 VS Code 里用 Claude Code?

Claude Code 官方推荐的方式是在终端里运行 CLI:

claude

这样能用,但有几个痛点:

  • 没有语法高亮的代码预览
  • 文件编辑需要切换窗口确认
  • 上下文管理全靠手动 /add

而在 VS Code 里,通过 GitHub Copilot 扩展调用 Claude(是的,Copilot 现在支持选择 Claude 模型),你可以获得:

功能CLIVS Code
代码高亮
文件内编辑预览
自动上下文感知部分
快捷键触发
与 Copilot 无缝切换

更重要的是,通过合理配置,你可以让 Claude 记住你的项目偏好、编码风格,甚至过去的对话内容。


配置一:CLAUDE.md 项目上下文

这是最基础也最重要的配置。在项目根目录创建 CLAUDE.md

# CLAUDE.md

## Project Overview
这是 Polly 的个人网站,使用 Zola 静态站点生成器...

## Commands
zola serve    # 本地开发
zola build    # 构建发布

## Architecture
/content/blog/  - 博客文章
/templates/     - Tera 模板
/static/        - 静态资源

## Coding Style
- 使用中文注释
- 函数命名用 snake_case
- 博客文件命名:YYYYMMDD-slug/index.md

Claude Code 会自动读取这个文件作为项目上下文。每次对话,它都知道:

  • 这是什么项目
  • 怎么运行和构建
  • 代码规范是什么

效果:问"帮我写个博客文章"时,Claude 会自动使用正确的 frontmatter 格式和文件位置。


配置二:Skills 系统

CLAUDE.md 解决了"项目是什么",但没解决"任务怎么做"。

这就是 Skills 的作用——让 Claude 学会特定领域的专业知识

.claude/skills/ 目录下,每个文件夹是一个 Skill:

.claude/skills/
├── blog-writer/          # 博客写作专家
│   └── SKILL.md
├── paper-writer/         # 论文写作专家
│   └── SKILL.md
├── memory-keeper/        # 记忆管理
│   └── SKILL.md
└── mcp-builder/          # MCP 服务器开发
    └── SKILL.md

blog-writer 为例,SKILL.md 里定义了:

  • 触发词:"写博文"、"记录项目"
  • 写作流程:理解需求 → 生成大纲 → 撰写正文 → 输出文件
  • Frontmatter 规范
  • 写作风格指南

当你说"帮我写篇博客",Claude 会自动加载这个 Skill,按照预设流程执行。

这就像给 Claude 安装了"职业培训模块"。


配置三:Memory 记忆系统

Skills 让 Claude 知道"怎么做",但它还是不"认识"你。

每次对话,Claude 都是从零开始。它不知道:

  • 你上周在做什么项目
  • 你之前做过什么决策
  • 你有什么长期目标

我的解决方案是建立一个 双轨记忆系统

memory/
├── daily/              # 编年体:按日期记录
│   └── 2026/01/30.md   # 今天的对话记录
├── topics/             # 纪传体:按主题追踪
│   └── voicepilot/     # VoicePilot 项目的完整历史
└── index.md            # 记忆索引

每次对话结束时,我会说"记录一下",Claude 会:

  1. 提取今天的重要内容,追加到 daily/2026/01/30.md
  2. 识别关联主题,更新对应的 topic 文件
  3. 刷新索引

下次对话时,Claude 可以通过这些文件"回忆"过去的上下文。

这让 Claude 从"失忆症患者"变成了能持续陪伴的"老朋友"。


配置四:与 Copilot 共享指令

一个实用的小技巧:让 Claude Code 和 GitHub Copilot 共用同一份指令文件。

GitHub Copilot 使用 .github/copilot-instructions.md 作为自定义指令。我们可以创建一个符号链接:

cd .github
ln -sf ../CLAUDE.md copilot-instructions.md

现在:

  • Claude Code 读取 CLAUDE.md
  • Copilot 读取 .github/copilot-instructions.md(实际指向 CLAUDE.md)

一份文档,两个 AI 助手都能用。


完整工作流演示

假设我要写一篇博文记录今天的 VoicePilot 开发经历:

  1. 触发 Skill:在 Chat 里说"写篇博文记录 VoicePilot"
  2. Claude 加载 blog-writer Skill,按流程询问细节
  3. 生成大纲,我确认后开始写作
  4. 输出完整文件,包含正确的 frontmatter 和文件路径
  5. 说"记录一下",Claude 把今天的经历存入 Memory
  6. 下次对话,Claude 知道我在做什么项目

整个过程,Claude 就像一个了解我的私人助理,而不是每次都需要从头介绍的陌生人。


Claude Code vs Copilot:我的选择

两者我都在用,但场景不同:

场景选择原因
快速代码补全CopilotTab 补全更快
复杂任务/多步骤Claude推理能力更强
写文档/博客Claude自然语言更优
代码解释都行各有千秋
项目级重构Claude上下文理解更好

最佳实践:用 Copilot 做 inline 补全,用 Claude 做 Chat 对话。


总结:让 AI 成为"老朋友"

传统的 AI 编程助手是"工具"——你问,它答,然后遗忘一切。

通过 CLAUDE.md、Skills、Memory 这套配置,Claude 变成了"老朋友":

  • 知道你的项目(CLAUDE.md)
  • 掌握专业技能(Skills)
  • 记住过去的对话(Memory)
  • 风格保持一致(共享指令)

这不需要复杂的配置,只需要几个 Markdown 文件。

如果你也在用 Claude Code,不妨试试这套方案。相信我,体验会完全不同。


相关资源


下次 AI 忘记你是谁的时候,记得给它建个 Memory 系统。 😄

留言与讨论