File Joiner Extension for Visual Studio Code
Overview
File Joiner is a Visual Studio Code extension that allows you to easily combine the contents of all files within a selected folder (including subfolders) into a single document. It also copies the combined content to your clipboard for convenient sharing or further processing.
Features
- Join all files in a selected folder and its subfolders
- Preserve folder structure in the output with comments indicating file paths
- Automatically copy the combined content to the clipboard
- Open the combined content in a new document for immediate viewing and editing
Installation
From VS Code Marketplace
- Open Visual Studio Code
- Go to the Extensions view (Ctrl+Shift+X)
- Search for "File Joiner"
- Click "Install"
Manual Installation
- Download the
.vsix
file from the releases page
- In VS Code, go to the Extensions view (Ctrl+Shift+X)
- Click on the "..." at the top-right of the Extensions view
- Choose "Install from VSIX..."
- Select the downloaded
.vsix
file
Usage
- In the VS Code file explorer, right-click on the folder you want to process
- Select "Join Files in Folder" from the context menu
- The extension will:
- Combine all files in the selected folder and its subfolders
- Copy the combined content to your clipboard
- Open a new document containing the combined content
The combined content will include comments indicating the relative path of each file, helping you understand the structure of the joined files.
Example Output
// File: src/index.ts
import { app } from './app';
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
// File: src/app.ts
import express from 'express';
export const app = express();
app.get('/', (req, res) => {
res.send('Hello, World!');
});
// File: src/utils/logger.ts
export function log(message: string) {
console.log(`[${new Date().toISOString()}] ${message}`);
}
Configuration
Currently, this extension does not require any additional configuration.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
No license at this time
Support
If you encounter any problems or have any suggestions, please open an issue on our GitHub repository.