A Visual Studio Code extension that allows you to browse your workspace in a tree view with checkboxes and copy selected file contents to clipboard.
Features
📂 Tree view of workspace folders and files
✅ Checkboxes for selecting files and folders
📋 "Copy Selected Files" button to copy file contents to clipboard
📄 Formats copied content with file path headers
🚫 Ignores common dependency folders (e.g., node_modules, .git, dist, etc.)
Application Flow
Extension Activation: When VS Code starts, the extension registers a status bar item with "📂 Copy Files" text
Panel Opening: User clicks the status bar button → triggers codeclippy.openPanel command
Workspace Scanning: Extension scans the workspace folder structure using tree.js (ignores common folders like node_modules, .git)
Tree Rendering: Webview panel displays the folder structure with interactive checkboxes and collapsible folders
File Selection: User selects files/folders via checkboxes (folder selection propagates to all children)
Content Copying: User clicks "Copy Selected Files" button → webview sends selected file paths to extension
File Reading: Extension reads actual file contents from filesystem using Node.js fs module
Clipboard Writing: Extension formats content with file path headers and copies to clipboard via VS Code API
Notification: User receives success/error notification about the copy operation
graph TD
A[VS Code Starts] --> B[Extension Activates]
B --> C[Status Bar Item Created]
C --> D[User Clicks Status Bar]
D --> E[Open Webview Panel]
E --> F[Scan Workspace with tree.js]
F --> G[Render Tree in Webview]
G --> H[User Selects Files]
H --> I[Click Copy Button]
I --> J[Send File Paths to Extension]
J --> K[Read File Contents]
K --> L[Format & Copy to Clipboard]
L --> M[Show Notification]