Skip to content

Instantly share code, notes, and snippets.

@orue
Created November 10, 2025 01:46
Show Gist options
  • Select an option

  • Save orue/13b2cf72e8225004b8ebf3e79b085732 to your computer and use it in GitHub Desktop.

Select an option

Save orue/13b2cf72e8225004b8ebf3e79b085732 to your computer and use it in GitHub Desktop.
My VSCode 2025
{
// ============================================================================
// WORKBENCH & UI
// ============================================================================
// Theme & Appearance
"workbench.colorTheme": "Catppuccin Frappé",
"catppuccin.italicKeywords": false,
"catppuccin.accentColor": "yellow",
"workbench.iconTheme": "material-icon-theme",
"workbench.productIconTheme": "fluent-icons",
// Layout
"workbench.sideBar.location": "right",
"workbench.startupEditor": "none",
"workbench.settings.editor": "json",
"window.commandCenter": false,
"window.titleBarStyle": "custom",
// Explorer
"explorer.compactFolders": false,
"workbench.tree.indent": 16,
"workbench.tree.renderIndentGuides": "none",
"workbench.layoutControl.enabled": false,
// Editor Tabs
"workbench.editor.limit.enabled": true,
"workbench.editor.limit.value": 10,
"workbench.editor.wrapTabs": true,
"workbench.editor.highlightModifiedTabs": true,
"workbench.editor.labelFormat": "short",
// ============================================================================
// EDITOR
// ============================================================================
// Font & Display
"editor.fontFamily": "'JetBrains Mono', monospace",
"editor.fontSize": 14,
"editor.fontLigatures": true,
"editor.cursorBlinking": "smooth",
"editor.renderWhitespace": "boundary",
"editor.minimap.enabled": false,
"editor.scrollbar.verticalScrollbarSize": 4,
// Formatting & Indentation
"editor.tabSize": 2,
"editor.detectIndentation": false,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
// Word Wrap
"editor.wordWrap": "bounded",
"editor.wordWrapColumn": 120,
"editor.rulers": [120],
// Code Intelligence
"editor.suggest.insertMode": "replace",
"editor.linkedEditing": true,
"editor.guides.bracketPairs": "active",
"editor.suggestSelection": "recentlyUsedByPrefix",
// Code Actions
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
// Accessibility
"editor.accessibilitySupport": "off",
// ============================================================================
// FILES
// ============================================================================
// File Behavior
"files.autoSave": "onFocusChange",
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
// File Associations
"files.associations": {
"*.css": "tailwindcss",
"*.mdx": "markdown",
"docker-compose*.yml": "dockercompose",
"docker-compose*.yaml": "dockercompose",
"Dockerfile*": "dockerfile",
".dockerignore": "ignore"
},
// File Explorer Exclusions
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/dist": true,
"**/build": true,
"**/.next": true,
"**/.turbo": true,
"**/__pycache__": true
},
// Performance - Watcher Exclusions
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/.venv/**": true,
"**/venv/**": true,
"**/__pycache__/**": true
},
// ============================================================================
// TERMINAL & DEBUGGING
// ============================================================================
// Terminal
"terminal.integrated.fontFamily": "'JetBrainsMono Nerd Font Mono', monospace",
"terminal.integrated.fontSize": 14,
"terminal.integrated.scrollback": 10000,
"terminal.integrated.env.osx": {
"Q_NEW_SESSION": "1"
},
// Debugging
"debug.console.fontSize": 14,
// ============================================================================
// LANGUAGE: JAVASCRIPT & TYPESCRIPT
// ============================================================================
// Language-specific Editor Settings
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
// Global JS/TS Settings
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.updateImportsOnFileMove.enabled": "always",
"javascript.suggest.autoImports": true,
"typescript.suggest.autoImports": true,
"javascript.suggest.names": true,
"typescript.suggest.paths": true,
"javascript.preferences.quoteStyle": "single",
"typescript.preferences.quoteStyle": "single",
"javascript.preferences.importModuleSpecifier": "relative",
"typescript.preferences.importModuleSpecifier": "relative",
"typescript.preferences.includePackageJsonAutoImports": "on",
"typescript.tsserver.experimental.enableProjectDiagnostics": false,
// ============================================================================
// LANGUAGE: PYTHON
// ============================================================================
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.tabSize": 4,
"editor.codeActionsOnSave": {
"source.organizeImports.ruff": "explicit",
"source.fixAll.ruff": "explicit"
}
},
"python.analysis.typeCheckingMode": "standard",
"python.analysis.diagnosticSeverityOverrides": {
"reportShadowedImports": "warning",
"reportUnusedImport": "warning",
"reportUnusedVariable": "warning",
"reportGeneralTypeIssues": "warning",
"reportMissingTypeStubs": "information",
"reportUnknownMemberType": "none"
},
// ============================================================================
// LANGUAGE: GO
// ============================================================================
"[go]": {
"editor.defaultFormatter": "golang.go",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll": "explicit"
}
},
"[go.sum]": {
"editor.formatOnSave": false
},
"go.formatTool": "gofumpt",
"go.lintOnSave": "workspace",
"go.vetOnSave": "workspace",
"go.lintTool": "staticcheck",
"gopls": {
"ui.diagnostic.analyses": {
"composites": false,
"shadow": true,
"unusedparams": true,
"unusedwrite": true,
"useany": true,
"nilness": true,
"unusedvariable": true
},
"ui.diagnostic.staticcheck": true,
"formatting.gofumpt": true
},
"go.addTags": {
"tags": "json,yaml,xml",
"options": "json=omitempty",
"promptForTags": false,
"transform": "snakecase"
},
"go.generateTestsFlags": ["-template=testify"],
// ============================================================================
// LANGUAGE: WEB (HTML, CSS, SCSS)
// ============================================================================
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// ============================================================================
// LANGUAGE: VUE
// ============================================================================
"[vue]": {
"editor.defaultFormatter": "Vue.volar",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
// ============================================================================
// FRAMEWORK: REACT
// ============================================================================
// File nesting for React components
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"*.tsx": "${capture}.module.css, ${capture}.module.scss, ${capture}.test.tsx, ${capture}.stories.tsx",
"*.jsx": "${capture}.module.css, ${capture}.module.scss, ${capture}.test.jsx, ${capture}.stories.jsx",
"*.ts": "${capture}.test.ts",
"*.js": "${capture}.test.js"
},
// ============================================================================
// LANGUAGE: MARKDOWN
// ============================================================================
"[markdown]": {
"editor.wordWrap": "on",
"editor.renderWhitespace": "all",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.quickSuggestions": {
"other": "on",
"comments": "off",
"strings": "off"
},
"editor.snippetSuggestions": "top"
},
// Markdown Preview
"markdown.preview.breaks": true,
"markdown.preview.fontSize": 14,
"markdown.preview.lineHeight": 1.6,
// Markdown Validation
"markdown.validate.referenceLinks.enabled": "warning",
"markdown.validate.fragmentLinks.enabled": "warning",
"markdown.validate.fileLinks.enabled": "warning",
"markdown.validate.unusedLinkDefinitions.enabled": "warning",
"markdown.validate.duplicateLinkDefinitions.enabled": "warning",
// Markdown Editor
"markdown.editor.pasteUrlAsFormattedLink.enabled": "smart",
"markdown.updateLinksOnFileMove.enabled": "prompt",
// Markdownlint
"markdownlint.config": {
"MD033": false,
"MD013": false,
"MD041": false,
"MD025": false,
"MD024": false
},
// ============================================================================
// LANGUAGE: YAML
// ============================================================================
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
},
"editor.formatOnSave": true
},
// YAML Schemas
"yaml.schemas": {
"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json": [
"docker-compose*.yml",
"docker-compose*.yaml",
"compose*.yml",
"compose*.yaml"
]
},
// ============================================================================
// LANGUAGE: TOML
// ============================================================================
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml",
"editor.formatOnSave": true,
"editor.tabSize": 2
},
// Even Better TOML
"evenBetterToml.formatter.alignEntries": false,
"evenBetterToml.formatter.alignComments": true,
"evenBetterToml.formatter.arrayTrailingComma": true,
"evenBetterToml.formatter.compactArrays": true,
"evenBetterToml.formatter.indentTables": false,
// ============================================================================
// LANGUAGE: DOCKER
// ============================================================================
"[dockerfile]": {
"editor.quickSuggestions": {
"strings": true
}
},
// ============================================================================
// LANGUAGE: OTHER
// ============================================================================
"[astro]": {
"editor.defaultFormatter": "astro-build.astro-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// ============================================================================
// EXTENSIONS
// ============================================================================
// TailwindCSS
"tailwindCSS.experimental.classRegex": [
["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"],
["cx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
],
// Emmet
"emmet.includeLanguages": {
"javascript": "javascriptreact",
"typescript": "typescriptreact",
"vue": "html",
"vue-html": "html",
"astro": "html"
},
"emmet.showSuggestionsAsSnippets": true,
"emmet.triggerExpansionOnTab": true,
// GitHub Copilot
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": false,
"scminput": false,
"python": false,
"astro": false,
"javascript": false,
"javascriptreact": false,
"typescript": false,
"typescriptreact": false,
"html": false
},
// Code Spell Checker
"cSpell.dictionaryDefinitions": [
{
"name": "personal-dict",
"path": "/Users/orue/Documents/cspell/cspell-personal-dict.txt",
"addWords": true
}
],
"cSpell.dictionaries": ["personal-dict"],
// ============================================================================
// GIT & VERSION CONTROL
// ============================================================================
"git.pruneOnFetch": true,
"git.confirmSync": false,
"git.postCommitCommand": "sync",
"git.openRepositoryInParentFolders": "always",
// ============================================================================
// SEARCH
// ============================================================================
"search.smartCase": true,
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/build": true,
"**/.next": true,
"**/.turbo": true,
"**/.venv": true,
"**/__pycache__": true
},
// ============================================================================
// SECURITY & PRIVACY
// ============================================================================
"telemetry.telemetryLevel": "off",
"extensions.ignoreRecommendations": true,
"liveServer.settings.donotShowInfoMsg": true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment