VS Code MD Editor
A rich Markdown editor extension for Visual Studio Code with split preview, [[wikilinks]], backlink panel, force-directed link graph, and LanguageTool grammar checking.
Features
- WYSIWYG Editing — Edit markdown in a rich preview with contenteditable, or switch to split view or raw markdown mode.
- Toolbar — Quick-access buttons for bold, italic, headings, links, images, code blocks, lists, and blockquotes.
- [[Wikilinks]] — Link between markdown files using
[[filename]] or [[filename|display text]] syntax (Obsidian-compatible) with autocomplete suggestions.
- Markdown Links Sidebar — File list showing all markdown files with their incoming/outgoing links, plus a "Show Graph" button.
- Interactive Link Graph — Full-screen force-directed graph with Obsidian-style controls (filters, display options, force tuning), drag-to-pin, and zoom.
- LanguageTool Integration — Grammar and spelling checking powered by LanguageTool, with inline highlights and quick-fix suggestions. Works with the free API or a Premium account.
- Rename Propagation — Renaming a
.md file automatically updates all wikilink references across your workspace.
Installation
From VS Code Marketplace
Search for VS Code MD Editor in the Extensions panel, or install from the command line:
code --install-extension advancer.vscode-md-editor
From Source
git clone https://github.com/Advancer-Limited/vscode-md-editor.git
cd vscode-md-editor
npm install
npm run compile
Then press F5 in VS Code to launch the Extension Development Host.
Usage
- Open any
.md file and select "VS Code MD Editor" from the editor picker (or right-click the file and choose Open with VS Code MD Editor).
- Use the toolbar to format text, or write markdown directly in the textarea.
- Type
[[ to get autocomplete suggestions for linking to other markdown files.
- Open the Markdown Links sidebar to see backlinks and the link graph.
Configuration
Grammar checking works out of the box with the free LanguageTool API (1500 character limit per request). For unlimited checking, sign up for LanguageTool Premium and add your credentials:
| Setting |
Default |
Description |
vscodeMdEditor.languageTool.enabled |
true |
Enable LanguageTool grammar checking |
vscodeMdEditor.languageTool.apiUrl |
https://api.languagetoolplus.com/v2/check |
API endpoint (change for self-hosted) |
vscodeMdEditor.languageTool.apiKey |
"" |
Premium API key (leave empty for free tier) |
vscodeMdEditor.languageTool.username |
"" |
Premium username/email (required with API key) |
vscodeMdEditor.languageTool.language |
"auto" |
Language code (e.g., en-US, de-DE) |
vscodeMdEditor.languageTool.motherTongue |
"" |
Your native language code for better error detection |
vscodeMdEditor.languageTool.checkDelayMs |
1500 |
Delay (ms) before triggering check after typing |
Graph Settings
| Setting |
Default |
Description |
vscodeMdEditor.graph.defaultMode |
"local" |
Default graph view: local or global |
vscodeMdEditor.graph.localDepth |
1 |
BFS depth for local graph (1-3 hops) |
Contributing
Contributions are welcome! Please read the guidelines below before submitting a pull request.
Getting Started
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/vscode-md-editor.git
cd vscode-md-editor
npm install
- Create a feature or fix branch from
develop:
git checkout develop
git pull origin develop
git checkout -b feature/my-feature
- Make your changes, then verify:
npm run compile # Type-check and build
- Commit your changes with a clear message.
- Push to your fork and open a Pull Request targeting
develop.
Branch Workflow
master — Stable releases only. PRs from develop after testing.
develop — Integration branch. All feature/fix PRs target this branch.
feature/* / fix/* — Short-lived branches for individual changes.
PR Guidelines
- Keep PRs focused on a single change or feature.
- Include a clear description of what changed and why.
- Ensure
npm run compile passes before submitting.
- New features should follow existing patterns in the codebase.
- By submitting a PR, you agree to the Contributor License Agreement.
License
This project is licensed under the MIT License.
Copyright (c) 2026 Advancer Limited