Skip to content

Instantly share code, notes, and snippets.

@danielroe
Last active June 2, 2025 10:10
Show Gist options
  • Save danielroe/5ea82608dc680fe6c0179240803437ab to your computer and use it in GitHub Desktop.
Save danielroe/5ea82608dc680fe6c0179240803437ab to your computer and use it in GitHub Desktop.
VScode settings for a minimal UI
{
"recommendations": [
"aaron-bond.better-comments",
"adrieankhisbe.vscode-ndjson",
"johnsoncodehk.vscode-tsconfig-helper",
"rbuckton.deoptexplorer-vscode",
"helixquar.randomeverything",
"WallabyJs.quokka-vscode",
"bierner.comment-tagged-templates",
"alexcvzz.vscode-sqlite",
"dotenv.dotenv-vscode",
"Orta.vscode-twoslash-queries",
"tombonnike.vscode-status-bar-format-toggle",
"antfu.pnpm-catalog-lens",
"antfu.goto-alias",
// integrations
"stylelint.vscode-stylelint",
"csstools.postcss",
"antfu.iconify",
"ms-playwright.playwright",
"antfu.slidev",
"antfu.unocss",
"bradlc.vscode-tailwindcss",
"Vue.volar",
// themes
"whizkydee.material-palenight-theme",
"Yummygum.city-lights-icon-vsc"
]
}
[
{
"key": "shift+cmd+e",
"command": "-workbench.view.explorer",
"when": "viewContainer.workbench.view.explorer.enabled"
},
{
"key": "shift+cmd+e",
"command": "workbench.explorer.fileView.focus"
},
{
"key": "cmd+r",
"command": "vue.action.restartServer"
},
{
"key": "shift+cmd+i",
"command": "-workbench.action.chat.openEditSession",
"when": "chatEditingParticipantRegistered && !chatSetupHidden && view != 'workbench.panel.chat.view.edits'"
}
]
{
// Disable telemetry
"telemetry.telemetryLevel": "off",
// theme
"workbench.productIconTheme": "icons-carbon",
"workbench.iconTheme": "city-lights-icons-vsc",
"workbench.colorTheme": "Palenight Operator",
"workbench.preferredLightColorTheme": "Tomorrow Operator Mono",
"workbench.preferredDarkColorTheme": "Palenight Operator",
"workbench.colorCustomizations": {
"titleBar.activeForeground": "#F9FAF4",
"titleBar.inactiveForeground": "#e7e7e799",
"statusBar.foreground": "#e7e7e7",
"sash.hoverBorder": "#289df6",
"statusBarItem.remoteBackground": "#0984e3",
"statusBarItem.remoteForeground": "#e7e7e7",
"commandCenter.border": "#e7e7e799"
},
// editor fonts
"editor.fontFamily": "Dank Mono",
"editor.fontLigatures": true,
"editor.fontSize": 13,
"editor.codeLensFontSize": 13,
"editor.lineHeight": 1.75,
"editor.suggestFontSize": 15,
"editor.lineNumbers": "off",
// terminal
"terminal.integrated.fontFamily": "JetBrains Mono",
"terminal.integrated.fontSize": 12,
"terminal.integrated.lineHeight": 1,
// window
"window.autoDetectColorScheme": true,
"window.nativeFullScreen": true,
"window.newWindowDimensions": "inherit",
"window.titleBarStyle": "custom",
"window.title": "${rootName}",
"window.commandCenter": false,
"window.zoomLevel": 1,
// minimal settings
"editor.minimap.enabled": false,
"editor.glyphMargin": false,
"editor.folding": false,
"workbench.editor.pinnedTabSizing": "compact",
"workbench.editor.tabSizing": "shrink",
"workbench.startupEditor": "newUntitledFile",
"editor.lightbulb.enabled": "off",
"editor.overviewRulerBorder": false,
"editor.renderLineHighlight": "line",
"editor.renderControlCharacters": false,
"editor.experimental.asyncTokenization": true,
"vue.inlayHints.optionsWrapper": false,
"workbench.tips.enabled": false,
"workbench.editor.empty.hint": "hidden",
"workbench.activityBar.location": "hidden",
"workbench.editor.tabActionCloseVisibility": false,
"editor.gotoLocation.multipleReferences": "goto",
"editor.gotoLocation.multipleDefinitions": "goto",
"editor.gotoLocation.multipleDeclarations": "goto",
"workbench.editor.enablePreviewFromQuickOpen": false,
"editor.gotoLocation.multipleImplementations": "goto",
"editor.gotoLocation.multipleTypeDefinitions": "goto",
"editor.formatOnType": true,
// Theme-specific UI
"city-lights-icons-vsc.hidesExplorerArrows": true,
"diffEditor.renderSideBySide": false,
"editor.copyWithSyntaxHighlighting": false,
"editor.snippetSuggestions": "inline",
"editor.tabSize": 2,
"editor.detectIndentation": true,
"editor.multiCursorModifier": "ctrlCmd",
"files.insertFinalNewline": true,
"workbench.editor.enablePreview": false,
"workbench.editor.highlightModifiedTabs": true,
// Search
"search.smartCase": true,
"search.exclude": {
"**/dist": true,
"**/node_modules": true,
"**/package-lock.json": true,
"**/pnpm-lock.json": true,
"**/public/*": true,
"**/vendor/*": true,
"**/yarn.lock": true
},
// Code
// Include "-" in word selection.
"editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
"emmet.includeLanguages": {
"blade": "html",
"vue-html": "html",
"spec.js": "html"
},
"files.associations": {
"*.ejs": "html",
"*.page-template": "vue",
"*.layout-template": "vue",
"*.vue": "vue",
".php_cs": "php",
".php_cs.dist": "php",
".graphqlconfig": "json",
".env*": "dotenv",
"*.json": "jsonc",
"*.css": "postcss"
},
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"editor.wordWrap": "on",
"editor.tabCompletion": "on",
"explorer.openEditors.visible": 1,
// Code auto-formatting
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
// Files to display
"files.enableTrash": false,
"files.exclude": {
".cache-loader/": true,
".gitattributes": true,
".gitkeep": true,
".travis.yml": true,
"coverage": true,
"acf-json": true,
"backend/vendor": true,
"CODE_OF_CONDUCT.md": true,
"config": false,
"LICENSE.md": true,
"phpcs.xml": true
},
"files.watcherExclude": {
"**/.output/**": true,
"**/.yarn/**": true,
"workspace/**": true,
"backend/vendor/**": true
},
"css.validate": false,
"less.validate": false,
"scss.validate": false,
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.updateImportsOnFileMove.enabled": "always",
// Git integration
"git.confirmSync": false,
"git.enableSmartCommit": true,
"gitlens.keymap": "alternate",
"gitlens.advanced.messages": {
"suppressIntegrationRequestTimedOutWarning": true
},
"gitlens.advanced.fileHistoryFollowsRenames": true,
"gitlens.blame.ignoreWhitespace": true,
"git.fetchOnPull": true,
"npm.packageManager": "yarn",
"outline.problems.colors": false,
"typescript.locale": "en",
"yaml.schemas": {
"file:///home/daniel/.vscode/extensions/me-dutour-mathieu.vscode-github-actions-2.2.4/schemas/action.schema.json": "/action.yml"
},
"terminal.integrated.profiles.osx": {
"zsh": {
"path": "/bin/zsh"
}
},
"editor.semanticHighlighting.enabled": true,
"liveshare.featureSet": "insiders",
"explorer.confirmDragAndDrop": false,
"npm.fetchOnlinePackageInfo": false,
"debug.console.fontSize": 10,
"editor.linkedEditing": true,
"errorLens.scrollbarHackEnabled": true,
"zenMode.fullScreen": false,
"zenMode.centerLayout": false,
"stylelint.validate": [
"css",
"html",
// "javascriptreact",
"less",
"postcss",
"sass",
"scss",
"source.css.styled",
"source.markdown.math",
"styled-css",
"sugarss",
"svelte",
// "typescriptreact",
"vue",
"vue-html",
"vue-postcss",
"xml",
"xsl"
],
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true
},
"[vue]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true
},
"[yaml]": {
"diffEditor.ignoreTrimWhitespace": true
},
"extensions.ignoreRecommendations": true,
"javascript.format.semicolons": "remove",
"typescript.format.insertSpaceAfterConstructor": true,
"typescript.format.semicolons": "remove",
"javascript.format.insertSpaceAfterConstructor": true,
"typescript.inlayHints.parameterNames.enabled": "none",
"editor.renderWhitespace": "none",
"js/ts.implicitProjectConfig.checkJs": true,
"js/ts.implicitProjectConfig.strictNullChecks": true,
"editor.bracketPairColorization.enabled": true,
"editor.accessibilitySupport": "off",
// Error lens
"errorLens.enabled": true,
"errorLens.fontSize": "12",
"errorLens.enabledDiagnosticLevels": [
"info"
],
// Suggestions
"javascript.preferences.importModuleSpecifier": "project-relative",
"typescript.preferences.importModuleSpecifier": "project-relative",
"editor.inlineSuggest.enabled": true,
"editor.acceptSuggestionOnEnter": "smart",
"editor.quickSuggestions": {
"strings": true
},
"editor.suggestSelection": "first",
"editor.suggest.showWords": false,
"emmet.showAbbreviationSuggestions": false,
"editor.suggest.showSnippets": true,
"javascript.suggest.names": false,
"javascript.suggest.paths": true,
"typescript.suggest.paths": true,
"typescript.suggest.completeJSDocs": false,
"typescript.suggest.classMemberSnippets.enabled": false,
"typescript.suggest.completeFunctionCalls": true,
"editor.guides.indentation": false,
"editor.unicodeHighlight.ambiguousCharacters": false,
"editor.unicodeHighlight.invisibleCharacters": false,
"terminal.integrated.cursorStyle": "line",
"terminal.integrated.cursorBlinking": true,
"stylelint.packageManager": "pnpm",
"diffEditor.maxComputationTime": 0,
"gitlens.showWhatsNewAfterUpgrades": false,
"git.autofetch": "all",
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"typescript.format.insertSpaceBeforeFunctionParenthesis": true,
"typescript.format.insertSpaceAfterTypeAssertion": true,
"terminal.integrated.gpuAcceleration": "on",
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
"debug.allowBreakpointsEverywhere": true,
"editor.tokenColorCustomizations": {
"[*Light*]": {
"textMateRules": [
{
"scope": "ref.matchtext",
"settings": {
"foreground": "#000"
}
}
]
},
"[*Dark*]": {
"textMateRules": [
{
"scope": "ref.matchtext",
"settings": {
"foreground": "#fff"
}
}
]
},
"textMateRules": []
},
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": true,
"scminput": false,
"yaml": true
},
"github.copilot.chat.editor.temporalContext.enabled": true,
"github.copilot.nextEditSuggestions.enabled": true,
"github.copilot.chat.agent.thinkingTool": true,
"debug.javascript.defaultRuntimeExecutable": {
"pwa-chrome": "/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome",
"pwa-node": "node"
},
"launch": {
"configurations": [],
"compounds": []
},
"gitlens.autolinks": [
{
"url": "github.com/nuxt/framework/issues/<num>",
"prefix": "#"
}
],
"yaml.maxItemsComputed": 100,
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1,
"terminal.integrated.enableMultiLinePasteWarning": "never",
"terminal.integrated.env.osx": {},
"search.followSymlinks": false,
"workbench.layoutControl.enabled": false,
"workbench.editor.editorActionsLocation": "titleBar",
"eslint.format.enable": true,
"eslint.rules.customizations": [
{
"rule": "*",
"severity": "warn"
}
],
"workbench.sideBar.location": "right",
"debug.onTaskErrors": "debugAnyway",
"gitlens.launchpad.indicator.polling.enabled": false,
"gitlens.launchpad.indicator.enabled": false,
"diffEditor.ignoreTrimWhitespace": true,
"terminal.integrated.shellIntegration.enabled": false,
"terminal.integrated.defaultProfile.osx": "zsh",
"eslint.useFlatConfig": true,
"editor.autoClosingQuotes": "never",
"editor.autoClosingBrackets": "never",
"git.replaceTagsWhenPull": true,
"[markdown]": {
"diffEditor.ignoreTrimWhitespace": false
},
"explorer.confirmPasteNative": false,
"workbench.editorAssociations": {
"*.copilotmd": "vscode.markdown.preview.editor",
"*.svg": "default"
},
"chat.agent.enabled": true,
"chat.commandCenter.enabled": false,
"gitlens.plusFeatures.enabled": false,
"dotenv.enableAutocloaking": false,
"mcp": {
"inputs": [],
"servers": {
"mcp-server-time": {
"command": "python",
"args": [
"-m",
"mcp_server_time",
"--local-timezone=America/Los_Angeles"
],
"env": {}
},
"nuxt": {
"type": "sse",
"url": "https://mcp.nuxt.space/"
}
}
}
}
@lanluartes
Copy link

After watching your presentation on Geekle, I just had to find your VSCode settings. Thanks for this! 🤣

I was really impressed and amazed on how you code. Thanks for the awesome talk, kudos!

@danielroe
Copy link
Author

@lanluartes Thank you 😊

@sherlockmac
Copy link

Thanks for sharing. I like the minimal look.

This is now invalid

 "editor.cursorSmoothCaretAnimation": true

and should be changed to:

 "editor.cursorSmoothCaretAnimation": "on"

@CareTiger
Copy link

@danielroe thank you for sharing this

@sethamus
Copy link

sethamus commented Jul 7, 2023

There is a warning with the "explorer.openEditors.visible": 0, setting

@sherlockmac
Copy link

There is a warning with the "explorer.openEditors.visible": 0, setting

Use "explorer.openEditors.visible": 1 instead.

@kedniko
Copy link

kedniko commented Mar 4, 2024

Some settings are now invalid and should be changed
"workbench.activityBar.visible": false -> "workbench.activityBar.location": "hidden"
"workbench.editor.showTabs": true -> "workbench.editor.showTabs": "multiple"
"editor.lightbulb.enabled": false -> "editor.lightbulb.enabled": "off"
"explorer.openEditors.visible": 0 -> "explorer.openEditors.visible": 1

@danielroe
Copy link
Author

just updated this with my latest settings - thank you for all the comments fixing outdated ones! ❤️

@utsavsomaiya
Copy link

just updated this with my latest settings - thank you for all the comments fixing outdated ones! ❤️

Thanks for update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment