Skip to content

Instantly share code, notes, and snippets.

@nanotaboada
Last active October 7, 2025 19:48
Show Gist options
  • Save nanotaboada/dd4846939c4aed6fce68c6a2b9ebae5c to your computer and use it in GitHub Desktop.
Save nanotaboada/dd4846939c4aed6fce68c6a2b9ebae5c to your computer and use it in GitHub Desktop.
VS Code User Settings
// https://code.visualstudio.com/docs/reference/default-settings
{
// ----------------------------------------------------------------------------
// 🏢 Workspace Settings
// ----------------------------------------------------------------------------
// WORKSPACE = The root container - your project folder(s) and global VS Code
// behavior. Controls security, trust, and overall application behavior.
"security.workspace.trust.untrustedFiles": "open",
// ----------------------------------------------------------------------------
// 🎨 Workbench Settings
// ----------------------------------------------------------------------------
// WORKBENCH = The main VS Code UI shell - contains all panels, sidebars,
// editors, and visual themes. Think of it as the "desktop" of VS Code.
"workbench.colorTheme": "GitHub Dark",
"workbench.iconTheme": "material-icon-theme",
"workbench.startupEditor": "none",
"workbench.fontAliasing": "antialiased",
// Editor tabs and layout within the workbench
"workbench.editor.decorations.colors": true,
"workbench.editor.pinnedTabSizing": "normal",
"workbench.editor.pinnedTabsOnSeparateRow": true,
"workbench.editor.wrapTabs": true,
// Tree view styling (affects Explorer, Search, Git panels, etc.)
"workbench.tree.enableStickyScroll": true,
"workbench.tree.indent": 11,
"workbench.tree.renderIndentGuides": "always",
"workbench.colorCustomizations": {
"tree.indentGuidesStroke": "#999999",
"[Material Theme Darker High Contrast]": {}
},
// Window and UI density
"window.density.editorTabHeight": "compact",
"window.titleBarStyle": "native",
// ----------------------------------------------------------------------------
// 📁 Explorer Settings
// ----------------------------------------------------------------------------
// EXPLORER = The file tree sidebar panel - shows your project's file/folder
// structure. It's one of the panels within the workbench.
"explorer.autoReveal": true, // Auto-select active file in file tree
"explorer.compactFolders": false, // Don't compress single-child folders
// ----------------------------------------------------------------------------
// ✏️ Editor Settings
// ----------------------------------------------------------------------------
// EDITOR = The main code editing area where you write code. Multiple editors
// can be open as tabs within the workbench.
"editor.bracketPairColorization.enabled": true,
"editor.codeLensFontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"editor.cursorStyle": "block",
"editor.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
"editor.guides.bracketPairs": "active",
"editor.insertSpaces": true,
"editor.largeFileOptimizations": false,
"editor.renderWhitespace": "boundary",
"editor.rulers": [{ "column": 127 }], // Vertical line at column 127
"editor.stickyScroll.enabled": true,
"editor.tabSize": 4,
"editor.trimAutoWhitespace": true,
"editor.wordWrap": "off",
// Minimap - the zoomed-out code overview on the right side of editor
"editor.minimap.enabled": true,
"editor.minimap.maxColumn": 127,
"editor.minimap.renderCharacters": false,
"editor.minimap.showSlider": "always",
"editor.minimap.size": "fill",
// Breadcrumbs - the navigation path shown above the editor
"breadcrumbs.enabled": true,
// ----------------------------------------------------------------------------
// 🔄 Diff Editor Settings
// ----------------------------------------------------------------------------
// DIFF EDITOR = Special editor for comparing two files side-by-side
"diffEditor.codeLens": true,
"diffEditor.ignoreTrimWhitespace": true,
// ----------------------------------------------------------------------------
// 💻 Terminal Settings
// ----------------------------------------------------------------------------
// TERMINAL = The integrated command line panel, usually at the bottom of
// workbench. Provides access to your system's shell within VS Code.
"terminal.integrated.allowedLinkSchemes": [
"docker-desktop",
"file",
"http",
"https",
"mailto",
"vscode",
"vscode-insiders"
],
"terminal.integrated.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
"terminal.integrated.fontSize": 12,
"terminal.integrated.inheritEnv": true, // Inherit environment variables
"terminal.integrated.macOptionIsMeta": false,
// ----------------------------------------------------------------------------
// 📄 File System Settings
// ----------------------------------------------------------------------------
// Controls how VS Code handles files and folders
"files.autoGuessEncoding": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"files.associations": {
"*.json": "json",
".runsettings": "xml"
},
"files.exclude": {
"**/.classpath": true,
"**/.factorypath": true,
"**/.project": true,
"**/.settings": true
},
// ----------------------------------------------------------------------------
// 🔧 Git & Version Control Settings
// ----------------------------------------------------------------------------
// Git integration and version control features
"git.autoStash": true,
"git.autofetch": true,
"git.branchProtection": ["master"],
"git.defaultBranchName": "master",
"git.mergeEditor": true,
"git.promptToSaveFilesBeforeCommit": "always",
"git.promptToSaveFilesBeforeStash": "always",
"git.pruneOnFetch": false,
"git.requireGitUserConfig": true,
"git.suggestSmartCommit": false,
// Git Blame - shows who last modified each line
"git.blame.editorDecoration.enabled": true,
"git.blame.editorDecoration.template": "${subject}, ${authorName} (${authorDateAgo})",
"git.blame.statusBarItem.enabled": true,
"git.blame.statusBarItem.template": "${authorName} (${authorDateAgo})",
// ----------------------------------------------------------------------------
// 🐙 GitHub Integration Settings
// ----------------------------------------------------------------------------
// GitHub-specific features and pull request management
"github.branchProtection": true,
"githubPullRequests.createOnPublishBranch": "never",
"githubPullRequests.pullBranch": "never",
// ----------------------------------------------------------------------------
// 🤖 GitHub Copilot Settings
// ----------------------------------------------------------------------------
// AI-powered code completion and suggestions
"github.copilot.enable": {
"*": true, // Enable for all languages
"markdown": false, // Disable for markdown files
"plaintext": false, // Disable for plain text
"python": false, // Disable for Python files
"scminput": false // Disable in commit message input
},
// ----------------------------------------------------------------------------
// 🐛 Debug & Testing Settings
// ----------------------------------------------------------------------------
// Debugging and test execution features
"debug.javascript.autoAttachFilter": "onlyWithFlag",
"debug.toolBarLocation": "commandCenter",
"testing.alwaysRevealTestOnStateChange": true,
// ----------------------------------------------------------------------------
// 🌐 Language-Specific Settings
// ----------------------------------------------------------------------------
// Each language can have its own formatter, tab size, and behavior rules
// C# Settings
"[csharp]": {
"editor.defaultFormatter": "ms-dotnettools.csharp",
"editor.formatOnSave": true
},
// CSS Settings
"[css]": {
"editor.defaultFormatter": "vscode.css-language-features",
"editor.formatOnSave": true
},
// Docker Settings
"[dockerfile]": {
"editor.defaultFormatter": "ms-azuretools.vscode-containers"
},
// Go Settings
"[go]": {
"editor.defaultFormatter": "golang.go",
"editor.formatOnSave": true
},
// HTML Settings
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features",
"editor.formatOnSave": true
},
// JavaScript Settings
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
// JSON Settings (uses 2 spaces instead of default 4)
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.tabSize": 2
},
// JSONC (JSON with Comments) Settings
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.tabSize": 2
},
// Markdown Settings
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
"editor.unicodeHighlight.invisibleCharacters": true
},
// Plain Text Settings
"[plaintext]": {
"editor.unicodeHighlight.invisibleCharacters": true
},
// Python Settings
"[python]": {
"editor.defaultFormatter": "ms-python.python",
"editor.formatOnSave": true
},
// SQL Settings
"[sql]": {
"editor.defaultFormatter": "inferrinizzard.prettier-sql-vscode"
},
// TypeScript Settings
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
// XML Settings
"[xml]": {
"editor.defaultFormatter": "redhat.vscode-xml"
},
// YAML Settings
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// YML Settings (alternative YAML extension)
"[yml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": false
},
// ----------------------------------------------------------------------------
// ⚙️ Language-Specific Global Configurations
// ----------------------------------------------------------------------------
// Global settings that affect specific languages across all files
// Go Configuration
"go.toolsManagement.autoUpdate": true,
// JavaScript Configuration
"javascript.updateImportsOnFileMove.enabled": "always",
// JSON Configuration
"json.maxItemsComputed": 99999, // Allow processing very large JSON files
// Python Configuration
"python.testing.pytestArgs": ["tests"], // Run pytest in 'tests' folder
"python.testing.pytestEnabled": true, // Use pytest as test runner
"python.testing.unittestEnabled": false, // Disable built-in unittest
// TypeScript Configuration
"typescript.updateImportsOnFileMove.enabled": "always",
// YAML Configuration
"yaml.schemas": {
"https://json.schemastore.org/github-workflow.json": ".github/workflows/*"
},
// ----------------------------------------------------------------------------
// 🧩 Extension-Specific Settings
// ----------------------------------------------------------------------------
// Settings for third-party extensions you've installed
// Chat Extension (GitHub Copilot Chat)
"chat.agent.enabled": true,
// Docker Extension
"docker.extension.enableComposeLanguageServer": false,
// .NET Extension
"dotnet.preview.enableSupportForSlnx": false,
"dotnetAcquisitionExtension.existingDotnetPath": [],
// Markdown Preview Extension
"markdown-preview-github-styles.darkTheme": "light",
// MSSQL Extension (SQL Server tools)
"mssql.connectionGroups": [
{
"id": "68191908-3628-477C-BE06-23D04590BC2D",
"name": "ROOT"
}
],
"mssql.connections": [],
"mssql.resultsFontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
// Red Hat Extension (XML, YAML support)
"redhat.telemetry.enabled": true,
// SCM (Source Control Management) Extension
"scm.inputFontSize": 12,
// SonarLint Extension (code quality analysis)
"sonarlint.connectedMode.connections.sonarcloud": [
{
"connectionId": "nanotaboada",
"organizationKey": "nanotaboada",
"region": "EU"
}
],
// VS IntelliCode Extension (AI-assisted IntelliSense)
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"github.copilot.nextEditSuggestions.enabled": true,
"chat.agent.maxRequests": 100,
"mdb.mcp.server": "prompt"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment