Skip to content

Commit 02abe0c

Browse files
committed
v0.1: Replaced old assets + Updated Readme + Moved Context Location
1 parent 511d355 commit 02abe0c

13 files changed

Lines changed: 159 additions & 107 deletions

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### Added
66

7-
- Webview preview with live validation and non-selectable line numbers gutter
7+
- Webview preview with live validation
88
- Replace/Skip/Cancel prompt when target items already exist (uses Trash for Replace)
99
- Support for JSON file leaves as string file types (e.g., "route": "ts")
1010
- Safer, remote-ready filesystem via `vscode.workspace.fs`

README.md

Lines changed: 152 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="./assets/banner.webp" alt="Folder Structure Pro" style="width: 100%; height: 250px; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
1+
<img src="./assets/banner.webp" alt="Folder Structure Pro" style="border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
22

33
<p align="center">
44
<a href="https://marketplace.visualstudio.com/items?itemName=iamshreydxv.copy-folder-structure">
@@ -12,104 +12,124 @@
1212
</a>
1313
</p>
1414

15-
## Table of Contents
15+
<p align="center">
16+
<strong>🚀 The ultimate VS Code extension for managing folder structures with ease!</strong>
17+
</p>
18+
19+
<hr style="border: 2px solid black; width: 100%; " />
20+
21+
## 📋 Table of Contents
22+
23+
- [✨ Features](#✨-features)
24+
- [⚡ Quick Start](#⚡-quick-start)
25+
- [⚙️ Settings](#️⚙️-settings)
26+
- [📖 How to Use](#📖-how-to-use)
27+
- [🎬 Live Previews](#🎬-live-previews)
28+
- [📄 Output Examples](#📄-output-examples)
29+
- [🔧 How It Works](#🔧-how-it-works)
30+
- [🛠️ Troubleshooting](#🛠️-troubleshooting)
31+
- [📜 License](#📜-license)
32+
- [💬 Contact](#💬-contact)
33+
34+
<hr style="border: 2px solid black; width: 100%; " />
35+
36+
## ✨ Features
37+
38+
<img src="./assets/folder_structure_pro.png" alt="Folder Structure Pro Features" style="border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
39+
40+
### 📁 Copy Folder Structure
1641

17-
- [Features](#features)
18-
- [Quick Start](#quick-start)
19-
- [Detailed Usage](#detailed-usage)
20-
- [Copy Folder Structure](#copy-folder-structure)
21-
- [Create Folder Structure](#create-folder-structure)
22-
- [Copy File Name](#copy-file-name)
23-
- [Settings](#settings)
24-
- [Preview](#preview)
25-
- [Setting](#settings-1)
26-
- [Context Menu](#context-menu)
27-
- [Copy File Name](#copy-file-name-2)
28-
- [Create Folder Structure](#create-folder-structure-2)
29-
- [Common Usage](#common-usage)
30-
- [With Git Ingest](#with-git-ingest)
31-
- [Copy Folder Structure Output](#copy-folder-structure-output)
32-
- [How It Works](#how-it-works)
33-
- [Troubleshooting](#troubleshooting)
34-
- [License](#license)
35-
- [Contact](#contact)
42+
- 🎯 **Two Output Formats**: JSON & Plain Text (GitIngest-style tree)
43+
- 🖱️ **Right-Click Integration**: Easy access from Explorer context menu
44+
- 🙈 **Respects .gitignore**: Automatically excludes ignored files
45+
-**Smart Filtering**: Skips node_modules and hidden files
3646

37-
## Features
47+
### 🏗️ Create Folder Structure
3848

39-
- Copy Folder Structure
40-
- Two output formats:
41-
- Plain Text (GitIngest-style tree)
42-
- JSON
43-
- Context menu integration
44-
- Respects .gitignore
49+
- 📝 **Multiple Input Formats**: Support for JSON and Plain Text
50+
- 🖥️ **Modern UI**: Live preview, validation, and line numbers
51+
- 🔄 **Smart Handling**: Replace/Skip prompts for existing files
52+
- 🗑️ **Safe Replace**: Sends replaced items to Trash
4553

46-
- Create Folder Structure
47-
- JSON and Plain Text inputs
48-
- Modern UI with live preview, validation, and line numbers
49-
- Replace/Skip existing items prompt (Replace sends to Trash)
54+
### 📄 Copy File Name
5055

51-
- Copy File Name
52-
- Quick file name copying to clipboard
56+
- **One-Click Copy**: Quick file name copying to clipboard
57+
- 🎯 **Simple & Fast**: Right-click any file to copy its name
5358

54-
## Quick Start
59+
<hr style="border: 2px solid black; width: 100%; " />
5560

56-
1. Install the extension
57-
2. Right-click any folder in Explorer
58-
3. Choose "Copy Folder Structure" or "Create Folder Structure"
61+
## ⚡ Quick Start
5962

60-
## Detailed Usage
63+
1. 📥 **Install** the extension from VS Code Marketplace
64+
2. 🖱️ **Right-click** any folder in Explorer
65+
3. 🎯 **Choose** "Copy Folder Structure" or "Create Folder Structure"
66+
4. 🎉 **Done!** Your structure is ready to use
6167

62-
### Copy Folder Structure
68+
<hr style="border: 2px solid black; width: 100%; " />
6369

64-
1. Right-click a folder in Explorer
65-
2. Select Copy Folder Structure
66-
3. Structure is copied in your preferred format (JSON/Plain Text)
70+
## 📖 How to Use
6771

68-
### Create Folder Structure
72+
### 📁 Copy Folder Structure
6973

70-
1. Right-click in Explorer or use Command Palette
71-
2. Choose Create Folder Structure
72-
3. Select the target directory
73-
4. Select format and paste structure
74-
5. Click Create
74+
1. 🖱️ Right-click a folder in VS Code Explorer
75+
2. 📋 Select **"Copy Folder Structure"**
76+
3. 📄 Structure is copied to clipboard in your preferred format (JSON/Plain Text)
7577

76-
### Copy File Name
78+
### 🏗️ Create Folder Structure
7779

78-
- Right-click any file → Copy File Name
80+
1. 🖱️ Right-click in Explorer **OR** use Command Palette (`Ctrl+Shift+P`)
81+
2. 🎯 Choose **"Create Folder Structure"**
82+
3. 📂 Select the target directory
83+
4. 📝 Choose format and paste your structure
84+
5. ✨ Click **Create** and watch the magic happen!
7985

80-
## Settings
86+
### 📄 Copy File Name
8187

82-
- outputFormat: JSON Format | Plain Text Format
83-
- ignorePatterns: patterns to ignore when copying
84-
- respectGitignore: whether to honor .gitignore
88+
- 🖱️ Right-click any file → 📋 **"Copy File Name"**
8589

86-
## Preview
90+
<hr style="border: 2px solid black; width: 100%; " />
8791

88-
### Settings
92+
## ⚙️ Settings
8993

90-
<img src="./assets/cfs_settings.webp" alt="Settings" style="height: 250px; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
94+
Configure the extension to work exactly how you want:
9195

92-
### Context Menu
96+
- 📄 **outputFormat**: Choose between JSON Format or Plain Text Format
97+
- 🚫 **ignorePatterns**: Specify patterns to ignore when copying structures
98+
- 🙈 **respectGitignore**: Honor .gitignore rules (recommended: enabled)
9399

94-
<img src="./assets/cfs_explorer_context.webp" alt="Explorer Context" style="height: 300px; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
100+
### 🎛️ Settings Preview
95101

96-
### Copy File Name
102+
<img src="./assets/cfs_settings.png" alt="Extension Settings" style="border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
97103

98-
<img src="./assets/copy_file_name.gif" alt="Copy File Name Example" style="height: 300px; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
104+
<hr style="border: 2px solid black; width: 100%; " />
99105

100-
### Create Folder Structure
106+
## 🎬 Live Previews
101107

102-
#### Common Usage
108+
### 🖱️ Context Menu Integration
103109

104-
<img src="./assets/common_usage.gif" alt="Common Usage" style="width: 100%; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
110+
<img src="./assets/context.png" alt="Explorer Context Menu" style="border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
105111

106-
#### With Git Ingest
112+
### 📄 Copy File Name in Action
107113

108-
<img src="./assets/usage_with_gitIngest.gif" alt="Usage With Git Ingest" style="width: 100%; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
114+
<img src="./assets/copy_file_name.gif" alt="Copy File Name Demo" style="border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
109115

110-
## Copy Folder Structure Output
116+
### 🏗️ Create Folder Structure
111117

112-
- JSON (files as type strings):
118+
#### 💼 Common Usage
119+
120+
<img src="./assets/common_usage.gif" alt="Common Usage Demo" style="width: 100%; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
121+
122+
#### 🔗 With Git Ingest Integration
123+
124+
<img src="./assets/usage_with_gitIngest.gif" alt="Git Ingest Integration Demo" style="width: 100%; border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
125+
126+
<hr style="border: 2px solid black; width: 100%; " />
127+
128+
## 📄 Output Examples
129+
130+
### 🗂️ JSON Format
131+
132+
Perfect for programmatic use - files are represented as type strings:
113133

114134
```json
115135
{
@@ -127,7 +147,9 @@
127147
}
128148
```
129149

130-
- Plain Text (GitIngest-style, human-friendly):
150+
### 🌳 Plain Text Format
151+
152+
Human-friendly GitIngest-style tree structure:
131153

132154
```
133155
Directory structure:
@@ -141,47 +163,77 @@ Directory structure:
141163
└── page.tsx
142164
```
143165

144-
Plain Text rules:
166+
### 📝 Plain Text Rules:
167+
168+
- ✅ First line is treated as a header (can contain any text)
169+
- 🔗 Every line must use tree connectors (`├──` or `└──`)
170+
- 📁 Exactly one root directory ending with `/`
171+
- 📏 Consistent indentation (increases by one level each time)
172+
- ⚠️ Invalid lines are highlighted; confirmation required if errors exist
145173

146-
- First line is ignored as a header (may contain any text)
147-
- Every line must use connectors (├── or └──; ASCII |-- or `-- also supported)
148-
- Exactly one root directory (level 0) and it must end with `/`
149-
- Indentation must increase by exactly one level
150-
- The UI shows invalid line numbers; if invalid, Create asks for confirmation before proceeding
174+
<hr style="border: 2px solid black; width: 100%; " />
151175

152-
## How It Works
176+
## 🔧 How It Works
153177

154-
### Copy Folder Structure
178+
### 📁 Copy Folder Structure
155179

156-
1. Scans the folder while respecting .gitignore
157-
2. Excludes node_modules and hidden files by default
158-
3. Copies in the selected format:
159-
- JSON: hierarchical object; files are type strings (e.g., "index": "ts")
160-
- Plain Text: GitIngest-style tree
180+
1. 🔍 **Scans** the selected folder intelligently
181+
2. 🙈 **Respects** .gitignore and exclude patterns
182+
3. 🚫 **Filters out** node_modules and hidden files automatically
183+
4. 📋 **Copies** structure in your chosen format (JSON or Plain Text)
161184

162-
### Create Folder Structure
185+
### 🏗️ Create Folder Structure
163186

164-
1. Reads input from the webview
165-
2. Validates and parses (JSON or Plain Text)
166-
3. Prompts to Replace/Skip if target items exist; Replace sends to Trash
167-
4. Generates folders and files (no overwrite by default)
187+
1. 📖 **Reads** input from the modern webview interface
188+
2. **Validates** and parses structure (JSON or Plain Text)
189+
3. ⚠️ **Prompts** for Replace/Skip when items already exist
190+
4. **Generates** folders and files safely (no accidental overwrites)
168191

169-
### Copy File Name
192+
### 📄 Copy File Name
170193

171-
1. Right-click a file in Explorer
172-
2. Copies the file name to clipboard
194+
1. 🖱️ **Right-click** any file in Explorer
195+
2. 📋 **Copies** the file name directly to clipboard
173196

174-
## Troubleshooting
197+
<hr style="border: 2px solid black; width: 100%; " />
175198

176-
- No Option in Context Menu: Reload VS Code (Ctrl+Shift+P → Reload Window)
177-
- Clipboard Not Working: Check system permissions
178-
- Input Error (Create): Ensure input follows JSON or Plain Text format
179-
- Copy File Name Not Working: Ensure a valid local file is selected
199+
## 🛠️ Troubleshooting
180200

181-
## License
201+
### ❓ Common Issues & Solutions:
182202

183-
MIT — see [LICENSE](./LICENSE)
203+
**🚫 No Option in Context Menu**
184204

185-
## Contact
205+
- 🔄 **Solution**: Reload VS Code (`Ctrl+Shift+P` → "Reload Window")
206+
207+
**📋 Clipboard Not Working**
208+
209+
- 🔐 **Solution**: Check system clipboard permissions
210+
211+
**❌ Input Error (Create Function)**
212+
213+
- 📝 **Solution**: Ensure input follows correct JSON or Plain Text format
214+
215+
**📄 Copy File Name Not Working**
216+
217+
- 📁 **Solution**: Make sure you've selected a valid local file (not a folder)
218+
219+
<hr style="border: 2px solid black; width: 100%; " />
220+
221+
## 📜 License
222+
223+
MIT License — see [LICENSE](./LICENSE) for details
224+
225+
<hr style="border: 2px solid black; width: 100%; " />
226+
227+
## 💬 Contact
228+
229+
🐛 **Found a bug?** 🚀 **Have a feature request?**
230+
231+
Open an issue on our [GitHub repository](https://github.com/ShreyPurohit/folder-structure-pro-vscode/issues)
232+
233+
<hr style="border: 2px solid black; width: 100%; " />
234+
235+
<p align="center">
236+
<strong>Made with ❤️ for developers worldwide 🌍</strong>
237+
</p>
186238

187-
Open an issue on the [GitHub repository](https://github.com/ShreyPurohit/folder-structure-pro-vscode/issues)
239+
> ⭐ If this extension helped you, please consider giving it a star on the [GitHub](https://github.com/ShreyPurohit/folder-structure-pro-vscode/) and marketplace!

assets/cfs_explorer_context.webp

-21.8 KB
Binary file not shown.

assets/cfs_settings.png

50.3 KB
Loading

assets/cfs_settings.webp

-29.3 KB
Binary file not shown.

assets/common_usage.gif

3.83 MB
Loading

assets/context.png

433 KB
Loading

assets/copy_file_name.gif

4.8 MB
Loading

assets/copy_file_name.webp

-16.2 KB
Binary file not shown.

assets/folder_structure_pro.png

347 KB
Loading

0 commit comments

Comments
 (0)