Stop manually copying files into ChatGPT. Browse your workspace, filter with
.copyignore, and send structured code context to any LLM — right from VS Code.
CopyMate Pro adds a dedicated sidebar panel to VS Code where you can:
- Browse your entire workspace file tree with checkbox selection
- Filter files and folders using a
.copyignorefile (same glob syntax as.gitignore) - Copy selected file contents to clipboard in a structured, LLM-friendly format
- Copy your folder tree as a clean ASCII diagram
No more switching between your editor and browser to manually paste code. Select, copy, paste into Claude, ChatGPT, or GitHub Copilot — done.
Search for CopyMate Pro in the Extensions panel (Ctrl+Shift+X) and click Install.
code --install-extension copymate-pro-0.1.0.vsixOr via the Extensions panel: ··· menu → Install from VSIX…
- Open a workspace folder in VS Code
- Click the CopyMate Pro icon in the Activity Bar (left sidebar)
- Use checkboxes to select files
- Click Copy Selected (📋) to copy file contents to clipboard
- Paste directly into your LLM chat
A dedicated sidebar panel shows your full workspace tree. Click any checkbox to select individual files or entire folders. Selecting a folder automatically selects all files inside it.
Create a .copyignore file at your workspace root to exclude files and folders from the tree. Uses the same glob syntax as .gitignore.
# Example .copyignore
node_modules/
dist/
out/
*.env
.env.local
package-lock.json
*.vsixThe tree auto-refreshes whenever you save .copyignore.
Copies all checked files to clipboard in a structured format that LLMs parse well:
// ── src/extension.ts ──
import * as vscode from 'vscode';
// ... file content ...
// ── src/types.ts ──
export interface FileNode {
// ... file content ...
Copies your workspace structure as a tree diagram — useful for giving an LLM context about your project layout:
my-project/
├── src/
│ ├── commands/
│ │ └── index.ts
│ ├── core/
│ │ ├── ClipboardWriter.ts
│ │ └── IgnoreFilter.ts
│ └── extension.ts
├── package.json
└── README.md
| Icon | Command | Description |
|---|---|---|
| ✅ | Select All | Check all visible files in the tree |
| ✖ | Unselect All | Uncheck all files |
| 📋 | Copy Selected | Copy checked file contents to clipboard |
| 🌲 | Copy Tree | Copy folder tree structure to clipboard |
| 🚫 | Add to .copyignore | Add checked items to .copyignore |
| 🔄 | Refresh | Reload the file tree |
Right-click any file or folder in the CopyMate panel to quickly add it to .copyignore without opening the file manually.
Create a .copyignore file in the root of your workspace (same directory as package.json):
# Dependencies and build output
node_modules/
dist/
out/
.next/
build/
# Environment and secrets
*.env
.env.local
.env.production
# Lock files (usually too noisy for LLM context)
package-lock.json
yarn.lock
pnpm-lock.yaml
# Binary and generated files
*.vsix
*.png
*.jpg
*.svg
# IDE files
.vscode/
.idea/Glob syntax supported:
node_modules/— ignore a folder by name anywhere in the tree*.env— ignore files matching a patternsrc/generated/— ignore a specific path
- VS Code
^1.120.0 - A workspace folder must be open
- Binary files (images, fonts, compiled outputs) produce unreadable content when copied. Add them to
.copyignoreto exclude them from the tree. - The extension requires at least one workspace folder to be open. It does not work with single-file windows.
- File tree with checkbox selection
.copyignorefiltering with glob support- Copy selected file contents to clipboard in structured format
- Copy folder tree as ASCII diagram
- Select All / Unselect All
- Add to
.copyignorevia right-click or toolbar button - Auto-reload on
.copyignoresave - Progress notification while reading large file sets
Pull requests and issues are welcome at github.com/Alpha-1729/copymate-pro.
Alpha-1729 · github.com/Alpha-1729
MIT © Alpha-1729