UNPKG

filetree-pro

Version:

A powerful file tree generator for VS Code and Cursor. Generate beautiful file trees in multiple formats with smart exclusions and custom configurations.

244 lines (182 loc) • 6.45 kB
# 🌳 FileTree Pro - VS Code Extension A powerful file tree generator for VS Code and Cursor. Generate beautiful file trees in multiple formats with smart exclusions and custom configurations. [![Version](https://img.shields.io/badge/version-0.1.0-blue.svg)](https://marketplace.visualstudio.com/items?itemName=filetree-pro) [![Downloads](https://img.shields.io/badge/downloads-0-brightgreen.svg)](https://marketplace.visualstudio.com/items?itemName=filetree-pro) [![Rating](https://img.shields.io/badge/rating-0.0-yellow.svg)](https://marketplace.visualstudio.com/items?itemName=filetree-pro) ## āš™ļø Configuration ### Quick Setup Add this to your VS Code settings (`Ctrl/Cmd + ,`): ```json { "filetree-pro.exclude": [ "**/node_modules/**", "**/dist/**", "**/.git/**", "**/.venv/**", "**/build/**", "**/coverage/**", "**/*.log", "**/*.tmp" ], "filetree-pro.showIcons": true, "filetree-pro.useCopilot": false } ``` ### Custom Exclusions Add your own patterns to exclude files/folders: ```json { "filetree-pro.exclude": [ "**/node_modules/**", "**/my-custom-folder/**", "**/*.test.js", "**/temp/**" ] } ``` ## šŸš€ Features ### šŸ“ Smart File Tree Generation - **Right-click any folder** → Generate file tree - **4 Output Formats**: Markdown, JSON, SVG, ASCII - **Icon Support**: Beautiful icons for all file types - **Smart Exclusions**: Automatically excludes build files, dependencies, and temp files ### šŸŒ Universal Language Support - **50+ Programming Languages**: JavaScript, Python, Java, C++, Go, Rust, Kotlin, Scala, C#, F#, Dart, R, MATLAB, Julia, Perl, Lua, Haskell, Clojure, Elixir, Erlang, OCaml, Nim, Zig, V, Assembly, and more - **Special Files**: Dockerfile, Makefile, README, LICENSE, CHANGELOG - **Web Technologies**: HTML, CSS, SCSS, Vue, Svelte - **Configuration Files**: YAML, TOML, INI, XML, JSON ### šŸŽØ Multiple Export Formats | Format | Use Case | Features | | --------------- | ----------------------- | ----------------------- | | **šŸ“„ Markdown** | Documentation, GitHub | Icons, clean formatting | | **šŸ“Š JSON** | APIs, Data processing | Structured data, icons | | **šŸŽØ SVG** | Presentations, diagrams | Visual, scalable | | **šŸ“ ASCII** | Universal compatibility | Plain text, portable | ### šŸ›”ļø Smart Exclusions Automatically excludes common build artifacts: - `node_modules`, `dist`, `build`, `out` - `.git`, `.venv`, `venv`, `env` - `*.log`, `*.tmp`, `*.cache` - `__pycache__`, `*.pyc` - `target`, `bin`, `obj` - `.DS_Store`, `Thumbs.db` ### ⚔ Performance Optimized - **Memory Management**: Efficient for large projects - **Async Processing**: Non-blocking tree generation - **Loading States**: Visual feedback during processing - **Batch Processing**: Handles 10,000+ files smoothly ## šŸŽÆ Quick Start 1. **Install Extension**: Search "FileTree Pro" in VS Code Extensions 2. **Open Project**: Open any project folder in VS Code 3. **Generate Tree**: Right-click on any folder → "Generate File Tree" 4. **Choose Format**: Select Markdown, JSON, SVG, or ASCII 5. **Choose Style**: With or without icons 6. **Save**: The tree opens in an unsaved tab - save when ready! ## šŸ“‹ Commands - `Generate File Tree` - Right-click on folder to generate tree - `Refresh Tree` - Regenerate with current settings - `Export Tree` - Export in different formats ## šŸŽØ Examples ### Markdown Output ``` # File Tree: my-project ā”œā”€ā”€ šŸ“ src/ │ ā”œā”€ā”€ šŸ“„ main.js │ ā”œā”€ā”€ šŸ“„ utils.js │ └── šŸ“ components/ │ ā”œā”€ā”€ šŸ“„ Header.js │ └── šŸ“„ Footer.js ā”œā”€ā”€ šŸ“„ package.json ā”œā”€ā”€ šŸ“„ README.md └── šŸ“ node_modules/ 🚫 (auto-hidden) ``` ### JSON Output ```json { "name": "my-project", "type": "directory", "icon": "šŸ“", "children": [ { "name": "src", "type": "directory", "icon": "šŸ“", "children": [...] } ] } ``` ## šŸ”§ Advanced Configuration ### Custom Exclusions ```json { "filetree-pro.exclude": [ "**/node_modules/**", "**/dist/**", "**/.git/**", "**/my-custom-folder/**", "**/*.test.js", "**/temp/**", "**/logs/**" ] } ``` ### Icon Settings ```json { "filetree-pro.showIcons": true } ``` ### Copilot Integration (Optional) ```json { "filetree-pro.useCopilot": false } ``` ## 🌟 Use Cases ### For Developers - **Project Documentation**: Generate file trees for README files - **Code Reviews**: Share project structure with team - **Onboarding**: Help new developers understand project layout - **Architecture Analysis**: Visualize project structure ### For Teams - **Documentation**: Export trees for project docs - **Presentations**: Use SVG format for slides - **API Documentation**: JSON format for tools - **Cross-platform**: ASCII format works everywhere ### For Educators - **Teaching**: Show project structures to students - **Examples**: Demonstrate different project organizations - **Analysis**: Analyze student project structures ## šŸš€ Performance - **Small Projects** (< 1,000 files): < 1 second - **Medium Projects** (1,000-10,000 files): < 3 seconds - **Large Projects** (10,000+ files): < 10 seconds ## šŸ¤ Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests for new features 5. Submit a pull request ## šŸ“ Changelog ### v0.1.0 - āœ… Core file tree generation - āœ… 4 output formats (Markdown, JSON, SVG, ASCII) - āœ… Universal language support (50+ languages) - āœ… Smart exclusions system - āœ… Custom configuration support - āœ… Performance optimizations - āœ… VS Code and Cursor compatibility ## šŸ“„ License MIT License - see [LICENSE](LICENSE) file for details. ## ā˜• Support If you find this extension helpful, consider buying me a coffee! ā˜• [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-%23FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/tanzimhossain) ## šŸ“ž Contact & Social Media - **Email**: <tanzimhossain2@gmail.com> - **GitHub**: [@0xTanzim](https://github.com/0xTanzim) - **LinkedIn**: [@0xtanzim](https://linkedin.com/in/0xtanzim) - **Facebook**: [@0xtanzim](https://facebook.com/0xtanzim) - **Instagram**: [@0xtanzim](https://instagram.com/0xtanzim) --- **Made with ā¤ļø for the VS Code community**