装 Hediet 版 Draw.io 插件(≥1.5.0)、配置 "files.associations": {"*.drawio": "drawio"}、右键选 Open Diagram,三步缺一不可,否则仅显示 XML 源码。

装对插件、设好后缀、右键打开——这三步没做对,.drawio 文件就只能当 XML 看。
装哪个 Draw.io 插件?认准 Hediet,别碰 jgraph 旧版
VSCode 市场里搜 Draw.io Integration,会出现多个同名插件。必须选作者是 Hediet、版本 ≥ 1.5.0 的那个。它已替代旧版 drawio-vscode(作者 jgraph),后者早已停止维护,双击 .drawio 会强制跳转浏览器,无法内嵌编辑。
安装后务必重启 VSCode,否则右键菜单不会出现 Open Diagram 选项,命令面板也搜不到相关命令。
常见错误现象:
- 右键文件只有 “Open With Code” —— 插件未激活或未重启
- 点开后是 XML 源码而非图形界面 —— 文件未关联,或装了错的插件
- 编辑器白屏、卡死 —— 可能误启用了
drawio.sync.enabled或企业网络拦截了 diagrams.net 资源
为什么双击 .drawio 文件打不开图形编辑器?
VSCode 默认不把 .drawio 当作图形文件处理。即使插件装对了,也得手动绑定后缀。
在 settings.json 中加这一行:
"files.associations": { "*.drawio": "drawio" }保存后重启,双击才能进编辑器。但更稳妥的做法是:右键文件 → Open Diagram。这是插件唯一保证生效的入口,双击行为不稳定,尤其在多工作区或 Git 子模块中。
注意:
- 别用
.xml或.diagram当后缀——插件只识别.drawio(少数版本支持.dio,但不推荐) - 新建文件时直接命名为
flow.drawio,别先建空文件再改后缀 - 如果右键没
Open Diagram,按Ctrl+Shift+P→ 输入Draw.io: Open Diagram手动调起
导出 PNG 模糊、中文乱码、字体变小怎么办?
根本原因:Draw.io for VSCode 是沙箱化 Web View,不读系统字体,导出默认用 1x 渲染 + fallback 字体。
解决方法不是调 VSCode 设置,而是改图内样式和导出参数:
- 中文显示异常?在形状上右键 →
Style→ 手动加fontFamily=Helvetica;fontSize=14;;避免用“微软雅黑”“思源黑体”等本地字体名 - PNG 模糊?导出前先右键画布 →
Zoom→ 设为200%,再执行Export as → PNG,并勾选Use device pixel ratio - 仍不满意?直接导出
SVG——矢量格式无损缩放,VSCode 预览和 Markdown 均原生支持 - 导出 SVG 后文字变英文?导出时务必勾选
Include a copy of the diagram,否则样式丢失
能在 Markdown 里嵌入并实时编辑吗?
可以,但不是 Typora 那种自动渲染。必须用插件支持的代码块语法,且编辑后需手动更新 XML。
在 .md 文件中写:
```drawio <diagram name="xxx"></diagram> ```
光标放在代码块内,按 Ctrl+Shift+P → Draw.io: Edit diagram,编辑完保存,XML 会自动回写到代码块中。
关键限制:
- 不能用
file: ./xxx.drawio这类路径引用——VSCode 原生 Markdown 预览不解析它,除非额外装Markdown All in One - 插件不会监听外部 .drawio 文件变更并自动刷新预览;改了独立文件,得手动刷新 Markdown 预览(
Ctrl+Shift+P→Markdown: Refresh Preview) - 多人协作时,务必确认图是“本地文件”模式(新建时选
Blank Diagram (Local)),别存成云链接,否则离线打不开、Git 也无法跟踪
最常被忽略的一点:Draw.io 编辑器运行在隔离 Web View 中,它不继承 VSCode 主题、缩放、字体渲染策略,所有表现以 diagrams.net 网页版为准。想调效果,得在图内调样式、在导出对话框调参数,而不是翻 VSCode 设置。


















