Cloud Clipboard
Cloud Clipboard is a lightweight tool that lets you copy code in one VS Code instance and paste it instantly in another, across any environment where VS Code runs. Move code snippets, full files, or entire directory structures.
Features
- Instant Sync: Copy on one instance and paste instantly to another.
- Multi-Slot Support: Save multiple snippets to different "slots" in the cloud for better organization.
- Cross-Platform: Works wherever VS Code runs, including Windows, macOS, Linux, and VS Code for the Web.
- Flexible Copying:
- Text: Copy highlighted snippets directly.
- Files: Copy a single file or select multiple files to cloud-copy.
- Folders: Copy entire folder structures, including multiple folders at once.
- Smart Pasting:
- As Text: Paste content directly into your active editor.
- As Files: When pasting content copied from multiple files/folders, the extension automatically switches to file-paste mode.
- Smart Routing: Upon pasting files, you will be prompted for a folder name.
- Enter a path to create a new directory for the content.
- Clipboard Management: Delete saved clipboards to keep your cloud storage clean.
- Namespace Profiles: Name and quickly switch between namespaces from the status bar or Cloud Clipboard: Switch Namespace Profile, instead of retyping them.
- Pin/Star: Pin frequently-used clipboards from the paste/delete picker (click the star) so they always sort to the top — this is local to your machine, not synced to the server.
- Search/Filter: Type in the paste/delete picker to filter by name or by size/file-count/date; pinned items stay pinned to the top even while filtering.
- Offline Fallback: If the server is unreachable, paste and delete fall back to the last-fetched clipboard list/content instead of failing outright, clearly marked as cached. Use Cloud Clipboard: Clear Local Cache to wipe it manually — this only affects the local fallback, not anything on the server.
Usage
- Copy: Right-click a selection, file, or folder in the Explorer and select Cloud Clipboard: Copy.
- Paste:
- As Text: Right-click inside an open file and select Cloud Clipboard: Paste.
- As Files: Right-click a folder or empty space in the Explorer and select Cloud Clipboard: Paste. Follow the prompt to specify a directory name.
- Manage: Use Cloud Clipboard: Delete to remove stored items.
- Namespace: Click the status bar item (or run Cloud Clipboard: Switch Namespace Profile) to switch namespaces, add a named profile, or type one directly. Leaving the input blank unsets the active namespace.
- Pin: In the paste/delete picker, click the star icon next to a clipboard to pin it to the top of the list.
Offline: If the server can't be reached, paste/delete automatically fall back to the last-fetched list/content for that namespace, with a warning that it may be out of date. Run Cloud Clipboard: Clear Local Cache any time to reset it.
You can manage your clipboards through the control panel UI when using the default API endpoint. Visit https://cloud-clipboard-api.onrender.com to get started.
Limitations
The following limitations apply only when using the default API Endpoint.
- Permanent Deletion: Deletions are permanent and cannot be undone.
- Total File Size: The combined size of all selected files must not exceed 1MB. Copy checks this locally before uploading and blocks the attempt with an error if you're over, rather than waiting on a failed upload to find out.
Example Usage
### Copy

Paste

Delete

To keep this tool lightweight, private, free to use, and avoid overloading free-tier resources, you are encouraged to provide your own API endpoint.
View Infrastructure & Setup
### Why a Custom Endpoint?
- **Zero Data Logging:** Since you host the backend, your clipboard data never passes through a third-party server.
- **Resource Management:** By setting up your own endpoint (e.g., on a free tier like Render, Railway, or a home Raspberry Pi), you avoid shared rate limits and service "cold starts."
- **Full Control:** You decide how long your clipboard history is stored and who has access.
Setup & API Configuration
1. API Specifications
The client communicates via a RESTful interface. Each request requires a namespace (your private ID) and a clipboard (a specific slot).
1.2 API Reference
| Method |
Endpoint |
Query Parameters |
Content-Type |
Body |
Action |
| GET |
/list |
namespace, sort |
None |
None |
Returns an array of available clipboards with metadata e.g. [{ "name": string, "size": number, "fileCount": number, "updatedAt": string }] |
| GET |
/content |
namespace, clipboard |
None |
None |
Returns the content for that clipboard e.g. [{ "path": string, "content": string }] |
| POST |
/ |
namespace, clipboard |
application/json |
[{"path": string, "content": string}] |
Overwrites the clipboard with the new content body. |
| DELETE |
/ |
namespace |
application/json |
[string] |
Deletes the items matching the provided body. |
2. VS Code Extension Configuration
To link your VS Code extension to your API Endpoint:
- Open Settings (
Ctrl + , or Cmd + ,).
- Search for "Cloud Clipboard".
- Fill in your specific details:
- API Endpoint:
https://example.com
- Connection:
example
Caution: Make sure your API Endpoint does not end with a slash /.
3. Error Handling
To ensure Cloud Clipboard handles issues gracefully, your API should return the following status codes:
- 200 OK: Request successful.
- 400 Bad Request: Missing namespace or clipboard parameters, or invalid body format.
- 500 Internal Server Error: Server-side failure.
Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create.
Any contributions are greatly appreciated.
License
Distributed under the MIT License.
| |