🚀 Copy & create folder structures, file names and jump-ready line paths.
Table of Contents
Features
📁 Copy Folder Structure
- 🎯 Two Output Formats: JSON & Plain Text (GitIngest-style tree)
- 🖱️ Right-Click Integration: Easy access from Explorer context menu
- 🙈 Respects .gitignore: Automatically excludes ignored files
- ⚡ Smart Filtering: Skips node_modules and hidden files
🏗️ Create Folder Structure
- 📝 Multiple Input Formats: Support for JSON and Plain Text
- 🖥️ Modern UI: Live preview, validation, and line numbers
- 🔄 Smart Handling: Replace/Skip prompts for existing files
- 🗑️ Safe Replace: Sends replaced items to Trash
📄 Copy File Name
- ⚡ One-Click Copy: Quick file name copying to clipboard
- 🎯 Simple & Fast: Right-click any file to copy its name
Copy Line Path
- 📋 Copy jump-ready
relative/path:line
for VS Code Quick Open
- ⚙️ Configurable: Optional
:column
and absolute path modes
- ⌨️ Keyboard Binding:
Ctrl+Shift+T
/ CMD+k CMD+t
on Mac
Quick Start
- 📥 Install the extension from VS Code Marketplace
- 🖱️ Right-click any folder in Explorer
- 🎯 Choose "Copy Folder Structure" or "Create Folder Structure"
- 🎉 Done! Your structure is ready to use
How to Use
📁 Copy Folder Structure
- 🖱️ Right-click a folder in VS Code Explorer
- 📋 Select "Copy Folder Structure"
- 📄 Structure is copied to clipboard in your preferred format (JSON/Plain Text)
🏗️ Create Folder Structure
- 🖱️ Right-click in Explorer OR use Command Palette (
Ctrl+Shift+P
)
- 🎯 Choose "Create Folder Structure"
- 📂 Select the target directory
- 📝 Choose format and paste your structure
- ✨ Click Create and watch the magic happen!
📄 Copy File Name
- 🖱️ Right-click any file → 📋 "Copy File Name"
📋 Copy Line Path
- 🖱️ Right-click inside the editor → 📋 "Copy Line Path"
- 📝 Paste into Quick Open (
Ctrl+P
/ Cmd+P
) to jump directly to that line.
Settings
Configure the extension to work exactly how you want:
- 📄 outputFormat: Choose between JSON Format or Plain Text Format
- 🚫 ignorePatterns: Specify patterns to ignore when copying structures
- 🙈 respectGitignore: Honor .gitignore rules (recommended: enabled)
- 🧩 includecolumn: (NEW!) Include column number in copied path:line
- 🛣️ useAbsolutePath: (NEW!) Use absolute paths instead of workspace-relative
🎛️ Settings Preview
Live Previews
📄 Copy File Name in Action
🏗️ Create Folder Structure
💼 Common Usage
🔗 With Git Ingest Integration
📋 Copy Line Path (NEW!!)
Output Examples
Perfect for programmatic use - files are represented as type strings:
{
"app": {
"api": {
"analyze-typography": {
"route": "ts"
}
},
"favicon": "ico",
"globals": "css",
"layout": "tsx",
"page": "tsx"
}
}
🌳 Plain Text Format
Human-friendly GitIngest-style tree structure:
Directory structure:
└── app/
├── api/
│ └── analyze-typography/
│ └── route.ts
├── favicon.ico
├── globals.css
├── layout.tsx
└── page.tsx
📝 Plain Text Rules:
- ✅ First line is treated as a header (can contain any text)
- 🔗 Every line must use tree connectors (
├──
or └──
)
- 📁 Exactly one root directory ending with
/
- 📏 Consistent indentation (increases by one level each time)
- ⚠️ Invalid lines are highlighted; confirmation required if errors exist
📋 Copy Line Path
- 📋 Copies
relative/path/to/file:line
(or absolute path if enabled)
:column
can be appended if enabled in settings
utils/animations/executionAnimations.ts:152:16
How It Works
📁 Copy Folder Structure
- 🔍 Scans the selected folder intelligently
- 🙈 Respects .gitignore and exclude patterns
- 🚫 Filters out node_modules and hidden files automatically
- 📋 Copies structure in your chosen format (JSON or Plain Text)
🏗️ Create Folder Structure
- 📖 Reads input from the modern webview interface
- ✅ Validates and parses structure (JSON or Plain Text)
- ⚠️ Prompts for Replace/Skip when items already exist
- ✨ Generates folders and files safely (no accidental overwrites)
📄 Copy File Name
- 🖱️ Right-click any file in Explorer
- 📋 Copies the file name directly to clipboard
📋 Copy Line Path
- ⚙️ Reads your settings to determine column and path mode
- 🛣️ Builds a path string (relative or absolute) and normalizes separators to
/
- 🔢 Appends
:line
(and :column
when enabled) using 1-based positions
- 📋 Copies the result to the clipboard for Quick Open compatibility
Troubleshooting
❓ Common Issues & Solutions:
🚫 No Option in Context Menu
- 🔄 Solution: Reload VS Code (
Ctrl+Shift+P
→ "Reload Window")
📋 Clipboard Not Working
- 🔐 Solution: Check system clipboard permissions
❌ Input Error (Create Function)
- 📝 Solution: Ensure input follows correct JSON or Plain Text format
📄 Copy File Name Not Working
- 📁 Solution: Make sure you've selected a valid local file (not a folder)
License
MIT License — see LICENSE for details
🐛 Found a bug? 🚀 Have a feature request?
Open an issue on our GitHub repository
Made with ❤️ for developers worldwide 🌍
⭐ If this extension helped you, please consider giving it a star on the GitHub and marketplace!
✨ Love this project? Sponsor me to help fuel more open-source work!