MD Manager for VS Code


MD Manager is a Visual Studio Code extension designed to manage, organize, inspect, and view Markdown and Changelog files across your project. It features native PDF document export, a live Table of Contents outline, a backlinks panel, broken link detection, drag-and-drop moves and renames that keep links working, and automated TOC management.

❓ Why MD Manager?
Managing documentation, notes, changelogs, and technical specs across large software projects often means dealing with scattered Markdown files and navigating complex folder trees.
MD Manager brings structure and speed to your Markdown workflow inside VS Code:
- 🚀 Centralized Navigation: Discover and organize all
.md, .markdown, and CHANGELOG files in a dedicated Activity Bar panel.
- 📑 Live Outline Tracking: Jump across headings effortlessly with an active Table of Contents panel that stays in sync even during Markdown preview.
- 📄 1-Click Native PDF Generation: Transform single files or entire folders into print-ready PDF documents with customizable styling themes.
- 📂 Effortless Organization: Drag and drop files to reorganize folders on disk with built-in safety confirmation prompts.
- 🧭 Backlinks at a Glance: See every document that links to the file you are reading, with the exact line of each link.
- 🔗 Broken Link Detection: Catch links to missing files and headings in the Problems panel before your readers do.
🚀 Getting Started
- Open the Activity Bar: Click the MD Manager icon on the left Activity Bar to open the Markdown Files, Outline, and Backlinks panels.
- Explore Workspace Documents: Click any document to open it in the text editor or side-by-side preview.
- Export to PDF: Right-click any Markdown file or folder in the tree view and select Export to PDF... or Export Folder to PDF....
💻 Installation
Option 1: VS Code Marketplace
- Open VS Code and press
Ctrl+P (or Cmd+P on macOS).
- Type
ext install jeddak.md-manager and press Enter.
- Alternatively, search for MD Manager in the Extensions View (
Ctrl+Shift+X).
Option 2: Open VSX Registry
For VSCodium or Open VSX-compatible editors:
ovsx get jeddak.md-manager
Option 3: Manual VSIX Installation
Download the latest md-manager-0.2.0.vsix package and run:
code --install-extension md-manager-0.2.0.vsix
🌟 Key Features
📁 1. Markdown Explorer Panel (md-manager-explorer)
- Automatic File Discovery: Index
.md, .markdown, .mdown, .mkdn, CHANGELOG.md, changelog.md, CHANGELOG, and CHANGES files automatically.
- Multi-Root Workspace Support: Group files under distinct project root folders when working in multi-root workspaces.
- Dynamic View Modes: Toggle between Folder Hierarchy (Tree) and Flat List view modes with dynamic toolbar icon indicators (
list-flat / list-tree).
- Expand All / Collapse All Toggle: Instantly expand or collapse all tree folders with a single dynamic toolbar action.
- Folder Context File Creation: Create new Markdown files directly within any selected folder via the right-click context menu.
- File Deletion with Confirmation: Delete Markdown files with modal safety confirmation dialogs.
- Rename with Link Updates: Right-click a file and choose Rename Markdown File... (or press
F2 in the panel). Links to the file across the workspace are updated, with the same Rename, Review Link Changes..., and Rename Without Updating Links options as moving. The extension is kept when you leave it out.
- Drag-and-Drop File Relocation: Drag Markdown files onto target folders in the tree view to move them on disk, complete with confirmation dialogs.
- Automatic Link Updates on Move: When a file is moved, relative links inside it and links in other Markdown files that point to it are rewritten to the new location. The confirmation dialog shows how many links will change, with options to Move, Review Link Changes... (a checklist of every change, all selected by default), or Move Without Updating Links. The move and all link edits are a single Undo step.
- Rich Document Metadata Tooltips: Inspect word count, line count, estimated reading time, file size, last modified date, and heading summaries in interactive tooltips.
📄 2. One-Click Native PDF Document Export
- Single File Export: Convert any Markdown file into a native, print-ready binary
.pdf document using system headless browser printing.
- Folder Merging Export: Right-click any folder to merge all Markdown documents inside into a single
.pdf document with an automated cover page and table of contents index.
- 4 Custom Styling Themes:
- 📄 GitHub Paper (Light): Classic GitHub GFM white paper styling with crisp borders.
- 🌙 Modern Dark (Sleek): Dark presentation theme with vibrant accents and glassmorphic container styling.
- 🎓 Academic Serif: Thesis layout with Georgia serif typography and indented blockquotes.
- 💼 Enterprise Executive: Corporate navy blue headers with structured data tables.
📑 3. Document Outline Panel (md-manager-outline)
- Real-Time Outline Tree: Interactive Table of Contents panel displaying
#, ##, ### headings for the active document.
- Markdown Preview Mode Tracking: Retains document outline state while previewing rendered documents in VS Code.
- Code Block False Positive Filtering: Excludes
# comments inside fenced code blocks (``` / ~~~) from appearing as false headings.
- One-Click Jump Navigation: Jump to headings in whichever view is active: the source editor jumps to the heading line, and the Markdown preview scrolls to the section.
🛠️ 4. Automated Table of Contents (TOC) Management
- Insert / Update TOC Block: Generate GFM-compatible Table of Contents blocks with slug anchor links (
<!-- TOC --> ... <!-- /TOC -->). Anchors match the heading ids used by GitHub and the VS Code Markdown preview.
- Remove TOC Block: Remove existing TOC blocks using the conditional trash toolbar action (
md-manager:hasTOC).
🔗 5. Broken Link Checker
- Missing Files: Relative links and images that point to files that do not exist (
[guide](https://github.com/jebakumarj/md-manager/blob/HEAD/docs/guide.md), ) are reported as warnings in the Problems panel.
- Missing Headings:
#anchor links are checked against the headings of the target document, in the same file ([setup](#install--setup)) or another Markdown file ([start](https://github.com/jebakumarj/md-manager/blob/HEAD/docs/guide.md#getting-started)). Explicit HTML anchors (<a id="...">) also count.
- Live Updates: Links are rechecked as you type, when files are saved, and when files are created or deleted.
- Smart Skipping: External URLs (
https:, mailto:), GitHub line anchors (#L10), footnote definitions ([^1]: ...), and links inside code blocks or inline code are ignored.
- Supported Link Forms: Inline links and images, angle-bracket targets (
<docs/my file.md>), URL-encoded paths, workspace-root paths (/docs/guide.md), and reference definitions ([ref]: ./file.md).
- Pairs with Link Updates: Links updated when files are moved or renamed from the Markdown Files panel stay valid, so the Problems panel stays clean after reorganizing files.
- Configurable Scope: Check the whole workspace, only open files, or turn checking off with
md-manager.linkValidation.scope.
🧭 6. Backlinks Panel (md-manager-backlinks)
- Incoming Links for the Active File: Lists every workspace Markdown document that links to the file shown in the Outline panel, including while it is open in Markdown preview.
- Grouped by Document: Each linking document shows its folder and link count; expand it to see every link with its line number and target
#anchor.
- Expand All / Collapse All Toggle: Expand or collapse every linking document with a single toolbar action that switches state, like the Outline panel.
- Jump to the Link: Click a backlink to open the linking document with the link selected. Hover to see the full line.
- Always Current: Backed by a workspace link index that updates as you type and when Markdown files are created, deleted, or changed on disk. Respects
md-manager.excludePatterns.
- Recognized Links: Relative,
./, workspace-root (/docs/guide.md), URL-encoded, and reference-style links. Links a document makes to itself, external URLs, and links inside code are not counted.
⚙️ Extension Settings
Customize MD Manager via Settings -> Extensions -> MD Manager (md-manager):
| Setting |
Type |
Default |
Description |
md-manager.defaultViewMode |
string |
"tree" |
Default display mode ("tree" for folder hierarchy or "flat" for flat list). |
md-manager.openMode |
string |
"editor" |
Action when clicking a Markdown file ("editor", "preview", or "previewSideBySide"). |
md-manager.excludePatterns |
array |
["**/node_modules/**", "**/.git/**", "**/dist/**", "**/out/**"] |
Glob patterns to exclude from Markdown file discovery and workspace link checking. |
md-manager.linkValidation.scope |
string |
"workspace" |
Files checked for broken links: "workspace" (all Markdown files), "openFiles" (open editors only), or "off". |
💻 Contributed Commands
| Command |
Title |
Group / Context |
Description |
md-manager.refresh |
Refresh List |
Title Bar |
Reloads workspace Markdown files. |
md-manager.refreshOutline |
Refresh Outline |
Title Bar |
Reloads document outline tree. |
md-manager.exportToPDF |
Export to PDF... |
Title Bar / File Context |
Exports Markdown file into themed PDF document. |
md-manager.exportFolderToPDF |
Export Folder to PDF... |
Folder Context |
Merges folder Markdown files into a single themed PDF. |
md-manager.insertTOC |
Insert Table of Contents to File |
Outline Title Bar |
Generates or updates GFM TOC block. |
md-manager.deleteTOC |
Remove Table of Contents from File |
Outline Title Bar |
Removes existing TOC block. |
md-manager.openFile |
Open File |
File Item |
Opens file in active text editor. |
md-manager.openPreview |
Open Preview |
File Context |
Opens VS Code Markdown Preview. |
md-manager.createNewFile |
New Markdown File |
Title Bar |
Creates new Markdown file at workspace root. |
md-manager.createNewFileInFolder |
New Markdown File... |
Folder Context |
Creates new Markdown file inside target folder. |
md-manager.renameFile |
Rename Markdown File... |
File Context / F2 |
Renames a Markdown file and updates links to it across the workspace. |
md-manager.deleteFile |
Delete Markdown File |
File Context |
Deletes Markdown file with confirmation dialog. |
md-manager.toggleToFlat |
Switch to Flat View |
Title Bar |
Switches view mode to flat list. |
md-manager.toggleToTree |
Switch to Tree View |
Title Bar |
Switches view mode to folder hierarchy. |
md-manager.collapseAll |
Collapse All |
Title Bar |
Collapses all tree folders. |
md-manager.expandAll |
Expand All |
Title Bar |
Expands all tree folders. |
md-manager.collapseOutline |
Collapse All Outline |
Outline Title Bar |
Collapses all headings in the Outline panel. |
md-manager.expandOutline |
Expand All Outline |
Outline Title Bar |
Expands all headings in the Outline panel. |
md-manager.refreshBacklinks |
Refresh Backlinks |
Backlinks Title Bar |
Rebuilds the workspace link index and refreshes the Backlinks panel. |
md-manager.collapseBacklinks |
Collapse All Backlinks |
Backlinks Title Bar |
Collapses all linking documents in the Backlinks panel. |
md-manager.expandBacklinks |
Expand All Backlinks |
Backlinks Title Bar |
Expands all linking documents in the Backlinks panel. |
md-manager.checkLinks |
MD Manager: Check Markdown Links |
Command Palette |
Rechecks links in all Markdown files in scope and reports the number of broken links. |
🔗 Looking for other useful extensions?
Check out the MD Kanban extension to manage your tasks in Markdown files.
📄 License
MIT License © 2026 Jebakumar (Publisher: jeddak).
Co-authored with Antigravity.
| |