sublime text 无原生 rst 预览功能,也不存在名为 restructuredtext-preview 的活跃插件;可用方案仅有两类:调用 rst2html 命令行工具或依赖 sphinx 构建服务,二者均需外部流程,无纯前端即时渲染。

Sublime Text 本身不提供 reStructuredText(RST)的原生预览能力,RestructuredText-Preview 插件并不存在于主流生态——你实际能用的、稳定且维护中的 RST 预览方案只有两类:一类是调用外部命令行工具(如 rst2html),另一类是依赖 Sphinx 构建服务。所谓“即时预览”插件,多数是误传或已废弃项目。
为什么搜不到 RestructuredText-Preview 插件?
Package Control 中没有名为 RestructuredText-Preview 的活跃插件。常见混淆来源有三个:
- 把
sublime-rst-completion(仅补全)当成预览插件 - 把
OmniMarkupPreviewer(支持 RST 但需手动配置解析器,且已多年未更新)误认为专用于 RST - 把 VS Code 的
RST Preview插件名直接套用到 Sublime 上
搜索结果为空不是你操作问题,是它根本不存在。别浪费时间在 Package Control 里反复刷“RestructuredText-Preview”。
真正可用的 RST 预览方式只有两种
Sublime Text 的 RST 预览必须走外部流程,没有纯前端渲染方案:
-
命令行驱动型:安装
docutils后,用rst2html命令生成 HTML,再通过插件(如Exec或自定义 build system)触发并自动打开浏览器 -
Sphinx 驱动型:在含
conf.py的 Sphinx 项目根目录下,运行sphinx-autobuild(监听文件变化 + 内置 HTTP server),然后在 Sublime 中保存 .rst 文件,浏览器自动刷新
前者轻量但每次保存都要重新生成;后者延迟低、支持热重载,但需完整 Sphinx 环境。二者都绕不开终端命令,不存在“点一下就实时渲染”的纯插件方案。
rst2html 预览配置最容易踩的坑
即使你只想要最简 build system,以下几点不处理,rst2html 会静默失败或输出空白页:
- 确保已执行
pip install docutils,且终端中能直接运行rst2html --version - Sublime 的 build system 必须显式指定
shell_cmd而非cmd,否则 Windows 下找不到 Python 路径 - 输出 HTML 的路径不能含中文或空格,例如
"C:\temp\preview.html"可行,"C:\我的文档\preview.html"会卡住 - build system 中的
file_regex若写错,错误不会显示在 Sublime 控制台,而是直接终止执行
一个最小可用 build system 示例(保存为 RestructuredText.sublime-build 放入 Packages/User/):
{
"shell_cmd": "rst2html "$file" "${file_path}/preview.html" && start "" "${file_path}/preview.html"",
"file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)$",
"selector": "text.restructuredtext"
}
Sphinx autoreload 是唯一接近“即时”的方案
如果你正在写大型文档(比如用 Sphinx 构建的项目),这才是真实工作流:
- 终端中进入项目根目录,运行
sphinx-autobuild source build/html - Sublime 中编辑任意 .rst 文件并保存 → 浏览器标签页自动刷新(延迟通常
- 不需要插件、不依赖 Sublime 命令、不生成中间 HTML 文件
注意:sphinx-autobuild 默认监听 source/ 目录,若你的 .rst 文件不在该路径下,要加 -p 参数指定监听路径。另外,Sphinx 的 conf.py 中必须启用 extensions = ['sphinx.ext.autodoc'] 类扩展,否则部分指令(如 .. autoclass::)会渲染失败 —— 这和预览插件无关,是 Sphinx 本身的约束。











