Files Copier is a powerful JetBrains plugin that copies the contents of selected files and folders in clean, well-formatted Markdown blocks directly to your clipboard.
Perfect for sharing code, preparing AI prompts, or documenting logic during reviews.
-
✅ Multi-file and folder support
Select one or more files/folders in Project View. It recursively handles all files inside folders. -
✅ Project-relative file path headers
Each file is prefixed with a header showing its path from the project root (e.g.### src/components/Button.tsx). -
✅ Markdown code blocks with language hints
File contents are wrapped in triple backticks (```) with appropriate syntax hints based on file extension (e.g.typescript,kotlin,html...). -
✅ Duplicate prevention
If you select both a folder and its files, each file is copied only once. -
✅ Hidden file skip
Ignores files like.DS_Store,.gitignore, and others that shouldn't be copied. -
✅ Immediate feedback
A small notification appears in the bottom-right corner showing how many files were copied. -
✅ 3 convenient ways to trigger
- Toolbar button
- Project View right-click menu
- Keyboard shortcut
- Mac: ⌘ + ⌥ + C
- Windows/Linux: Ctrl + Alt + C
- Build the plugin ZIP (see Build section).
- In JetBrains IDE:
Settings → Plugins → ⚙ → Install Plugin from Disk - Select the
.zipfile inbuild/distributions/ - Restart the IDE.
This plugin uses the Gradle IntelliJ Plugin.
./gradlew build- Output will be at:
build/distributions/files-copier-*.zip
./gradlew runIde-
Open the Project View in your JetBrains IDE (e.g. IntelliJ, WebStorm, PyCharm).
-
Select any number of files and/or folders.
-
Trigger copy via:
-
🔘 Toolbar button
-
🖱 Right-click →
Copy Files Content to Clipboard -
⌨ Shortcut:
- Mac:
⌘ + ⌥ + C - Windows/Linux:
Ctrl + Alt + C
- Mac:
-
-
✅ Notification will confirm the number of files copied.
-
🧩 Paste the Markdown snippet anywhere: GitHub, Slack, Notion, ChatGPT, etc.
Here's how your clipboard output looks after copying files:
### src/components/Button.tsx
```typescript
import React from 'react';
export function Button() {
return <button>Click me</button>;
}
```
### src/utils/helper.ts
```typescript
export const add = (a: number, b: number) => a + b;
```MIT License
See LICENSE for full terms.