一、.excalidraw是什么格式的文件?
.excalidraw是Excalidraw的原生文件格式。
Excalidraw 是一个开源的在线虚拟白板工具,以手绘风格的绘图著称。它的.excalidraw文件本质上是一个JSON 文本文件,里面记录了画布上所有元素的完整信息。
1.1 文件内部结构
用任何文本编辑器(如 VS Code、记事本)打开.excalidraw文件,可以看到结构化的 JSON 数据,包含:
| 数据项 | 说明 |
|---|---|
type | 元素类型(rectangle、ellipse、arrow、text、freedraw 等) |
x,y | 元素在画布上的坐标位置 |
width,height | 元素的尺寸 |
strokeColor,backgroundColor | 描边和填充颜色 |
strokeWidth,strokeStyle | 线条粗细和样式 |
opacity | 透明度 |
boundElements | 元素之间的绑定关系(如箭头连接矩形) |
appState | 画布视口状态(缩放比例、滚动位置等) |
1.2 核心特点
- 纯文本格式:本质是 JSON,可读性强,可用任何文本编辑器打开
- 可版本控制:完美适配 Git,diff 时能清晰看到图形元素的增删改
- 无损编辑:保存了完整的绘图信息,随时可重新导入继续编辑
- 跨平台兼容:在浏览器、VS Code、桌面端均可打开
二、在 VS Code 中预览与编辑
2.1 安装插件
在 VS Code 扩展商店搜索并安装:
Excalidraw Editor—
pomdtr.excalidraw-editor
安装完成后,无需跳转到浏览器,直接在资源管理器中双击.excalidraw文件,VS Code 就会以可视化编辑器打开。
2.2 工作原理
该插件将 Excalidraw 封装在 VS Code 的WebView中运行:
- 你在画布上的每一次操作,都会通过
postMessage将变更后的 JSON 状态同步回写到本地文件 - 文件始终是最新的,保存时自动写入磁盘
- Git 可以正常追踪变更,甚至能在 diff 中看到具体哪些图形元素被修改了
2.3 常用操作
| 操作 | 方式 |
|---|---|
| 打开文件 | 双击.excalidraw文件 |
| 保存 | Ctrl + S(自动同步 JSON 到本地) |
| 切换主题 | 编辑器内点击主题按钮(Light / Dark) |
| 使用素材库 | 点击左侧素材库图标,可导入社区分享的图形库 |
三、生成分享文档的四种方式
3.1 导出为图片(最通用)
在 VS Code 的 Excalidraw 编辑器中,点击左上角☰ 菜单 → Export:
| 格式 | 适用场景 |
|---|---|
| PNG | 位图,适合插入文档、PPT、邮件,兼容性最好 |
| SVG | 矢量图,放大不失真,文件体积小,适合网页 |
| .excalidraw.svg | 特殊格式,SVG 图片中嵌入了完整的场景 JSON 数据,既能当图片看,又能重新导入编辑 |
3.2 嵌入 Markdown 文档
对于技术文档和 README,推荐以下工作流:
项目目录 ├── docs/ │ ├── diagrams/ │ │ ├── architecture.excalidraw ← 源文件(Git 追踪) │ │ └── architecture.png ← 导出图片(供文档引用) │ └── README.md在 Markdown 中引用:
## 系统架构 进阶技巧:配合 Git Hooks 或 CI/CD,在提交前自动将.excalidraw导出为 PNG,确保文档中的图片始终与源文件同步。
3.3 生成在线分享链接
如果希望他人能在线查看或协作编辑:
- 在编辑器中点击☰ 菜单 → Export → Share
- 或访问 excalidraw.com,将
.excalidraw文件内容(JSON)粘贴进去 - 生成公开链接,对方打开即可查看和编辑
- 链接支持实时协作,多人同时编辑同一张图
3.4 导出为可交互网页(开发者方案)
如果你是前端开发者,可以将 Excalidraw 集成到自己的项目中:
npminstall@excalidraw/excalidraw然后在 React 应用中引入组件,加载.excalidraw的 JSON 数据,实现网页内嵌的交互式白板。
四、推荐工作流与最佳实践
4.1 团队协作用.excalidraw,分享用.png/.svg
| 场景 | 推荐格式 | 理由 |
|---|---|---|
| 团队内部设计评审 | .excalidraw | 可编辑,Git 追踪变更 |
| 写入技术文档 | .png/.svg | 兼容性好,渲染稳定 |
| 对外分享链接 | Excalidraw 在线链接 | 无需安装任何软件 |
| 长期归档 | .excalidraw+.svg | 兼顾可编辑性和可读性 |
4.2 让设计图成为"活文档"
- 源文件入仓:所有
.excalidraw文件纳入 Git 版本控制 - 自动导出:配置 CI/CD 或 Git Hooks,提交时自动导出 PNG/SVG
- 文档引用图片:README 和文档中引用导出的静态图片
- 变更可追溯:通过 Git diff 查看图形设计的历史变更
这套工作流让设计图真正成为了"活文档"——既能随时回溯历史版本,又能保证对外分享的文档始终是最新的。
五、快速参考
| 需求 | 解决方案 |
|---|---|
| 查看文件内容 | 用 VS Code 或记事本打开,本质是 JSON |
| 在 VS Code 中画图 | 安装pomdtr.excalidraw-editor插件 |
| 插入文档/邮件 | 导出为 PNG 或 SVG |
| 在线协作 | 上传到 excalidraw.com 生成分享链接 |
| 嵌入网页 | 使用@excalidraw/excalidrawnpm 包 |
| 版本控制 | 直接提交.excalidraw文件到 Git |