Sublime Text 无内置导出功能,需依赖ExportHtml插件或命令行工具;导出HTML须关闭wrap_lines、开启full_page;导出图片/PDF需配合Chrome打印并勾选Background graphics;中文字体与抗锯齿需手动调优。

Sublime Text 没有内置导出 HTML、图片或 PDF 的能力,所有“导出高亮代码”的操作,本质都是把编辑器里渲染出的颜色转成 HTML + CSS,再靠浏览器、命令行工具或截图插件二次处理——别在菜单里找「Export as HTML」了,它根本不存在。
ExportHtml 插件导出 HTML:必须关掉 wrap_lines,否则折行错乱
这是目前唯一稳定支持 Sublime Text 4 的 HTML 导出方案,生成的是带内联 style 的完整 HTML 文件,离线可打开、可嵌入文档。但默认配置容易翻车:
-
wrap_lines必须关闭(默认就是关的,但有人手动勾选):一旦开启,插件会在 HTML 中插入<wbr></wbr>或强制换行,导致 PDF 打印时函数名、路径、字符串被无意义截断 -
full_page必须开启:否则只输出<pre class="brush:php;toolbar:false;"><code></code> 块,没有 <code></code> 结构和全局样式,粘贴进 Word 或邮件会丢色、变黑底白字</pre> - 中文乱码?先确认源文件编码是
UTF-8(右下角显示),不是UTF-8 with BOM;若仍乱码,导出后手动打开 HTML,把<meta charset="...>改成<meta charset=" utf-8> - 行号错位?不是插件 bug,是系统缺等宽中文字体。在插件
Settings – User里加:"font_face": "Fira Code", "font_size": 14(别用小数,如 14.5)
导出 PNG/SVG 图片:ExportHtml 设置 export_format 后需手动调 Chrome 打印
ExportHtml 支持直接设 "export_format": "png",但实际执行时仍依赖系统截图或浏览器打印——它只是把 HTML 渲染结果交给 Chrome,再触发 Ctrl+P → 另存为 PNG。关键控制点在插件配置里:
-
"antialias": true(默认值,别关):关掉会导致字体锯齿严重,尤其 macOS 上 Fira Code 显示发虚 -
"line_number_width": 40:不设这个,长代码文件的行号列会被自动压缩,数字挤在一起看不清 -
"background_opacity": 0.97:设成 1.0 容易让深色主题背景太刺眼;低于 0.9 又可能透出浏览器底色 - 导出 SVG 后微信打不开?SVG 对 CSS 支持极弱,
background-color和font-family常失效。真要分享图,用 PNG;SVG 仅适合嵌入网页或设计稿
Chrome 打印 HTML 为 PDF:Background graphics 不开,高亮全丢
这是最常用也最容易漏掉关键设置的一环。ExportHtml 生成的 HTML 在 Chrome 里打开后,按 Ctrl+P(Win/Linux)或 Cmd+P(macOS)调出打印面板,以下三项必须手动确认:
立即学习“前端免费学习笔记(深入)”;
- 页眉页脚:必须关闭,否则每页顶上出现网址、页码,破坏排版
-
Background graphics:必须勾选——没勾这个,所有
background-color(包括高亮块、行号背景、主题底色)全变透明,只剩黑字 - 缩放:选
100%,别选Fit或Shrink,否则长行被强制折行,且字体比例失真 - 中文字体还是糊?导出后用文本编辑器打开 HTML,在
<style></style>块里搜font-family,替换成:font-family: 'Fira Code', 'Microsoft YaHei', 'STHeiti', sans-serif;
pygmentize + wkhtmltopdf 命令行导出:不依赖 Sublime 主题,但 color_scheme 信息全丢
适合批量处理或 CI 场景,绕过 GUI,但代价是彻底脱离 Sublime 的配色体系——你指定 style=monokai,Pygments 用自己的实现去拟合,括号匹配色、自定义 scope(比如 storage.type.python)全不可控。
- 命令示例:
pygmentize -O full,style=vs,linenos=1,font_size=12pt -f html -o out.html main.py && wkhtmltopdf --enable-local-file-access out.html out.pdf -
--enable-local-file-access是必须项:否则 wkhtmltopdf 加载不了@font-face引用的本地字体,中文直接 fallback 到模糊的系统默认字体 - Windows 用户注意:
wkhtmltopdf安装包必须选带 QT 的版本,精简版不支持 CSSbackground渲染,高亮块会消失 - 性能差异:单文件导出比 ExportHtml + Chrome 慢 2–3 秒;但 100 个文件批量跑,命令行稳定不卡顿,而 ExportHtml 多文件导出会因 Sublime 主进程阻塞失败
真正难调的是中文字体链和打印时抗锯齿的博弈:加了 Microsoft YaHei 可能解决乱码,但某些 Chrome 版本下反而触发更严重的字体虚化——这时得关掉打印设置里的 Background graphics,再手动给 HTML 的 code 元素加 text-rendering: optimizeLegibility;。细节太多,没法一键对齐。



















