Claude Code Rich Content
为官方 Claude Code VS Code 扩展增加 LaTeX 公式、代码语法高亮和 Mermaid 图表,保留原有聊天布局、字体和复制按钮。
效果对比
使用前:公式、代码块和 Mermaid 都显示为源码文本。

使用后:公式由 KaTeX 渲染,代码块带语法高亮和外框,Mermaid 渲染为图表。

功能
- 公式:KaTeX 渲染
$…$、$$…$$、\(…\)、\[…\],支持自定义宏。复制选中的公式时保留 LaTeX 源码。
- 代码:为带语言标签的普通代码块补充 token 颜色,未知语言保留原文,已有高亮不重复处理。所有围栏代码块(包括无语言标签的目录树)使用整块灰底,去除逐行背景;行内代码保持原样,长行在块内横向滚动。
- Mermaid:将
mermaid 围栏渲染为 SVG,仅在右上角显示复制图标,点击复制 Mermaid 源码。渲染失败时保留原始代码及官方复制按钮。流式内容防抖处理,未完成或无效语法保留源码,明暗主题变化后重新渲染。
普通段落、标题、列表、表格、输入框和会话保留策略沿用官方行为。
安装
- 在桌面版 VS Code 中安装并配置官方
anthropic.claude-code 扩展。
- 在扩展面板搜索 Claude Code Rich Content 并安装。
- 重新打开 Claude Code 对话。使用本扩展不需要 Node.js、LaTeX 或其他编译环境。
扩展启动时会修改官方扩展的 webview/index.js 和 index.css。如果已有 Claude Code KaTeX 或 Enhance 补丁,先运行原扩展自己的 Disable 命令恢复,再停用原扩展、启用本扩展。
命令与设置
命令面板提供:
- Claude Rich Content: Enable:安装或刷新补丁。
- Claude Rich Content: Disable and Restore:恢复原文件并记住停用状态。
- Claude Rich Content: Show Diagnostics:显示目标扩展路径及补丁状态。
- Claude Rich Content: Reload Macros:重新读取宏文件并刷新对话。
设置使用 claudeRichContent 前缀,math、codeHighlight、mermaid 均默认开启。
{
"claudeRichContent.math": true,
"claudeRichContent.codeHighlight": true,
"claudeRichContent.mermaid": true,
"claudeRichContent.macros": { "\\RR": "\\mathbb{R}" },
"claudeRichContent.macroFiles": ["~/Documents/math-macros.tex"]
}
宏文件使用绝对路径或 ~/,总大小上限 512 KiB;读取失败会写入诊断输出。设置作用于应用,修改后刷新补丁。
临时停用使用 Disable and Restore。VS Code 扩展面板的 Disable 操作不会执行文件恢复;卸载钩子会恢复校验通过的补丁。
从 VSIX 本地安装
不使用扩展商店、或需要试用未发布版本时,可以手动安装:扩展面板右上角 … → Install from VSIX… → 选择 claude-code-rich-content-<版本号>.vsix。自己打包时在仓库根目录运行 npm run package 生成该文件。
开发与打包
环境:Node.js 22 或更新的 LTS 版本、npm、桌面版 VS Code。浏览器回归测试使用 Brave;默认自动识别 macOS 标准安装路径,其他位置通过 BRAVE_PATH 指定。
npm ci
npm test
npm run test:browser
npm run package
npm run package 自动构建并生成 VSIX。只构建执行 npm run build。在 VS Code 打开仓库并按 F5 启动扩展开发窗口,构建任务已配置;调试时补丁仍写入该窗口使用的官方扩展目录。
发布推送 v 开头的标签(如 v0.1.5,须与 package.json 版本一致)触发 GitHub Actions:跑 node 测试、打包、发布到扩展商店并创建 GitHub Release。仓库需要配置 VSCE_PAT secret。
来源与许可
参考了 claude-code-katex 和 claude-code-enhance,许可见 LICENSE。