sublime text 导出带语法高亮的代码图必须用 exporthtml 插件配齐五项设置或 pygmentize 命令行,否则必糊、黑、丢色、字体崩;关键包括正确 font_face、antialias、dpi_scale 等配置及手动切语法、保存文件、路径无中文空格。

Sublime Text 本身不支持导出带语法高亮的代码截图,所有“一键截图”都是假象——真要生成清晰、可缩放、保主题色的图,必须用 ExportHtml 插件渲染 HTML 后转 PNG,或用 pygmentize 命令行生成。跳过这两条路,结果只有糊、黑、丢色、中文字体崩。
ExportHtml 导出 PNG 必须配齐这五项
装完插件不配置 = 白装。默认设置导出的是黑底白字、字体错位、边缘发虚的废图。打开 Preferences → Package Settings → ExportHtml → Settings – User,填入以下最小必要项:
-
"export_format": "png"(注意是双引号字符串,不是image_format) -
"font_face": "Fira Code"(必须是系统已安装的字体家族名,macOS 用fc-list :family查,Windows 看字体册显示全名) -
"font_size": 14(小于 12 在高分屏上基本不可读) -
"antialias": true(关了就锯齿,尤其 macOS Retina / Windows 缩放 125%+) -
"background_opacity": 0.95(深色主题下太低显灰蒙,太高像截图)
导出前三个手动动作不能省
插件不会自动猜你当前在写什么语言、用什么主题、文件有没有保存——漏一步,高亮就全丢:
- 点击右下角语法标识(如
Plain Text),手动切到Python或JavaScript等真实语法;识别错误时ExportHtml不报错,但输出纯黑白 - 确保文件已保存(
File → Save),未保存的临时标签页内容可能被忽略 - 执行命令时选
ExportHtml: Export to Image,别误点Export to HTML——后者只生成网页,不产图
导出后图糊/发虚/行号错位?检查这三个硬性条件
这不是插件 bug,而是 Sublime 渲染链和像素输出之间没对齐:
- 路径不能含中文或空格:
D:\My Projects\code.png会静默失败,改用D:\code\output.png - 行号列容易挤在一起:加配置
"line_number_width": 40,避免自动计算失准 - 高分屏用户必须补
"dpi_scale": 1.25(对应系统缩放 125%),否则字体光栅化失准,再大字号也虚
pygmentize 命令行导出:轻量但不还原 Sublime 特有高亮
适合写脚本、CI 自动化或单文件快速出图,但它不读取你的 Monokai.sublime-color-scheme,也不支持括号匹配高亮、自定义 scope 着色:
- 先装:
pip install pygments - 基础命令:
pygmentize -f png -O style=monokai,fontname="Fira Code",fontsize=14,linenos=1 -o output.png input.py -
fontsize必须是整数(如14),非整数(如14.5)会导致边缘模糊 - 若仍锯齿,加
fontscale=1.0强制重采样
真正难的不是装插件,而是让 font_face 名称、系统 DPI、语法识别状态、导出路径这四者同时对齐——少一个,图就废。多数人卡在字体名写错或忘了手动切语法,而不是插件不行。











