📋 Clipboard Manager Pro
Advanced clipboard management for VS Code with multi-clipboard history, cross-instance sync, and intelligent search

✨ Features

🎯 Core Features
- 📜 Unlimited Clipboard History - Never lose your copied content again
- 📌 Pin Important Items - Keep frequently used snippets at your fingertips (up to 20 items)
- 🚫 Smart Duplicate Prevention - Duplicate items automatically move to top instead of creating duplicates
- 🎨 Separated Sections - Pinned and History sections with colored, collapsible headers
- ⚡ Inline Action Buttons - Copy, Pin/Unpin, Delete buttons directly on each item
- 🔍 Intelligent Search - Fuzzy search with language filtering and advanced criteria
- 🌐 Cross-Instance Sync - Seamlessly sync clipboard across multiple VS Code windows
- 🎨 Syntax Highlighting - Automatic language detection for code snippets
- ⚡ Lightning Fast - Optimized for large datasets with lazy loading and virtual scrolling
- 🔒 Security First - Sensitive data detection and secure file handling
- 🎭 Multi-Variant Support - Works with VS Code, Cursor, Windsurf, Kiro, Qoder, and Theia
🚀 Advanced Features
- Smart Language Detection - Automatically detects 20+ programming languages
- Advanced Filtering - Filter by language, content type, date range, and more
- Real-time Search - Debounced search with instant results
- Content Preview - Hover tooltips with full content preview
- Export/Import - Backup and restore your clipboard history
- Statistics Dashboard - Track your clipboard usage patterns
- Keyboard Shortcuts - Quick access to all features
- Customizable Settings - Configure max history size, storage location, and more
📸 Screenshots
Quick Pick Interface (Ctrl+Shift+V)
┌─────────────────────────────────────────────────────────┐
│ 🔍 Select clipboard item (3 items) │
├─────────────────────────────────────────────────────────┤
│ 📌 function test() { return true; } javascript 2m │
│ console.log("Hello World"); javascript 5m │
│ SELECT * FROM users; sql 10m │
└─────────────────────────────────────────────────────────┘
📋 CLIPBOARD MANAGER PRO
📌 Pinned (2 items) ← Yellow/Collapsible
├── 📌 API_KEY=... [📋][📌][🗑️]
└── 📌 function helper()... [📋][📌][🗑️]
📜 History (15 items) ← Blue/Collapsible
├── 📄 console.log("test") [📋][📍][🗑️]
├── 📄 import React... [📋][📍][🗑️]
└── 📄 SELECT * FROM... [📋][📍][🗑️]
[📋] = Copy [📌/📍] = Pin/Unpin [🗑️] = Delete
🚀 Quick Start
Installation
- Open VS Code
- Press
Ctrl+P (or Cmd+P on Mac)
- Type
ext install clipboard-manager-pro
- Press Enter
Basic Usage
- Copy text as usual (
Ctrl+C or Cmd+C)
- View history with
Ctrl+Shift+V (or Cmd+Shift+V on Mac)
- Select item from the list to paste
- Pin important items by right-clicking in the sidebar
⌨️ Keyboard Shortcuts
| Shortcut |
Action |
Description |
Ctrl+Shift+V |
Show History |
Open clipboard history quick pick |
Ctrl+Alt+V |
Show Sidebar |
Open clipboard sidebar panel |
Ctrl+Shift+F |
Search Items |
Search clipboard with filters |
Ctrl+Shift+Delete |
Clear History |
Clear clipboard history (keeps pinned) |
Note: On macOS, use Cmd instead of Ctrl
🎛️ Configuration
Settings
Access settings via File > Preferences > Settings and search for "Clipboard Manager Pro"
{
// Maximum number of clipboard items to keep (1-10000)
"clipboardManagerPro.maxHistorySize": 100,
// Storage location: "workspace" or "global"
"clipboardManagerPro.storageLocation": "workspace",
// Automatically detect programming language
"clipboardManagerPro.autoDetectLanguage": true,
// Show content preview in clipboard history
"clipboardManagerPro.showPreview": true
}
Storage Locations
Workspace Storage
- Location:
.putra/clipboard-pro-putra.json in your workspace
- Scope: Per-workspace clipboard history
- Sync: Automatically syncs across VS Code instances in the same workspace
- Best for: Project-specific snippets and code
- Note: Changed from
.vscode/clipboard.json in v1.0.0
Global Storage
- Location: VS Code's global storage directory
- Scope: Shared across all workspaces
- Sync: No cross-instance sync
- Best for: General-purpose clipboard items
🔍 Advanced Usage
Search and Filtering
Basic Search
Type in quick pick: "function"
Results: All items containing "function"
Language Filter
1. Open sidebar
2. Click filter icon
3. Select language (e.g., "JavaScript")
4. View filtered results
Advanced Search
// Search with multiple criteria
- Query: "api"
- Language: "javascript"
- Date Range: Last 7 days
- Content Type: Code
- Min Length: 50 characters
Pinning Items
Why Pin?
- Quick access to frequently used snippets
- Preserved when clearing history
- Organized separately from regular history
How to Pin:
- Right-click item in sidebar → "Pin Item"
- Or use command palette: "Clipboard Manager Pro: Pin Item"
Limits:
- Maximum 20 pinned items
- Pinned items don't count toward history size limit
Export and Import
Export Clipboard Data
1. Command Palette → "Clipboard Manager Pro: Export Data"
2. Choose location and filename
3. Save as JSON file
Import Clipboard Data
1. Command Palette → "Clipboard Manager Pro: Import Data"
2. Select JSON file
3. Confirm import (replaces current data)
Export Format:
{
"version": "1.0.0",
"exportDate": "2025-01-18T10:30:00.000Z",
"statistics": {
"totalItems": 150,
"pinnedItems": 5,
"historyItems": 145
},
"data": {
"history": [...],
"pinnedItems": [...]
}
}
🔒 Security and Privacy
Sensitive Data Detection
Clipboard Manager Pro automatically detects and warns about sensitive data:
- 🔴 High Severity: API keys, passwords, private keys, JWT tokens, credit cards, SSN
- 🟡 Medium Severity: Database connection strings
- 🟢 Low Severity: Email addresses, IP addresses
When sensitive data is detected:
- Warning dialog appears
- Options: Proceed, Redact, or Cancel
- Redacted data shows
[REDACTED: Type]
Secure File Handling
- ✅ Atomic file writes (temp file + rename)
- ✅ File permission validation
- ✅ Content verification after write
- ✅ Automatic backup on corruption
- ✅ XSS prevention in previews
Best Practices
- ❌ Don't copy passwords or API keys
- ✅ Do review clipboard content before sharing
- ✅ Do clear history regularly
- ✅ Do use workspace storage for project-specific data
- ✅ Do enable sensitive data warnings
🎭 Compatibility
VS Code Variants
| Variant |
Version |
Status |
Notes |
| VS Code |
1.100+ |
✅ Full Support |
All features available |
| Cursor |
Latest |
✅ Full Support |
All features available |
| Windsurf |
Latest |
✅ Full Support |
All features available |
| Kiro |
Latest |
✅ Full Support |
All features available |
| Qoder |
Latest |
✅ Full Support |
All features available |
| Theia |
1.40+ |
⚠️ Partial |
Limited clipboard API |
| Platform |
Status |
Notes |
| Windows |
✅ Full Support |
All features available |
| macOS |
✅ Full Support |
All features available |
| Linux |
✅ Full Support |
All features available |
📊 Data Structure
Location: .putra/clipboard-pro-putra.json
{
"version": "1.0.0",
"history": [
{
"id": "uuid-v4",
"content": "console.log('Hello');",
"preview": "console.log('Hello');",
"timestamp": "2025-01-18T10:30:00.000Z",
"language": "javascript",
"isPinned": false,
"metadata": {
"source": "copy",
"filePath": "/path/to/file.js",
"lineNumber": 42,
"selectionRange": {
"start": { "line": 41, "character": 0 },
"end": { "line": 41, "character": 23 }
}
}
}
],
"pinnedItems": [],
"settings": {
"maxHistorySize": 100,
"autoDetectLanguage": true,
"showPreview": true,
"storageLocation": "workspace"
},
"lastModified": "2025-01-18T10:30:00.000Z"
}
🐛 Troubleshooting
Common Issues
Clipboard history not saving
Solution:
- Check workspace folder is open
- Verify
.putra folder permissions (changed from .vscode)
- Try switching to global storage
- Check output panel for errors
- Ensure folder
.putra can be created in workspace root
Cross-instance sync not working
Solution:
- Ensure using workspace storage
- Verify both instances use same workspace
- Check file watcher is enabled
- Restart VS Code instances
High memory usage
Solution:
- Reduce
maxHistorySize setting
- Clear old clipboard items
- Disable auto-detect language if not needed
- Check for very large clipboard items
Search not finding items
Solution:
- Rebuild search index (restart extension)
- Check search query syntax
- Try exact match instead of fuzzy
- Verify items exist in history
Known Issues
- Theia: Limited clipboard API support
- Large Files: Items > 1MB may be truncated
- Binary Data: Not supported, text only
- Migration: Old data in
.vscode/clipboard.json not automatically migrated to .putra/clipboard-pro-putra.json
Migrating from Old Version
If you have existing data in .vscode/clipboard.json:
# Windows
mkdir .putra
copy .vscode\clipboard.json .putra\clipboard-pro-putra.json
# macOS/Linux
mkdir -p .putra
cp .vscode/clipboard.json .putra/clipboard-pro-putra.json
Getting Help
- 📖 Check this README
- 🐛 Report an issue
- 💬 Discussions
- 📧 Email: putra.adi.jaya.soft@gmail.com
🎯 Use Cases
For Developers
- Code Snippets: Save frequently used code patterns
- API Responses: Keep test data for debugging
- Configuration: Store config snippets across projects
- Documentation: Collect code examples for docs
For Writers
- Research Notes: Collect quotes and references
- Templates: Store document templates
- Formatting: Keep formatting codes handy
- Translations: Manage multilingual content
For DevOps
- Commands: Store frequently used CLI commands
- Configurations: Keep deployment configs
- Scripts: Manage automation scripts
- Credentials: (Use with caution and redaction)
Benchmarks
| Operation |
Items |
Time |
Target |
| Add Item |
1 |
< 10ms |
✅ |
| Search |
1000 |
< 50ms |
✅ |
| Filter |
1000 |
< 30ms |
✅ |
| Pin/Unpin |
1 |
< 20ms |
✅ |
| Load History |
1000 |
< 100ms |
✅ |
| Save History |
1000 |
< 200ms |
✅ |
Optimization Features
- ⚡ Lazy Loading: Load items in chunks of 50
- 🎯 Virtual Scrolling: Render only visible items
- 🔍 Optimized Search: Indexed search with tokenization
- 💾 Incremental Sync: Batch file writes every 5 seconds
- 🧠 Memory Monitoring: Automatic cleanup on high usage
🤝 Contributing
We welcome contributions! Here's how you can help:
Development Setup
# Clone repository
git clone https://github.com/PutraAdiJaya/clipboard-manager-pro.git
cd clipboard-manager-pro
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Run tests
npm test
# Watch mode
npm run watch
Project Structure
clipboard-manager-pro/
├── src/
│ ├── commands/ # Command handlers
│ ├── interfaces/ # TypeScript interfaces
│ ├── models/ # Data models
│ ├── services/ # Core services
│ ├── ui/ # UI components
│ ├── utils/ # Utility functions
│ ├── test/ # Test files
│ └── extension.ts # Extension entry point
├── docs/ # Documentation
├── .vscode/ # VS Code settings
└── package.json # Extension manifest
Guidelines
- Code Style: Follow TypeScript best practices
- Testing: Write tests for new features
- Documentation: Update README for user-facing changes
- Commits: Use conventional commit messages
- Pull Requests: Include description and tests
Running Tests
# Unit tests
npm test
# Integration tests
npm run test:integration
# Performance tests
npm run test:performance
# Coverage report
npm run test:coverage
📝 Changelog
Version 1.0.1 (2025-10-27)
🐛 Bug Fixes
- Fixed workspace storage accessibility check
- Improved
.putra folder creation on first use
- Enhanced storage initialization to prevent fallback to global storage
Version 1.0.0 (2025-10-27)
✨ Features
- Initial release
- Unlimited clipboard history
- Pin up to 20 items
- Smart duplicate prevention - Items move to top instead of duplicating
- Separated sections - Pinned and History with collapsible headers
- Inline action buttons - Copy, Pin, Delete on each item
- Colored section headers - Yellow for Pinned, Blue for History
- Custom sidebar icon - Clean clipboard icon
- Fuzzy search with language filtering
- Cross-instance sync
- Automatic language detection (20+ languages)
- Export/Import functionality
- Sensitive data detection
- Security warnings and redaction
- Performance optimizations
- Custom storage location -
.putra/clipboard-pro-putra.json
🐛 Bug Fixes
📚 Documentation
- Comprehensive README
- API documentation
- Security guidelines
- Troubleshooting guide
📄 License
MIT License - see LICENSE file for details
🙏 Acknowledgments
- VS Code Team - For the excellent extension API
- Fuse.js - For fuzzy search functionality
- Contributors - Thank you to all contributors!
🔗 Links
Made with ❤️ by Putra Adi Jaya for developers
⭐ Star us on GitHub if you find this useful!