WorkspaceTree 🌳
Export your VS Code workspace directory structure to the clipboard in beautiful Markdown or plain text format — instantly.

Quick Access
From VS Code (Easiest):
- Go to Extensions (
Ctrl+Shift+X)
- Search "WorkspaceTree"
- Click gear icon ⚙️ → "Show in File Manager"
Windows: Press Win+R, paste path above, press Enter
macOS: Press Cmd+Shift+G in Finder, paste path above, press Enter
Linux: Press Ctrl+L in File Manager, paste path above, press Enter
📖 For detailed file access instructions, see USER_FILE_ACCESS.md
Video

📁 Where to Find Extension Files
Want to access the extension folder on your computer? Here's where WorkspaceTree is installed:
| OS |
Location |
| Windows |
%APPDATA%\.vscode\extensions\raghavvian.workspace-tree-1.0.0 |
| macOS |
~/.vscode/extensions/raghavvian.workspace-tree-1.0.0 |
| Linux |
~/.vscode/extensions/raghavvian.workspace-tree-1.0.0 |
✨ Features
| Feature |
Benefit |
| One-Command Export |
Press Ctrl+Shift+P and run WorkspaceTree: Export Directory Structure |
| Visual Icons |
📁 Folders and 📄 Files in Markdown mode |
| Smart Filtering |
Automatically excludes node_modules, .git, dist, hidden files, and more |
| Flexible Formats |
Export asMarkdown (with code fences) or Plain Text |
| Path Options |
Choose betweenRelative names or Full Absolute paths |
| Non-Blocking |
Fully asynchronous using fs.promises — never freezes VS Code |
| Error Resilient |
Permission errors are logged to Output Channel, not crashes |
| Status Feedback |
Real-time scanning indicator in status bar |
| Customizable |
Configure exclusion patterns via VS Code settings |
🎯 Use Cases
- 📄 Include in READMEs — Show project structure in documentation
- 📋 Share Project Layout — Copy and paste into Slack, Discord, email
- 🗂️ Documentation — Create visual file tree diagrams
- 🔍 Project Analysis — Quickly understand repository structure
- 📊 Reports — Generate project overview for stakeholders
🚀 Quick Start
Installation
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Search for "WorkspaceTree"
- Click Install
Usage
Method 1: Command Palette (Easiest)
- Press
Ctrl+Shift+P (or Cmd+Shift+P on macOS)
- Type
WorkspaceTree: Export Directory Structure
- Press
Enter
- Configure your options:
- Include hidden files? → Choose
Yes or No
- Path format? → Choose
Relative or Full
- Export format? → Choose
Markdown or Plain Text
- The result is copied to your clipboard ✓
- Right-click any folder in the Explorer sidebar
- Select WorkspaceTree: Export Directory Structure
- Follow the same wizard steps
📋 Example Outputs
📁 my-project/
├── 📁 src/
│ ├── 📁 components/
│ │ ├── 📄 Header.tsx
│ │ └── 📄 Footer.tsx
│ ├── 📁 utils/
│ │ └── 📄 helpers.ts
│ └── 📄 App.tsx
├── 📁 public/
│ └── 📄 index.html
├── 📄 package.json
└── 📄 README.md
Generated by WorkspaceTree — 8 files, 4 folders
Plain Text Format
my-project/
src/
components/
Header.tsx
Footer.tsx
utils/
helpers.ts
App.tsx
public/
index.html
package.json
README.md
⚙️ Configuration
Open VS Code Settings (Ctrl+,) and search for WorkspaceTree:
Exclude Patterns
Add or remove patterns to exclude from exports:
"workspaceTree.excludePatterns": [
"node_modules",
".git",
"dist",
"out",
".next",
"__pycache__",
".DS_Store",
"build",
".venv"
]
Default exclusions: node_modules, .git, dist, out, .next, __pycache__, .DS_Store
Hidden Files
Control whether to include files/folders starting with . (e.g., .env, .gitignore):
- Choose at runtime in the wizard, or
- Set a default in settings
📊 Output Channel
All debug logs are sent to the "WorkspaceTree" Output Channel:
- Open Output panel (
Ctrl+Shift+U)
- Select "WorkspaceTree" from the dropdown
- View scan progress, file counts, and any errors
🔧 Technical Details
Architecture
- Language: TypeScript 5.3+
- Target: VS Code 1.85+
- Framework: Native VS Code API
- File I/O: Asynchronous (
fs.promises)
- ✅ Non-blocking UI using async/await
- ✅ Recursive tree generation with max-depth protection (50 levels)
- ✅ Error handling for permission issues
- ✅ Status bar feedback during scanning
Error Handling
- Permission errors are logged, not thrown
- Symlink loops are prevented with depth limit
- File read failures don't crash the extension
🐛 Troubleshooting
- Reload VS Code:
Ctrl+Shift+P → "Developer: Reload Window"
- Check Extensions panel to ensure it's enabled
Output looks incomplete
- Check the WorkspaceTree Output Channel (
Ctrl+Shift+U) for errors
- Some files may be excluded by your settings — review
workspaceTree.excludePatterns
Clipboard doesn't copy
- Wait for the status bar indicator to finish
- Check your system clipboard permissions
- Try using plain text format instead of Markdown
Hidden files not showing
- Ensure you selected "Yes — Include hidden files" in the wizard
- Check that hidden file patterns aren't in
excludePatterns
- Large Projects: First export may take 5-10 seconds on monorepos
- Deep Nesting: Use relative paths for cleaner output
- Exclusions: Add more patterns to
excludePatterns for faster scans
🤝 Contributing
Found a bug? Have a feature request? Visit our GitHub:
🔗 Repository: https://github.com/Mrcoderv/WorkspaceTree
Contributions welcome! Please:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature
- Commit changes:
git commit -am 'Add feature'
- Push to branch:
git push origin feature/my-feature
- Submit a pull request
For development setup, see PUBLISHING.md.
📄 License
MIT License — See LICENSE for details.
Copyright © 2026 Raghavvian
🙏 Support
🎉 What's Next?
- ⭐️ Star us on GitHub if you find this useful!
- 📢 Share with your team
- 💬 Leave a review on VS Code Marketplace
Happy exporting! 🚀