25 Best VS Code Settings for Productivity in 2026

Twenty-five VS Code settings that save clicks, reduce distractions, and help you write code faster. Each one includes the setting ID, what it does, and the recommended value.

8 min read

These 25 VS Code settings are practical starting points for reducing repeated actions, adjusting visual density, and making common editor tasks easier to follow. They are built-in, reversible settings with current IDs, not universal defaults.

Search each ID in the Settings editor before changing it, or add the shown value to the correct user or workspace scope. The official settings guide explains how VS Code settings scopes and language-specific overrides interact.

AreaSettingsUseful when
Editor behavior1 to 10You want different save, formatting, cursor, or navigation behavior
File management11 to 14You want clearer search results and safer Explorer actions
Workbench and layout15 to 18You want to adjust visual density and scrolling
Terminal and workflow19 to 25You want predictable terminals, tabs, titles, and themes

Editor behavior

These options change how editing, saving, and in-file navigation behave. Formatter-dependent settings only work when the active language has a formatter.

1. Auto save on focus change

Set files.autoSave to onFocusChange to save when focus leaves the dirty editor. If you prefer a timed trigger, use afterDelay and adjust files.autoSaveDelay.

2. Format on save

Set editor.formatOnSave to true to run the active formatter whenever the file is saved. It has no effect when the file's language has no formatter.

3. Format on paste

Set editor.formatOnPaste to true to format pasted content when the active formatter supports range formatting. Leave it off if pasted code should keep its original layout.

4. Smooth cursor animation

Set editor.cursorSmoothCaretAnimation to on if you prefer the cursor to animate between positions. Turn it off if motion is distracting.

5. Cursor blinking

Set editor.cursorBlinking to phase for a smooth fade cycle. Other supported styles appear in the setting's dropdown, so choose the one that is easiest for you to track.

6. Render whitespace

Set editor.renderWhitespace to boundary to show most tabs and non-single spaces without marking every ordinary space. Use selection if you only want whitespace markers in selected text.

7. Word wrap

Set editor.wordWrap to on to wrap long lines at the editor width. Toggle wrapping temporarily with Alt+Z on Windows, macOS, or Linux.

8. Linked editing

Set editor.linkedEditing to true to edit linked ranges together when the active language support provides them. Built-in HTML support can update matching tags, while other languages may depend on an extension.

9. Bracket pair colorization

Set editor.bracketPairColorization.enabled to true to color matching bracket pairs. Keep it off if the additional colors make code harder for you to read.

10. Code lens

Set editor.codeLens to true to allow built-in language support and extensions to show actions or reference information above code. The available lenses depend on the active language and installed extensions.

File management

These settings affect editor tabs, Search, and Explorer actions. Review exclusion patterns before sharing them with a team.

11. Close the tab when its file is deleted

Set workbench.editor.closeOnFileDelete to true to close an editor after its file is deleted outside VS Code. Leave it off if you want the dirty editor to remain available for review or recovery.

jsonjson
{
  "search.exclude": {
    "**/node_modules": true,
    "**/bower_components": true,
    "**/dist": true,
    "**/.next": true
  }
}

This keeps matching dependency and build folders out of Search results. Remove patterns for folders whose generated output you sometimes need to inspect.

13. Compact folders in Explorer

Set explorer.compactFolders to false to show every folder level in the Explorer instead of compressing single-child folder chains.

14. Confirm drag and drop

Set explorer.confirmDragAndDrop to true to request confirmation for Explorer drag-and-drop operations. The confirmation adds a step but can prevent unintended moves.

Workbench and layout

These visual settings are preference-driven. Keep the defaults when they already fit your screen size and accessibility needs.

15. Hide the minimap

Set editor.minimap.enabled to false if you do not use the minimap and want more horizontal editor space.

16. Show breadcrumbs

Set breadcrumbs.enabled to true to show file and symbol navigation above the editor. Select a segment to move through the current path or symbol hierarchy.

17. Sticky scroll

Set editor.stickyScroll.enabled to true to keep supported scope headers visible at the top of the editor while you scroll.

18. Smooth scrolling

Set editor.smoothScrolling to true if you prefer animated editor scrolling. Leave it off if immediate movement or reduced motion is more comfortable.

Terminal

Terminal values depend on the operating system, installed shells, font, and personal visibility needs.

19. Default terminal profile

Run Terminal: Select Default Profile and choose an installed shell. VS Code writes the matching platform key: terminal.integrated.defaultProfile.windows, terminal.integrated.defaultProfile.linux, or terminal.integrated.defaultProfile.osx. The profile name must match one available on that machine.

20. Terminal cursor blinking

Set terminal.integrated.cursorBlinking to true if a blinking terminal cursor is easier for you to locate. Keep it off if blinking is distracting.

21. Terminal font size

Set terminal.integrated.fontSize to a readable number for your display, such as 13. Increase it rather than reducing it if terminal text is difficult to read.

Workflow

These final settings change how editors, groups, window titles, and themes behave. Test each one before keeping it.

22. Open files from Quick Open in a new tab

Set workbench.editor.enablePreview to false if you want opened files to remain as regular tabs instead of reusing a preview editor. This can create more open tabs.

23. Close empty groups

Set workbench.editor.closeEmptyGroups to true to remove an editor group after its last editor closes. Set it to false if you intentionally keep empty groups as layout placeholders.

24. Window title

Add this complete value to show the active file, workspace root, and profile in the window title:

jsonjson
{
  "window.title": "${dirty} ${activeEditorShort}${separator}${rootName}${separator}${profileName}"
}

The displayed title can still depend on the operating system and title-bar style.

25. Color theme

Use Ctrl+K Ctrl+T on Windows or Linux, or Cmd+K Cmd+T on macOS, to preview available themes. VS Code stores the chosen theme in workbench.colorTheme; choose based on readability and contrast rather than assuming one theme suits everyone.

Choose what you need

You do not need to apply all 25. Start with the five VS Code settings that address your most frequent annoyances:

  • Sick of manual saves? Enable auto save (#1).
  • Code formatting inconsistent? Turn on format on save (#2).
  • Can't find your cursor? Enable smooth caret animation (#4) and terminal cursor blink (#20).
  • Search results full of noise? Add the search exclusions (#12).
  • Losing track of where you are in a file? Turn on sticky scroll (#17) and breadcrumbs (#16).

Add more over time as you notice friction points.

Next steps

Now that you have a solid VS Code settings foundation, learn how to open and edit settings.json directly. To apply these settings to a specific project instead of globally, read about user vs workspace settings.

Rune AI

Rune AI

Key Insights

  • Choose an Auto Save trigger that fits when your tools should react to file writes.
  • Format on Save requires an active formatter for the file's language.
  • Breadcrumbs and Sticky Scroll can make large files easier to navigate.
  • Cursor animation and blinking are preferences, not universal productivity improvements.
  • Disable the minimap only if the extra editor width is more useful to you.
RunePowered by Rune AI

Frequently Asked Questions

Do I need to restart VS Code after changing these settings?

These settings normally take effect when you change them or save settings.json. If a setting does not update as expected, check for a workspace or language-specific override before reloading the window.

Can I apply these settings to only one project?

Yes. Add project-specific values to workspace settings with Preferences: Open Workspace Settings (JSON). Review them before committing .vscode/settings.json because teammates receive committed workspace settings too.

Should I enable all 25 settings?

No. These are reversible starting points, not universal defaults. Choose the settings that address your workflow, and keep accessibility, project conventions, available shells, and formatter support in mind.

Conclusion

These 25 settings cover editor behavior, file handling, terminal preferences, and workflow choices. Apply only the values that solve a specific problem, verify the result, and keep project-wide preferences in workspace settings only when the team agrees.