Nifty Workspace Keybindings
Keybindings per project: put them in .vscode/keybindings.json and they work only in that workspace, shared with your team through Git. Something VS Code doesn't do on its own.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features



VS Code has workspace settings, tasks and launch configurations, but no workspace keybindings: every shortcut applies everywhere. This extension adds them.
- Put keybindings in
.vscode/keybindings.json, in the same format as your own keybindings.json, with when clauses and args. You get completion and validation for command names too. Commit the file and your whole team gets the shortcuts.
- They only work in that workspace. The extension copies them into your user
keybindings.json, each limited by a condition that is only true while this workspace is open (nifty.wk.1a2b3c4d && …). Other projects never see them, and your own keybindings are never touched.
- Edits apply straight away. Change
.vscode/keybindings.json and the copies update.
- Safe by default. The first time a workspace has keybindings you're asked before they're used. They're never applied in untrusted workspaces, and Stop Using This Workspace's Keybindings removes them again.
- Tidy. The status bar shows how many are active. Remove Keybindings of Other Workspaces cleans out the copies from projects you no longer open.
// .vscode/keybindings.json
[
{ "key": "f5", "command": "workbench.action.tasks.runTask", "args": "dev", "when": "!inDebugMode" },
{ "key": "ctrl+alt+t", "command": "workbench.action.tasks.test" }
]
Removing a default shortcut ("-command") can't be limited to one workspace, because of how VS Code matches removals. Bind the key to another command instead, which overrides the default in that workspace.
Commands
| Command |
What it does |
Nifty Workspace Keybindings: Open Workspace Keybindings (JSON) |
Open or create .vscode/keybindings.json |
Nifty Workspace Keybindings: Use This Workspace's Keybindings |
Turn them on (again) |
Nifty Workspace Keybindings: Stop Using This Workspace's Keybindings |
Remove this workspace's copies |
Nifty Workspace Keybindings: Remove Keybindings of Other Workspaces |
Clean up copies from other projects |
Settings
| Setting |
Default |
What it does |
nifty.workspace-keybindings.confirm |
true |
Ask before using a workspace's keybindings the first time |
nifty.workspace-keybindings.statusBar |
true |
Show the number of active workspace keybindings |
nifty.workspace-keybindings.userKeybindingsFile |
default profile |
Your keybindings.json, if you use another profile |
Install
- VS Code: search for "Nifty Workspace Keybindings" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty Shortcut Trainer: Learn Keyboard Shortcuts: Learn VS Code keyboard shortcuts while you work: spots slow habits like arrow-key walking or copy-paste duplicating and suggests the shortcut, plus a cheat sheet. (Open VSX)
- Nifty Settings Sync: Sync via GitHub Gist: Sync settings, keybindings, snippets and extensions between VSCodium, Cursor, Windsurf and VS Code through a private GitHub Gist, with a diff before anything is overwritten. (Open VSX)
- Nifty Beautify: Format HTML in PHP, Blade & Twig: Format HTML inside PHP, Blade, Twig, Jinja, Handlebars, ERB and Liquid templates without breaking the template tags. (Open VSX)
- Nifty Branches: Clean Up Merged Git Branches: Safely clean up merged, squash-merged, gone and stale git branches, with a preview and one-click restore. (Open VSX)
- Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)
- Nifty Code Runner: Run Code in 25+ Languages: Run the current file or selection in 25+ languages in the terminal, with input support, your own commands and no telemetry. (Open VSX)
See all 35 Nifty tools at https://getnifty.dev
| |