Skip to content

Instantly share code, notes, and snippets.

@tangoabcdelta
Last active March 9, 2026 15:27
Show Gist options
  • Select an option

  • Save tangoabcdelta/4d3e7ec01d651f4471297563dc9581c7 to your computer and use it in GitHub Desktop.

Select an option

Save tangoabcdelta/4d3e7ec01d651f4471297563dc9581c7 to your computer and use it in GitHub Desktop.
VSCode settings on settings.json

A long, comprehensive JSON example of frequently used VS Code settings that developers often configure in their settings.json.

I’ve included a wide range of categories:

Some of the stuff which I never knew before:

Debug panel behavior alteration using "debug.openDebug"

The Debug panel will never open automatically when a debugging session is started if this is set to neverOpen, openOnDebugBreak will only open automatically if a breakpoint is hit, openOnSessionStart (defaul) will open every time when a debugging session is started.

I did not know Dumb commit were a thing until I met "git.enableSmartCommit"

When the setting is enabled (default: true), the editor will automatically stage all modified tracked files when you attempt a commit in VS Code without manually staging any files

Summary

This JSON covers most of the commonly tweaked VS Code settings across categories. Developers usually customize a subset depending on their workflow, but this gives you a maximal reference template you can trim down for your own use.

{
// ===== Editor Basics =====
"editor.fontSize": 14,
"editor.fontFamily": "Fira Code, Consolas, 'Courier New', monospace",
"editor.fontLigatures": true,
"editor.lineHeight": 22,
"editor.cursorStyle": "line",
"editor.cursorBlinking": "smooth",
"editor.wordWrap": "on",
"editor.minimap.enabled": true,
"editor.minimap.renderCharacters": false,
"editor.minimap.maxColumn": 120,
"editor.renderWhitespace": "boundary",
"editor.renderControlCharacters": false,
"editor.renderLineHighlight": "all",
"editor.smoothScrolling": true,
"editor.scrollBeyondLastLine": true,
"editor.mouseWheelZoom": true,
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
},
"editor.parameterHints.enabled": true,
"editor.suggestSelection": "first",
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.autoClosingBrackets": "always",
"editor.autoClosingQuotes": "always",
"editor.autoSurround": "quotes",
"editor.formatOnSave": true,
"editor.formatOnPaste": false,
"editor.formatOnType": false,
"editor.codeActionsOnSave": {
"source.organizeImports": true,
"source.fixAll": true
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.rulers": [80, 100, 120],
"editor.guides.indentation": true,
"editor.guides.bracketPairs": true,
"editor.bracketPairColorization.enabled": true,
"editor.stickyScroll.enabled": true,
// ===== Files & Explorer =====
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.associations": {
"*.js": "javascript",
"*.ts": "typescript",
"*.json": "jsonc"
},
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/node_modules": true,
"**/dist": true
},
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"explorer.openEditors.visible": 10,
// ===== Terminal =====
"terminal.integrated.fontSize": 13,
"terminal.integrated.fontFamily": "MesloLGS NF",
"terminal.integrated.cursorStyle": "underline",
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.scrollback": 10000,
"terminal.integrated.shellIntegration.enabled": true,
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.defaultProfile.osx": "zsh",
// ===== Workbench & UI =====
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "material-icon-theme",
"workbench.startupEditor": "newUntitledFile",
"workbench.editor.enablePreview": false,
"workbench.editor.showTabs": true,
"workbench.editor.tabCloseButton": "right",
"workbench.editor.highlightModifiedTabs": true,
"workbench.sideBar.location": "left",
"workbench.statusBar.visible": true,
"workbench.activityBar.visible": true,
"workbench.tree.indent": 16,
"workbench.tree.renderIndentGuides": "always",
"workbench.settings.editor": "json",
"workbench.settings.useSplitJSON": true,
// ===== Git & SCM =====
"git.enableSmartCommit": true,
"git.confirmSync": false,
"git.autofetch": true,
"gitlens.hovers.enabled": true,
"gitlens.currentLine.enabled": true,
"gitlens.codeLens.enabled": true,
// ===== Debugging =====
"debug.openDebug": "openOnSessionStart",
"debug.console.fontSize": 13,
"debug.console.lineHeight": 20,
"debug.inlineValues": true,
"debug.showBreakpointsInOverviewRuler": true,
// ===== Languages & Frameworks =====
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.wordWrap": "on",
"editor.quickSuggestions": false
},
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter"
},
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// ===== Extensions =====
"prettier.singleQuote": true,
"prettier.trailingComma": "es5",
"prettier.semi": false,
"prettier.printWidth": 100,
"eslint.enable": true,
"eslint.run": "onSave",
"eslint.alwaysShowStatus": true,
"eslint.format.enable": true,
"eslint.codeActionsOnSave.mode": "all",
"eslint.codeActionsOnSave.rules": [
"eslint.fixAll",
"eslint.organizeImports"
],
"python.analysis.typeCheckingMode": "basic",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.flake8Enabled": false,
"python.formatting.provider": "black",
"python.testing.pytestEnabled": true,
// ===== Remote & Dev Containers =====
"remote.SSH.remotePlatform": {
"myserver": "linux"
},
"remote.SSH.useLocalServer": true,
"remote.containers.dockerPath": "/usr/bin/docker",
"remote.containers.logLevel": "info",
// ===== Miscellaneous =====
"breadcrumbs.enabled": true,
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
"update.mode": "manual",
"extensions.autoUpdate": true,
"extensions.ignoreRecommendations": false,
"security.workspace.trust.enabled": true,
"security.workspace.trust.startupPrompt": "never",
"http.proxyStrictSSL": false,
"json.schemas": [],
"typescript.tsserver.log": "verbose"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment