A VS Code extension that copies code from all files in your project, excluding specified folders and file patterns, and formats the output with file paths and proper spacing.
Features
Copy all text files from your workspace into a single document
Exclude specific folders (configurable)
Exclude specific file patterns (configurable)
Add file path headers and spacing between file contents
Option to copy to clipboard or create a new file
Skip binary files and large files automatically
Usage
Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P on macOS)
Type "Copy Project Files" and select the command
Choose whether to modify the excluded folders or file patterns
Choose whether to save as a file or copy to clipboard
Extension Settings
This extension contributes the following settings:
fileCopier.excludedFolders: Array of folder names to exclude when copying files (default: ["node_modules", ".git", ".vscode"])
fileCopier.excludedPatterns: Array of file patterns to exclude (default: [".exe", ".dll", ".jpg", ".png", "*.pdf"])
Installation
From VS Code Marketplace:
Open VS Code
Go to the Extensions view (Ctrl+Shift+X)
Search for "Project File Copier"
Click Install
From VSIX file:
Download the .vsix file
Open VS Code
Go to the Extensions view (Ctrl+Shift+X)
Click on the "..." at the top of the Extensions view
Select "Install from VSIX..."
Navigate to and select the downloaded .vsix file
Development Installation:
Clone the repository
Open the folder in VS Code
Run npm install
Press F5 to run the extension in a new Extension Development Host window
Use the command "Copy Project Files" from the Command Palette
Building the VSIX package
Install vsce (VS Code Extension Manager) if not already installed:
npm install -g @vscode/vsce
Navigate to the extension folder
Run:
npm run package
or
vsce package
This will create a .vsix file in the same directory
Release Notes
0.1.0
Initial release
Support for folder exclusions
Support for file pattern exclusions
Copy to clipboard or create file options
Privacy
This extension does not collect any data or send any information outside your local machine.