Skip to content

VS Code Workflow

Keyboard-driven workflows for VS Code. This page documents the clean UI settings, custom tab shortcuts, Explorer tree navigation, and daily editing shortcuts used for a minimal development setup.

  • Use visible editor tabs instead of a single-tab workflow.
  • Use Ctrl+, and Ctrl+. to move between open tabs.
  • Use Ctrl+Shift+E to focus the Explorer tree.
  • Use Ctrl+1 to return from the Explorer tree to the editor.
  • Use the Explorer tree for file selection, rename, delete, copy, cut, paste, and folder navigation.
  • Use a minimal VS Code UI so i3 handles the window environment and VS Code stays focused on editing.
  • Keep the shortcut set small so the workflow is easy to remember.

Open the command palette and edit user settings directly as JSON.

Terminal window
Ctrl+Shift+P
Preferences: Open User Settings (JSON)

On Linux, the file is usually stored here.

Terminal window
~/.config/Code/User/settings.json

For Code OSS, the path may be different.

Terminal window
~/.config/Code - OSS/User/settings.json

Use the keyboard shortcuts UI for searching command names and checking existing bindings.

Terminal window
Ctrl+K Ctrl+S

Open the raw keyboard shortcuts JSON when the final configuration should be edited directly.

Terminal window
Ctrl+Shift+P
Preferences: Open Keyboard Shortcuts (JSON)

On Linux, the file is usually stored here.

Terminal window
~/.config/Code/User/keybindings.json

For Code OSS, the path may be different.

Terminal window
~/.config/Code - OSS/User/keybindings.json

Use this user settings file for the clean VS Code view. It keeps editor tabs visible, disables preview tabs, hides the title/menu/status/activity UI, disables the command center, and keeps the editor focused.

{
// Theme
"workbench.colorTheme": "Visual Studio Dark",
// Editor basics
"editor.minimap.enabled": false,
"editor.stickyScroll.enabled": false,
"files.autoSave": "afterDelay",
// Extension behavior
"extensions.ignoreRecommendations": true,
"extensions.autoUpdate": false,
"update.mode": "none",
// TypeScript / JavaScript
"js/ts.updateImportsOnFileMove.enabled": "never",
// Telemetry
"redhat.telemetry.enabled": false,
// GitHub Copilot disabled
"github.copilot.enable": {
"*": false,
"plaintext": false,
"markdown": false,
"scminput": false
},
// Minimal UI
"window.titleBarStyle": "native",
"window.customTitleBarVisibility": "never",
"window.menuBarVisibility": "hidden",
"window.commandCenter": false,
"workbench.layoutControl.enabled": false,
"workbench.statusBar.visible": false,
"workbench.activityBar.location": "hidden",
"workbench.activityBar.compact": true,
"workbench.navigationControl.enabled": false,
"workbench.browser.showInTitleBar": false,
// Tabs
"workbench.editor.showTabs": "multiple",
"workbench.editor.enablePreview": false,
"workbench.editor.enablePreviewFromQuickOpen": false,
// Chat layout
"chat.viewSessions.orientation": "stacked",
// Confirmations
"window.confirmSaveUntitledWorkspace": false,
"explorer.confirmPasteNative": false,
// Turkish locale allowed for unicode highlighting
"editor.unicodeHighlight.allowedLocales": {
"tr": true
}
}
  • window.titleBarStyle sets VS Code to use the native title bar mode.
  • window.customTitleBarVisibility removes the remaining custom title bar strip.
  • window.menuBarVisibility hides the File, Edit, Selection, View, Go, Run, Terminal, Help row.
  • workbench.layoutControl.enabled removes the layout control icon area.
  • window.commandCenter disables the command center in the title area.
  • workbench.statusBar.visible hides the bottom status bar.
  • workbench.activityBar.location hides the left activity icon strip.
  • workbench.editor.showTabs keeps the normal tab row visible.
  • workbench.editor.enablePreview disables preview tabs so opened files stay as real tabs.
  • workbench.editor.enablePreviewFromQuickOpen disables preview behavior from quick open.

Use this small keyboard shortcuts file. It keeps only the custom shortcuts used in the workflow.

// Place your key bindings in this file to override the defaults
[
{
"key": "ctrl+n",
"command": "explorer.newFile",
"when": "filesExplorerFocus && !inputFocus"
},
{
"key": "ctrl+shift+n",
"command": "explorer.newFolder",
"when": "filesExplorerFocus && !inputFocus"
},
{
"key": "ctrl+,",
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+.",
"command": "workbench.action.nextEditor"
}
]
  • Ctrl+, moves to the previous open editor tab.
  • Ctrl+. moves to the next open editor tab.
  • Ctrl+N creates a new file only when the Explorer tree is focused.
  • Ctrl+Shift+N creates a new folder only when the Explorer tree is focused.
  • The when condition keeps file and folder creation scoped to the Explorer tree.

Some UI settings apply only after the VS Code window reloads. Use the command palette to reload the window.

Terminal window
Ctrl+Shift+P
Developer: Reload Window

A full restart also works.

Terminal window
pkill code
code

This is the small set used in daily work.

Shortcut Action
Ctrl+Shift+E Focus Explorer tree
Ctrl+1 Focus editor
Ctrl+, Previous open tab
Ctrl+. Next open tab
Ctrl+N New file when Explorer is focused
Ctrl+Shift+N New folder when Explorer is focused
Up / Down Move inside Explorer tree
Left / Right Collapse or expand folders in Explorer
Enter Open selected file
F2 Rename selected file or folder
Delete Delete selected file or folder
Ctrl+C Copy selected file or folder
Ctrl+X Cut selected file or folder
Ctrl+V Paste selected file or folder

Tabs are visible and preview mode is disabled. Opening a file keeps it as a real tab instead of replacing the previous file.

Terminal window
Ctrl+, # previous open tab
Ctrl+. # next open tab
Ctrl+W # close current tab
Ctrl+Shift+T # reopen closed tab
  • Ctrl+, and Ctrl+. move between open tabs, not code history.
  • Go Back and Go Forward are not part of this workflow.
  • The goal is predictable tab switching, not navigation history.

Use the Explorer tree when navigating the project structure or managing files and folders.

Terminal window
Ctrl+Shift+E # focus Explorer tree
Ctrl+1 # return to editor
Up / Down # move selection
Right # expand selected folder
Left # collapse selected folder
Enter # open selected file
Ctrl+N # new file when Explorer is focused
Ctrl+Shift+N # new folder when Explorer is focused
F2 # rename selected file or folder
Delete # delete selected file or folder
Ctrl+C # copy selected file or folder
Ctrl+X # cut selected file or folder
Ctrl+V # paste selected file or folder
  • The Explorer must be focused before Ctrl+N creates a project file.
  • The Explorer must be focused before Ctrl+Shift+N creates a project folder.
  • Use Ctrl+Shift+E first when file or folder creation does not trigger.
  • Use Ctrl+1 to leave the tree and return to the editor.

Use quick open when the file name is known. This is faster than expanding the tree deeply.

Terminal window
Ctrl+P # open file by name
Ctrl+Shift+F # search across the project
Ctrl+F # search current file
Ctrl+G # go to line
Ctrl+Shift+O # go to symbol in current file
Ctrl+T # go to symbol in workspace
  • Use Ctrl+P for direct file navigation.
  • Use Ctrl+Shift+F when the file is unknown but the text is known.
  • Use Ctrl+F for local search inside the current file.

VS Code arranges open files into editor groups. Splits create additional groups either side by side or stacked, and each group can be focused directly by position.

Terminal window
Ctrl+\ # split active editor into a second group
Ctrl+K Ctrl+\ # split active editor downward
Ctrl+1 # focus editor group 1
Ctrl+2 # focus editor group 2
Ctrl+3 # focus editor group 3
Ctrl+K <arrow> # move current editor to another group

First split side by side, then split one of the groups downward.

Terminal window
Ctrl+\ # left and right split
Ctrl+K Ctrl+\ # split the active group downward

These are the useful editing shortcuts to keep. They cover comments, line movement, selection, and common save or undo actions.

Shortcut Action
Ctrl+S Save
Ctrl+Z Undo
Ctrl+Shift+Z Redo
Ctrl+/ Toggle line comment
Ctrl+D Select next occurrence
Alt+Up / Alt+Down Move current line up or down
Shift+Alt+Up / Shift+Alt+Down Duplicate current line
Ctrl+Shift+K Delete current line
Ctrl+Left / Ctrl+Right Move word by word
Ctrl+Shift+Left / Ctrl+Shift+Right Select word by word

If VS Code reports an error while saving settings, check that the JSON is valid and that the file is owned by the current user.

Terminal window
ls -l ~/.config/Code/User/settings.json
ls -l ~/.config/Code/User/keybindings.json

Fix ownership if the files are owned by root or another user.

Terminal window
sudo chown "$USER:$USER" ~/.config/Code/User/settings.json
sudo chown "$USER:$USER" ~/.config/Code/User/keybindings.json
  • User settings: ~/.config/Code/User/settings.json
  • Keyboard shortcuts: ~/.config/Code/User/keybindings.json
  • Code OSS user settings: ~/.config/Code - OSS/User/settings.json
  • Code OSS keyboard shortcuts: ~/.config/Code - OSS/User/keybindings.json