DEV Community

Alex
Alex

Posted on

VS Code without the mouse: scripts, settings, branches and files from the keyboard

Most VS Code users know two shortcuts: Cmd/Ctrl + P for files and Cmd/Ctrl + Shift + P for commands. Everything else (running npm test, switching a branch, flipping a setting) tends to end with a hand on the mouse.

Here's how far the built-in features go for the four things I do most, written down while building a tool to cover the gaps. Shortcuts are the defaults on VS Code as of October 2026; "Cmd" is Ctrl on Windows and Linux.

Quick Open has scopes. Type ?

Open Quick Open (Cmd + P) and type ?. You get the list of prefixes it understands. Besides > for commands, @ for symbols in the file and : for a line number, there are words. On my install these include:

  • task runs a task
  • term jumps to an open terminal
  • debug starts a debug configuration
  • view opens any view or panel

The list can vary with your version and extensions, which is why ? is worth typing once instead of trusting a blog post.

1. Running your project's scripts

Built in: Tasks: Run Task (or task in Quick Open) lists your package.json scripts automatically, as npm: test, npm: build and so on. For a script you run constantly, bind it to a key in keybindings.json:

// Cmd+Shift+P → "Preferences: Open Keyboard Shortcuts (JSON)"
[
  { "key": "cmd+alt+t", "command": "workbench.action.tasks.runTask", "args": "npm: test" }
]
Enter fullscreen mode Exit fullscreen mode

Where it stops: task detection covers npm scripts and a few other task providers. Makefile targets, justfile recipes or docker compose up need a tasks.json entry or an extension each. Passing arguments (npm test -- --watch) means editing the task.

2. Switching Git branches

Built in: Cmd + Shift + P → Git: Checkout to… lists local and remote branches, and you can type to filter. Git: Create Branch… sits next to it. Most Git actions (commit, push, pull, stash) are in the Command Palette under Git:.

Where it stops: nothing major. It's two steps, the palette and then the branch list, which is fine.

3. Changing a setting

Built in: a handful of settings have toggle commands with shortcuts: word wrap (Option/Alt + Z), Zen mode (Cmd + K, then Z), and the color theme picker (Cmd + K, then Cmd + T). Others, like the minimap, have toggle commands in the palette without a default key.

Where it stops: for everything else you open the Settings UI, search, and click. As far as I know, VS Code has no built-in command to toggle an arbitrary setting from a keybinding, and no way to change a value from the Command Palette.

4. Creating, renaming and moving files

Built in: File: New File… from the palette, and in the Explorer (focus it with Cmd + Shift + E) you can rename with Enter on macOS or F2 on Windows and Linux, and delete with Cmd + Backspace or Delete.

Where it stops: renaming or moving a file you're editing means finding it in the Explorer first. Moving a file to another folder is drag-and-drop.

What I built for the gaps

The pattern above is the same each time: the feature exists, but behind a different entry point. That's what pushed me to build Slashi, an open-source extension that puts these behind one popup. Press Cmd + / and type:

Slashi: one popup for scripts, settings, Git and files in VS Code

  • /p lists your project's scripts from package.json, Makefile, justfile, docker-compose, Cargo and go.mod. /test --watch passes the arguments through.
  • font size finds the setting and lets you change it in place. Booleans toggle, enums open a picker, and you can set a value for one language only.
  • /git lists Git actions and branches.
  • /f name finds a file, and Shift + Enter opens its actions: rename, move to a folder, duplicate, delete to the trash, copy the path.

It's not a replacement for the Command Palette, which keeps working as before. Two trade-offs to know before installing:

  • By default Slashi takes Cmd/Ctrl + /, which is VS Code's "toggle line comment", and moves comments to Cmd/Ctrl + Alt + /. If your fingers are trained on the original, turn off slashi.shortcut.useSlashKey and Slashi opens with Cmd + Shift + ; instead.
  • It's young (v0.6), and it's one more extension running in your editor. It has no telemetry. AI features are optional: Slashi uses GitHub Copilot or another provider if one is set up, and everything else works without AI.

Takeaway

Even if you never install anything, type ? in Quick Open and bind your most-used task to a key. In my week, those two alone cover a lot of the trips to the mouse.


I'm the author of Slashi. It's free and MIT-licensed: VS Code Marketplace · Open VSX for VSCodium and Cursor · GitHub.

Top comments (0)