Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>MDGenNew to Visual Studio Code? Get it now.
MDGen

MDGen

GaneshDatta Padamata

|
1 install
| (0) | Free
Export a source code project into structured Markdown documentation. Built by Ganesh Datta for reliable local documentation generation.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Project To Markdown

Convert an entire source code project into one or more structured Markdown documents — ready for documentation, code review, archival, or feeding to a large-language-model.

Everything runs locally. No network calls. No AI.

Features

  • One-click export from the Command Palette, the Explorer context menu, or a Status Bar button.
  • Streaming pipeline — handles repositories with 100 000+ files without loading them into memory at the same time.
  • Chunked output — splits the result into project.part1.md, project.part2.md, … when a configurable size threshold is exceeded.
  • Built-in ignore rules for node_modules, build outputs, binaries, lockfiles, media, archives, plus full .gitignore parsing.
  • Smart language detection with proper Markdown fence escaping for files that themselves contain triple backticks.
  • Symbol summary for TypeScript/JavaScript, Python, Java/Kotlin, Go, Rust, C/C++, C#.
  • Dependency analysis for package.json, requirements.txt, Cargo.toml, go.mod, pom.xml, Gemfile.
  • Sidecar JSON — .manifest.json, .summary.json, optional .index.json.
  • Incremental cache for faster repeat runs.
  • Optional SHA-256, line, and word counts per file.
  • Cancellation, progress notification, dedicated Output Channel.

Usage

  1. Open the Command Palette and run Project To Markdown: Generate Documentation (or right-click a folder in the Explorer and pick Generate Markdown, or click Project → MD in the Status Bar).
  2. Pick the source folder to scan.
  3. Pick the output folder to write to.
  4. Watch progress in the notification. The Output Channel Project To Markdown shows the per-file log.
  5. When finished you'll get project-name.md (plus the optional sidecars) inside the chosen output folder.

Settings

All settings live under projectToMarkdown.*:

Setting Default Purpose
maxFileSize 5242880 Skip files larger than this many bytes (5 MB default).
includeHidden false Include dot-files / dot-folders.
generateTree true Include the ASCII directory tree.
generateStats true Append the statistics section.
ignorePatterns [] Extra glob patterns to ignore.
followSymlinks false Follow symbolic links during scan.
maxFiles 100000 Hard cap on the number of files processed.
skipBinary true Skip files detected as binary.
useGitignore true Honor .gitignore files in addition to built-ins.
chunkSizeMb 50 Split output into multiple .md parts when exceeded; 0 disables chunking.
includeHashes false Include SHA-256 hashes per file.
includeLineCounts true Include line counts per file.
includeWordCounts false Include word counts per file.
incremental false Reuse cache of file hashes on repeat runs.
extractSymbols true Emit a quick symbol summary per file.
analyzeDependencies true Summarize dependency manifests.
writeManifest true Write <project>.manifest.json sidecar.
writeSummary true Write <project>.summary.json sidecar.
writeSearchIndex false Write <project>.index.json sidecar.

Development

npm install
npm run build       # bundles dist/extension.js with esbuild
npm run compile     # strict TypeScript type-check
npm run lint        # ESLint
npm test            # integration tests via @vscode/test-electron

Press F5 inside VS Code to launch the Extension Development Host.

License

MIT — see LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft