A lightning-fast Markdown linter for VS Code powered by rumdl, a Rust-based linter with 97.2% markdownlint compatibility and 5x performance improvement.
✅ Real-time linting with 50+ rules and precise column highlighting ✅ One-click auto-fixes for common issues ✅ 5x faster than markdownlint ✅ Markdownlint compatibility ✅ Zero configuration required ✅ Workspace-wide linting support ✅ Custom rule configuration ✅ Status bar integration ✅ Precise error positioning with improved column highlighting (rumdl 0.0.81+) ✅ Bundled rumdl binary - no separate installation required ✅ Cross-platform support with optimized binaries for all platforms
- Install the extension from the VS Code Marketplace
- That's it! rumdl is bundled with the extension - no additional setup required
- Install the extension from Open VSX Registry
- That's it! The extension works the same in all VS Code-compatible editors
The extension includes optimized rumdl binaries for all supported platforms:
- Windows (x64)
- macOS (Intel & Apple Silicon)
- Linux (x64 & ARM64)
If you prefer to use your own rumdl installation:
-
Install rumdl using one of these methods:
# Using Cargo (Rust) cargo install rumdl # Using pip (Python) pip install rumdl # Download binary from GitHub releases # See: https://github.com/rvben/rumdl/releases
-
Configure the path in VS Code settings:
{ "rumdl.server.path": "/path/to/your/rumdl" }
- Install the extension from the VS Code Marketplace
- Install rumdl (if not already installed):
# Using cargo cargo install rumdl # Using homebrew (macOS) brew install rumdl # Using npm npm install -g rumdl
- Open a Markdown file - linting starts automatically!
Access these commands via the Command Palette (Cmd/Ctrl + Shift + P):
rumdl: Fix All- Apply all available auto-fixes to the current documentrumdl: Restart Server- Restart the rumdl language serverrumdl: Show Client Logs- View extension logs in the output panelrumdl: Show Server Logs- View server logs in the output panelrumdl: Check Extension Status- Display extension status and configurationrumdl: Test Configuration Discovery- Debug configuration file discovery and test rumdl settings
To automatically fix Markdown issues when saving files, enable VS Code's format on save feature:
{
"[markdown]": {
"editor.formatOnSave": true
}
}Or globally for all file types:
{
"editor.formatOnSave": true
}The extension uses VS Code's standard configuration system. Open Settings (Cmd/Ctrl + ,) and search for "rumdl" to configure:
| Setting | Description | Default |
|---|---|---|
rumdl.enable |
Enable/disable the extension | true |
rumdl.configPath |
Path to rumdl configuration file (relative to workspace root or absolute). If not specified, rumdl will auto-discover configuration files in the workspace. | undefined |
rumdl.rules.select |
Array of rule IDs to enable. Empty array enables all rules. | [] |
rumdl.rules.ignore |
Array of rule IDs to ignore/disable | [] |
rumdl.server.path |
Path to rumdl binary. Leave empty (recommended) to use bundled binary with fallback to system PATH. Set to "rumdl" to explicitly use system PATH (useful with version managers like Nix, mise, or asdf). Set to absolute path for custom installations. |
undefined |
rumdl.server.logLevel |
Server log level (error, warn, info, debug, trace) |
"info" |
Create a .rumdl.toml file in your project root for project-specific settings:
# Enable/disable specific rules
[rules]
select = ["MD001", "MD003", "MD022"]
ignore = ["MD013", "MD033"]
# Rule-specific configuration
[rules.MD013]
line_length = 120
code_blocks = false
[rules.MD003]
style = "atx"
# File patterns to include/exclude
[files]
include = ["**/*.md", "**/*.markdown"]
exclude = ["node_modules/**", "target/**"]The extension automatically activates for these file extensions:
.md.markdown.mdown.mkd.mdx
rumdl is built for speed:
| Tool | Time (1000 files) | Relative Speed |
|---|---|---|
| rumdl | 0.8s | 5x faster |
| markdownlint | 4.2s | baseline |
rumdl supports 97.2% of markdownlint rules:
- ✅ 50+ rules fully implemented
- ✅ Auto-fixes for 40+ rules
- ✅ Custom configuration support
- ✅ Same rule IDs as markdownlint
See the full rule list for details.
If you see "rumdl executable not found":
- Install rumdl: Follow the installation guide
- Check PATH: Ensure rumdl is in your system PATH
- Set custom path: Configure
rumdl.server.pathin settings
If the server fails to start:
- Check logs: Use "rumdl: Show client logs" command
- Verify installation: Run
rumdl --versionin terminal - Restart server: Use "rumdl: Restart Server" command
- Check configuration: Ensure
.rumdl.tomlis valid
If linting feels slow:
- Check file size: Very large files (>1MB) may be slower
- Exclude patterns: Add exclusions for generated files
- Reduce rules: Disable unused rules in configuration
# Clone the repository
git clone https://github.com/rumdl/rumdl-vscode.git
cd rumdl-vscode
# Install dependencies
npm install
# Build the extension
npm run compile
# Run in development mode
npm run watch# Run linting
npm run lintWe welcome contributions! Please check the repository for contribution guidelines.
When reporting issues, please include:
- VS Code version
- Extension version
- rumdl version (
rumdl --version) - Debug information (use "rumdl: Print debug information")
- Sample Markdown file that reproduces the issue
This extension is licensed under the MIT License.
- rumdl - The core Rust-based linter
- markdownlint - The original JavaScript linter
- markdownlint-cli2 - Command-line interface
See CHANGELOG.md for release history.
Enjoy lightning-fast Markdown linting with rumdl! ⚡