Table of Contents
A standalone plugin that adds live HTML preview for ReStructuredText
(.rst) files in JetBrains IDEs (PHPStorm, IntelliJ IDEA, PyCharm, WebStorm,
etc.) without requiring the Python plugin.
JetBrains' built-in ReStructuredText plugin requires the Python plugin to render previews. This is problematic for:
- PHPStorm users (no Python plugin available)
- Users who don't want/need the full Python plugin
- Users whose IDE doesn't bundle the RST preview functionality
This plugin calls your system's rst2html command (from docutils) directly,
bypassing the need for the Python plugin entirely. The preview renders inside
the IDE using JCEF (embedded Chromium), providing a native split-pane editing
experience.
- Live Preview: See rendered HTML as you type
- Split-Pane Editor: Source on left, preview on right
- JCEF Rendering: High-quality HTML5/CSS rendering using embedded Chromium
- Theme Support: Automatic dark/light theme switching
- Configurable: Custom
rst2htmlpath in settings - Auto-Detection: Finds
rst2htmlfrom pyenv, PATH, common locations - Fallback Renderer: Swing-based rendering if JCEF unavailable
- Any JetBrains IDE (2024.3+)
- Build range: 243 - 253.*
- docutils installed with
rst2htmlcommand available
Install docutils:
pip install docutilsIf using pyenv:
# Ensure your Python version has docutils
pyenv global 3.13.0 # or your version
pip install docutils- Download the latest release ZIP from GitHub Releases
- Open your JetBrains IDE
- Go to Settings → Plugins → ⚙️ → Install Plugin from Disk...
- Select the downloaded
.zipfile - Restart the IDE
- Open your JetBrains IDE
- Go to Settings → Plugins → Marketplace
- Search for "ReStructuredText Preview"
- Click Install
- Restart the IDE
Simply open any .rst file. The editor will display:
- Left pane: RST source code (editable)
- Right pane: Live HTML preview
The preview updates automatically as you type.
Use the toolbar buttons to:
- Toggle between editor-only, preview-only, or split view
- Refresh the preview manually
Access settings at: Settings → Languages & Frameworks → ReStructuredText Preview
The plugin auto-detects rst2html from common locations:
PATHenvironment variable~/.pyenv/shims/rst2html~/.pyenv/versions/*/bin/rst2html~/.local/bin/rst2html/usr/bin/rst2html/usr/local/bin/rst2html
To override, enter the full path to rst2html in settings.
- JCEF (recommended): Full HTML5/CSS support via embedded Chromium
- Swing: Basic HTML rendering, fallback for unsupported platforms
- JDK 21 or higher
- Gradle (wrapper included)
# Build the plugin
./gradlew build
# Verify plugin for API compatibility (required before releases)
./gradlew verifyPlugin
# Create distributable ZIP
./gradlew buildPlugin
# Output: build/distributions/rst-preview-plugin-X.X.X.zip
# Run IDE with plugin for testing
./gradlew runIde
# Clean build artifacts
./gradlew clean
# Full pre-release workflow
./gradlew clean build verifyPluginContributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run
./gradlew buildto verify - Submit a pull request
This project is licensed under the Apache License 2.0.
See the LICENSE file for details.
- JetBrains for the IntelliJ Platform SDK
- The docutils project for
rst2html - Inspired by the original JetBrains ReStructuredText plugin