Overview Version History Q & A Rating & Review
Paste Buffer
A VS Code extension that keeps a clipboard history and lets you paste previously copied text from a QuickPick list.
Features
Clipboard history : Tracks text you copy, including copies made outside VS Code
History picker : Press Ctrl+Shift+V (Cmd+Shift+V on macOS) to open a picker listing your history, most recent first
Cycle through history : Press the keybinding again while the picker is open to move to the next item
Works in inputs too : The commands work in the editor and in other text inputs such as the find and search boxes
In-memory storage : History is kept in RAM and is not persisted between sessions
Usage
Copy text as you normally do
Press Ctrl+Shift+V (Cmd+Shift+V on macOS) to open the history picker
Press Ctrl+Shift+V again to cycle through items, or use the arrow keys or type to filter
Press Enter to paste the highlighted item at the cursor
Commands and Keybindings
Command
Key (Windows/Linux)
Key (macOS)
When
Paste Buffer: Show Clipboard History
Ctrl+Shift+V
Cmd+Shift+V
Editor or text input focused, picker not open
Paste Buffer: Cycle to Next Item
Ctrl+Shift+V
Cmd+Shift+V
Picker is open
Paste Buffer: Copy
Ctrl+C
Cmd+C
Editor or text input focused, picker not open
Paste Buffer: Reset History
none
none
Run from the Command Palette to clear all history
While the picker is open, Ctrl+C is not overridden, so it behaves normally in the picker's own text box.
How It Works
The clipboard is polled every pasteBuffer.refreshRateMs (default 250 ms), and any new text is added to the history
Paste Buffer: Copy runs the normal copy action and records the result explicitly, so re-copying identical text moves it back to the top
Duplicate entries are merged and moved to the top of the list
Selecting an item writes it to the clipboard and runs the standard paste action
Limitations
History is stored only in RAM and is lost when VS Code closes
Only text is tracked (not rich text or files)
History holds at most pasteBuffer.historyLimit items (default 50); the oldest are discarded
Not active in the integrated terminal
Extension Settings
Set these in your user settings.json:
Setting
Default
Description
pasteBuffer.historyLimit
50
Maximum number of history entries (minimum 1)
pasteBuffer.refreshRateMs
250
Clipboard polling interval in milliseconds (minimum 50)
{
"pasteBuffer.historyLimit": 100,
"pasteBuffer.refreshRateMs": 500
}
Changes take effect immediately, with no reload needed.
Requirements
Building
npm install
npm run compile
npm run package
npm run package produces paste-buffer-<version>.vsix. Install it with code --install-extension paste-buffer-0.1.0.vsix or Extensions: Install from VSIX... .
Release Notes
0.1.0
Initial release
Clipboard history tracking
QuickPick picker with cycling support