sublime text 本身不提供导出代码图片功能,必须依赖exporthtml插件或pygmentize命令行;exporthtml需配置font_face、font_size等参数并手动切换语法,pygmentize则轻量但无法还原sublime特有高亮。

ExportHtml 插件导出 PNG:最稳的编辑器内方案
这是目前适配性最好、能完整保留 Sublime 当前语法高亮、字体、行号、主题色的方案。但默认安装后不能直接用,必须补全关键配置,否则导出的是黑底白字、字体错乱或文字发虚。
- 安装后打开
Preferences → Package Settings → ExportHtml → Settings – User,填入以下最小必要项:{ "export_format": "png", "font_face": "Fira Code", "font_size": 14, "line_numbers": true, "background_opacity": 0.95, "antialias": true } -
font_face必须是系统已安装的字体家族名(不是文件名),macOS 可用fc-list :family查,Windows 请确认字体册里显示的是 “Fira Code”,而非 “FiraCode-Regular” - 导出前务必点击右下角语法名称(如
Plain Text),手动切为Python或JavaScript;若识别错误,高亮会完全丢失 - 执行命令时选
ExportHtml: Export to Image,别误点Export to HTML—— 后者不生成图
pygmentize 命令行导出:轻量、可批量、不依赖 Sublime GUI
适合写脚本、CI 自动化或临时快速生成单文件图,但无法还原 Sublime 特有样式(比如括号匹配高亮、自定义 scope 着色)。
- 先装 Pygments:
pip install pygments - 基础命令示例:
pygmentize -f png -O style=monokai,fontname="Fira Code",fontsize=14,linenos=1 -o output.png input.py -
style参数不对应 Sublime 主题名,monokai是 Pygments 内置风格,与 Sublime 的Monokai.sublime-color-scheme视觉接近但不一致,建议实测对比 - 若导出文字边缘锯齿严重,加参数
fontscale=1.0并确保fontsize是整数(如14,非14.5)
导出后图片模糊/发虚?重点查 DPI 和字体渲染
这不是插件 bug,而是高分屏(尤其是 macOS Retina / Windows 缩放 125%+)下字体光栅化失准导致的常见现象。
- 确认
antialias为true(ExportHtml 默认是,但某些旧配置可能关了) -
font_size必须是整数;小数尺寸(如13.5)会让 freetype 渲染器放弃亚像素抗锯齿 - macOS 用户若用系统默认字体(如 Menlo),建议换为 Fira Code 或 JetBrains Mono —— 它们对等宽+连字+高 DPI 渲染更友好
- 避免在导出设置中启用
scale_factor超过 1.0,ExportHtml 对非整数缩放支持不稳定,容易糊
SVG 导出慎用:微信、钉钉、PDF 插入场景基本不可靠
SVG 表面看是矢量,实际在多数平台受限于 CSS 支持度,常出现字体不加载、背景透明失效、行号错位等问题。
- ExportHtml 默认生成的 SVG 依赖外部 CSS 文件,微信等环境直接丢弃样式,只剩黑字白底
- 若坚持用 SVG,必须设
"embedded_css": false并手动把 CSS 内联进<style></style>标签,工作量远超 PNG - 长代码自动折行、横向滚动条、阴影/圆角等“美化效果”,SVG 无法可靠渲染,PNG + 后期用
magick或ffmpeg加边框才是务实选择











