Skip to content

Instantly share code, notes, and snippets.

@nanotaboada
Last active February 1, 2026 05:29
Show Gist options
  • Select an option

  • Save nanotaboada/00c435a33bc2f4533fac9bb7fc68fdc7 to your computer and use it in GitHub Desktop.

Select an option

Save nanotaboada/00c435a33bc2f4533fac9bb7fc68fdc7 to your computer and use it in GitHub Desktop.
⚙ VS Code Settings
// ---------------------------------------------------------------------------------------------------------------------------
// ⚙ VS Code Settings
// Customized settings for optimal development experience
// https://code.visualstudio.com/docs/configure/settings
// ---------------------------------------------------------------------------------------------------------------------------
{
// -------------------------------------------------------------------------------------------------------------------------
// 🗜 Workbench
// General UI behavior and appearance
// -------------------------------------------------------------------------------------------------------------------------
"security.workspace.trust.untrustedFiles": "open", // Open untrusted files
"workbench.startupEditor": "none", // Don't show welcome page
"workbench.fontAliasing": "antialiased", // Smooth font rendering
"workbench.activityBar.location": "default", // Activity bar position
// 🗂 Editor tabs and layout
"workbench.editor.customLabels.enabled": true, // Custom file labels
"workbench.editor.dragToOpenWindow": true, // Drag tabs to new window
"workbench.editor.decorations.colors": true, // Show file decoration colors
"workbench.editor.pinnedTabSizing": "normal", // Pinned tab width
"workbench.editor.pinnedTabsOnSeparateRow": true, // Separate row for pinned tabs
"workbench.editor.wrapTabs": true, // Wrap tabs when overflow
"workbench.editor.closeOnFileDelete": true, // Close deleted files
// 🪾 Tree views (Explorer, Search, Git panels)
"workbench.tree.enableStickyScroll": true, // Sticky parent folders
"workbench.tree.stickyScrollMaxItemCount": 7, // Max sticky items
"workbench.tree.indent": 11, // Tree indentation (px)
"workbench.tree.renderIndentGuides": "always", // Show indent guides
"workbench.colorCustomizations": {
"tree.indentGuidesStroke": "#999999",
"[Material Theme Darker High Contrast]": {}
},
// 🪟 Window behavior and appearance
"window.density.editorTabHeight": "compact", // Compact tab height
"window.titleBarStyle": "native", // Use native OS title bar
"window.customTitleBarVisibility": "auto", // Custom title bar (macOS)
"window.zoomPerWindow": true, // Per-window zoom level
"window.systemColorTheme": "auto", // Match system theme
"window.confirmSaveUntitledWorkspace": true, // Confirm save workspace
"window.newWindowProfile": "Default", // Default window profile
// 🎨 Visual appearance
"workbench.iconTheme": "material-icon-theme", // Material icons
"workbench.colorTheme": "GitHub Dark", // GitHub Dark theme
// -------------------------------------------------------------------------------------------------------------------------
// 📂 Explorer
// File explorer: layout, behavior, and file/folder visibility
// -------------------------------------------------------------------------------------------------------------------------
"explorer.autoReveal": true, // Auto-reveal active file
"explorer.compactFolders": false, // Don't compress folders
"explorer.excludeGitIgnore": true, // Hide .gitignore files
// -------------------------------------------------------------------------------------------------------------------------
// ✏️ Editor
// Code editor: formatting, behavior, and appearance
// -------------------------------------------------------------------------------------------------------------------------
"editor.bracketPairColorization.enabled": true, // Color-code brackets
"editor.codeLensFontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
"editor.cursorSurroundingLines": 8, // Visible lines around cursor
"editor.linkedEditing": true, // Edit matching tags
"editor.semanticHighlighting.enabled": true, // Semantic token colors
"editor.cursorBlinking": "smooth", // Smooth cursor blink
"editor.cursorSmoothCaretAnimation": "on", // Smooth cursor movement
"editor.cursorStyle": "block", // Block-style cursor
"editor.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
"editor.guides.bracketPairs": "active", // Show active bracket guides
"editor.guides.highlightActiveIndentation": true, // Highlight active indent
"editor.insertSpaces": true, // Use spaces not tabs
"editor.largeFileOptimizations": false, // Disable large file opts
"editor.occurrencesHighlight": "singleFile", // Highlight occurrences
"editor.renderWhitespace": "boundary", // Show whitespace
"editor.rulers": [
{
"column": 127
}
], // Vertical ruler (column 127)
"editor.stickyScroll.enabled": true, // Keep scope visible
"editor.stickyScroll.maxLineCount": 7, // Max sticky lines
"editor.stickyScroll.scrollWithEditor": true, // Sync sticky scroll
"editor.inlineSuggest.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
"editor.inlayHints.enabled": "off", // Disable inlay hints (reduce visual noise)
"editor.tabSize": 4,
"editor.trimAutoWhitespace": true, // Trim trailing space
"editor.wordWrap": "off", // No line wrapping
// 🗺️ Minimap (zoomed-out code overview)
"editor.minimap.enabled": true, // Show minimap
"editor.minimap.maxColumn": 127, // Max minimap column
"editor.minimap.renderCharacters": false, // Use blocks not chars
"editor.minimap.showSlider": "always", // Always show slider
"editor.minimap.size": "fill", // Fill vertical space
// 💡 Prevent VS Code from copying rich text (HTML) to the clipboard. This avoids extra blank lines when pasting Markdown
// into tools like Slack, Jira, Confluence, etc., and preserves AI-generated code exactly as shown in the editor.
"editor.copyWithSyntaxHighlighting": false,
// -------------------------------------------------------------------------------------------------------------------------
// 🍞 Breadcrumbs
// File and symbol navigation at the top of the editor
// -------------------------------------------------------------------------------------------------------------------------
"breadcrumbs.enabled": true, // Show breadcrumbs
"breadcrumbs.symbolPath": "on", // Show symbol path in breadcrumbs
// -------------------------------------------------------------------------------------------------------------------------
// 🔀 Diff Editor
// Side-by-side diff viewer settings
// -------------------------------------------------------------------------------------------------------------------------
"diffEditor.codeLens": true, // Show CodeLens in diffs
"diffEditor.ignoreTrimWhitespace": false, // Don't ignore whitespace
"diffEditor.renderGutterMenu": true, // Show stage/revert buttons
"diffEditor.experimental.showMoves": true, // Highlight moved code blocks
// -------------------------------------------------------------------------------------------------------------------------
// 💻 Terminal
// Integrated terminal: appearance, behavior, and shell integration
// -------------------------------------------------------------------------------------------------------------------------
"terminal.integrated.allowedLinkSchemes": [
// Clickable link protocols
"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 env variables
"terminal.integrated.macOptionIsMeta": false, // Option key (macOS)
"terminal.integrated.shellIntegration.enabled": true, // Shell integration
"terminal.integrated.enablePersistentSessions": true, // Restore terminals
"terminal.integrated.suggest.enabled": true, // Terminal IntelliSense
"terminal.integrated.suggest.quickSuggestions": {
// Auto-show suggestions
"other": true,
"comments": false,
"strings": true
},
"terminal.integrated.suggest.suggestOnTriggerCharacters": true, // Suggest on -,/,etc
"terminal.integrated.stickyScroll.enabled": false, // No sticky scroll
"terminal.integrated.mouseWheelZoom": true, // Ctrl+scroll zoom
"terminal.integrated.rescaleOverlappingGlyphs": true, // Fix glyph widths
"terminal.integrated.smoothScrolling": true, // Smooth scrolling
"terminal.integrated.tabs.defaultIcon": "terminal", // Default tab icon
// -------------------------------------------------------------------------------------------------------------------------
// 📄 Files
// File handling, encoding, and visibility
// -------------------------------------------------------------------------------------------------------------------------
"files.autoGuessEncoding": true, // Auto-detect encoding
"files.autoSaveWorkspaceFilesOnly": false, // Auto-save all files
"files.autoSaveWhenNoErrors": false, // No save on errors
"files.insertFinalNewline": true, // Add final newline
"files.trimFinalNewlines": true, // Trim extra newlines
"files.trimTrailingWhitespace": true, // Trim trailing space
"files.associations": {
"*.json": "json",
"settings.json": "jsonc", // Treat settings.json as JSONC to preserve formatting
".runsettings": "xml", // .NET test settings file
"*.cshtml": "html", // Razor views (C# + HTML)
"*.razor": "razor", // Blazor components
"go.mod": "go.mod", // Go module definition
"go.sum": "go.sum", // Go dependency checksums
"requirements.txt": "pip-requirements", // Python dependencies
"Pipfile": "pipfile", // Python Pipenv dependencies
"*.pom": "xml" // Maven project files
},
"files.exclude": {
"**/.classpath": true, // Java Eclipse metadata
"**/.factorypath": true, // Java Eclipse metadata
"**/.project": true, // Eclipse project file
"**/.settings": true, // Eclipse settings
"**/bin": true, // .NET build output
"**/obj": true, // .NET intermediate files
"**/.vs": true // Visual Studio metadata
},
"files.watcherExclude": {
"**/bin/**": true, // .NET build output
"**/obj/**": true, // .NET intermediate files
"**/.git/objects/**": true, // Git object database
"**/.git/subtree-cache/**": true, // Git subtree cache
"**/node_modules/*/**": true, // Node.js dependencies (huge perf impact)
"**/.hg/store/**": true, // Mercurial store
"**/__pycache__/**": true, // Python bytecode
"**/.pytest_cache/**": true, // Pytest cache
"**/.venv/**": true, // Python virtual environments
"**/venv/**": true,
"**/target/**": true, // Java/Maven builds
"**/.gradle/**": true, // Gradle cache
"**/build/**": true, // Generic build output
"**/dist/**": true // Distribution files
},
// -------------------------------------------------------------------------------------------------------------------------
// 🔍 Search
// Search behavior, indexing, and file exclusions
// -------------------------------------------------------------------------------------------------------------------------
"search.useIgnoreFiles": true, // Respect .gitignore for faster searches
"search.exclude": {
"**/bin": true, // .NET build output
"**/obj": true, // .NET intermediate build files
"**/node_modules": true, // Node.js dependencies
"**/.git": true, // Git metadata
"**/coverage": true, // Test coverage reports
"**/.vs": true, // Visual Studio metadata
"**/__pycache__": true, // Python bytecode cache
"**/.pytest_cache": true, // Pytest cache
"**/.venv": true, // Python virtual environment
"**/venv": true, // Python virtual environment (alternative name)
"**/.mypy_cache": true, // MyPy type checker cache
"**/target": true, // Maven/Java build output
"**/.gradle": true, // Gradle cache
"**/build": true, // Generic build output
"**/dist": true // Distribution/compiled output
},
// -------------------------------------------------------------------------------------------------------------------------
// 🌿 Source Control
// Git integration, commit behavior, and branch settings
// -------------------------------------------------------------------------------------------------------------------------
"git.autoStash": true, // Auto-stash on pull
"git.autofetch": true, // Auto-fetch remotes
"git.openRepositoryInParentFolders": "never", // Don't search parents
"git.showCommitInput": true, // Show commit input
"git.timeline.showAuthor": true, // Show authors
"git.timeline.showUncommitted": true, // Show uncommitted
"git.branchProtection": [
"master"
], // Protect master branch
"git.defaultBranchName": "master", // Default branch name
"git.mergeEditor": true, // 3-way merge editor
"git.promptToSaveFilesBeforeCommit": "always", // Save before commit
"git.promptToSaveFilesBeforeStash": "always", // Save before stash
"git.pruneOnFetch": false, // Don't prune on fetch
"git.requireGitUserConfig": true, // Require user config
"git.suggestSmartCommit": false, // No smart commit
// 🏷️ Git Blame annotations
"git.blame.editorDecoration.enabled": true, // Show inline blame
"git.blame.editorDecoration.template": "${subject} • ${authorName} • ${authorDateAgo}",
"git.blame.statusBarItem.enabled": true, // Show in status bar
"git.blame.statusBarItem.template": "${authorName} • ${authorDateAgo} • ${subject}",
// Modern Git features (v1.85+)
"scm.repositories.selectionMode": "single", // Single repo selection
"scm.inputMinLineCount": 1, // Min commit input lines
"scm.inputMaxLineCount": 10, // Max commit input lines
"scm.inputFontSize": 12, // Commit input font size
"git.decorations.enabled": true, // Show git decorations
"git.verboseCommit": false, // No verbose commits
"git.useEditorAsCommitInput": false, // Use input box
"git.showActionButton": {
// SCM action buttons
"commit": true,
"publish": true,
"sync": true
},
"git.experimental.diffAlgorithm": "histogram", // Histogram diff algorithm
// -------------------------------------------------------------------------------------------------------------------------
// 🐙 GitHub
// GitHub integration, pull requests, and Copilot AI settings
// -------------------------------------------------------------------------------------------------------------------------
"github.branchProtection": true, // Branch protection
"githubPullRequests.createOnPublishBranch": "ask", // Ask to create PR
"githubPullRequests.pullBranch": "never", // Don't auto-pull
// Copilot AI completion and chat
"github.copilot.enable": {
// Per-language enablement
"*": true, // Enable globally
"markdown": false, // Disable for markdown
"plaintext": false, // Disable for plaintext
"python": false, // Disable for Python
"scminput": false // Disable in SCM input
},
"github.copilot.editor.enableCodeActions": true, // Copilot code actions
"github.copilot.editor.enableAutoCompletions": true, // Enable automatic inline completions
"github.copilot.nextEditSuggestions.enabled": true, // Next edit suggestions
"github.copilot.chat.experimental.detectParticipant.enabled": true, // Better chat context
"github.copilot.chat.commandCenter.enabled": true, // Chat in command center
"github.copilot.chat.anthropic.thinking.enabled": true, // Enable Claude thinking mode
// -------------------------------------------------------------------------------------------------------------------------
// 🐛 Run and Debug
// Debugging behavior, configurations, and UI settings
// -------------------------------------------------------------------------------------------------------------------------
"debug.javascript.autoAttachFilter": "onlyWithFlag", // Auto-attach with --inspect
"debug.toolBarLocation": "commandCenter", // Debug in command center
"debug.closeReadonlyTabsOnEnd": true, // Close debug tabs
// -------------------------------------------------------------------------------------------------------------------------
// 🧪 Testing
// Test explorer, runners, and coverage settings
// -------------------------------------------------------------------------------------------------------------------------
"testing.alwaysRevealTestOnStateChange": true, // Auto-reveal tests
"testing.automaticallyOpenPeekView": "failureInVisibleDocument", // Auto-peek failures
"testing.defaultGutterClickAction": "run", // Run on gutter click
"testing.followRunningTest": true, // Follow running test
"testing.coverageBarThresholds": {
// Coverage thresholds
"red": 0,
"yellow": 60,
"green": 80
},
// -------------------------------------------------------------------------------------------------------------------------
// 🌐 Language-Specific
// Settings for individual programming languages
// -------------------------------------------------------------------------------------------------------------------------
// 🟣 .NET / C#
// -------------------------------------------------------------------------------------------------------------------------
"[csharp]": {
"editor.defaultFormatter": "csharpier.csharpier-vscode",
"editor.formatOnSave": true
},
// Note: C# DevKit inlay hints are controlled via editor UI (right-click > Inlay Hints)
// Legacy csharp.inlayHints settings are deprecated in favor of dotnet settings
"dotnet.backgroundAnalysis.analyzerDiagnosticsScope": "openFiles", // Analyze open files only
"dotnet.backgroundAnalysis.compilerDiagnosticsScope": "openFiles", // Errors for open files
"dotnet.server.useOmnisharp": false, // Use C# DevKit
"dotnet.symbolSearch.searchReferenceAssemblies": true, // Search framework libs
// 🟪 CSS
// -------------------------------------------------------------------------------------------------------------------------
"[css]": {
"editor.defaultFormatter": "vscode.css-language-features",
"editor.formatOnSave": true
},
// 🚢 Docker
// -------------------------------------------------------------------------------------------------------------------------
"[dockerfile]": {
"editor.defaultFormatter": "ms-azuretools.vscode-containers"
},
"[dockercompose]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.autoIndent": "advanced",
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
},
"editor.defaultFormatter": "redhat.vscode-yaml"
},
// 🐿️ Go
// -------------------------------------------------------------------------------------------------------------------------
"[go]": {
"editor.defaultFormatter": "golang.go",
"editor.formatOnSave": true
},
"go.toolsManagement.autoUpdate": true, // Auto-update Go tools
"go.useLanguageServer": true, // Use gopls LSP
"go.lintOnSave": "package", // Lint on save
"go.vetOnSave": "package", // Vet on save
"go.coverOnSave": false, // No coverage on save
"go.testFlags": [
"-v"
], // Verbose test output
"gopls": {
// gopls LSP settings
"ui.semanticTokens": true,
"ui.codelenses": {
"test": true,
"references": true
}
},
// 🟧 HTML
// -------------------------------------------------------------------------------------------------------------------------
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features",
"editor.formatOnSave": true
},
// ☕️ Java
// -------------------------------------------------------------------------------------------------------------------------
"java.compile.nullAnalysis.mode": "automatic", // Null pointer analysis
"java.configuration.updateBuildConfiguration": "automatic", // Auto-update build config
"java.codeGeneration.useBlocks": true, // Always use {} blocks
"java.saveActions.organizeImports": true, // Organize imports
"java.sources.organizeImports.starThreshold": 99, // Avoid wildcard imports
"java.test.config": {}, // Use default test config
// 🟨 JavaScript
// -------------------------------------------------------------------------------------------------------------------------
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"javascript.updateImportsOnFileMove": "always", // Update imports on move
"javascript.preferences.importModuleSpecifier": "relative", // Use relative imports
"javascript.suggest.autoImports": true, // Auto-add imports
"javascript.suggest.completeFunctionCalls": true, // Add () on completion
// ⚫ JSON
// -------------------------------------------------------------------------------------------------------------------------
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features",
"editor.formatOnSave": true,
"editor.tabSize": 2
},
"json.maxItemsComputed": 99999, // Process large JSON files
// ⚫ JSONC (JSON with Comments)
// -------------------------------------------------------------------------------------------------------------------------
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.tabSize": 2
},
// ⬜ Markdown
// -------------------------------------------------------------------------------------------------------------------------
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
"editor.formatOnSave": true,
"editor.unicodeHighlight.invisibleCharacters": true,
"editor.wordWrap": "on"
},
// 🔤 Plain Text
// -------------------------------------------------------------------------------------------------------------------------
"[plaintext]": {
"editor.unicodeHighlight.invisibleCharacters": true
},
// 🐍 Python
// -------------------------------------------------------------------------------------------------------------------------
"[python]": {
"editor.defaultFormatter": "ms-python.python",
"editor.formatOnSave": true
},
"python.analysis.autoImportCompletions": true, // Auto-import suggestions
"python.analysis.completeFunctionParens": true, // Add () on completion
"python.analysis.typeCheckingMode": "basic", // Basic type checking
"python.languageServer": "Pylance", // Use Pylance LSP
"python.testing.pytestArgs": [
"tests",
"-v"
], // pytest configuration
"python.testing.pytestEnabled": true, // Use pytest
"python.testing.unittestEnabled": false, // Disable unittest
// 💾 SQL
// -------------------------------------------------------------------------------------------------------------------------
"[sql]": {
"editor.defaultFormatter": "inferrinizzard.prettier-sql-vscode"
},
// 🔵 TypeScript
// -------------------------------------------------------------------------------------------------------------------------
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"typescript.updateImportsOnFileMove.enabled": "always", // Update imports on move
"typescript.preferences.importModuleSpecifier": "relative", // Use relative imports
"typescript.suggest.autoImports": true, // Auto-add imports
// 🅰️ YAML
// -------------------------------------------------------------------------------------------------------------------------
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
"editor.formatOnSave": true,
"editor.insertSpaces": true,
"editor.tabSize": 2
},
"[yml]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
"editor.formatOnSave": true
},
"[github-actions-workflow]": {
"editor.defaultFormatter": "redhat.vscode-yaml"
},
"yaml.schemas": {
// GitHub Actions workflow validation and IntelliSense
"https://json.schemastore.org/github-workflow.json": ".github/workflows/*",
// GitHub Actions action.yml validation
"https://json.schemastore.org/github-action.json": ".github/actions/*/action.yml",
// Docker Compose file validation
"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json": "compose.yaml"
},
// -------------------------------------------------------------------------------------------------------------------------
// 🧩 Extensions
// Extension-specific settings and configurations
// -------------------------------------------------------------------------------------------------------------------------
// ⭐️ Code Quality
// -------------------------------------------------------------------------------------------------------------------------
"sonarlint.connectedMode.connections.sonarcloud": [
{
"connectionId": "nanotaboada",
"organizationKey": "nanotaboada",
"region": "EU"
}
],
"sonarlint.automaticAnalysis": true, // Auto-analyze code
"sonarlint.focusOnNewCode": false, // Analyze all code
"sonarlint.ideLabsEnabled": true, // Enable IDE Labs
// ✅ Formatting & Linting
// -------------------------------------------------------------------------------------------------------------------------
"redhat.telemetry.enabled": true, // Red Hat telemetry
"markdown-preview-github-styles.darkTheme": "light", // GitHub preview theme
"markdown.editor.pasteUrlAsFormattedLink.enabled": "smartWithSelection", // Smart URL paste
"markdown.editor.drop.enabled": "smart", // Smart file drop
"markdown.editor.filePaste.enabled": "smart", // Smart file paste
// 🔄 Version Control & Collaboration
// -------------------------------------------------------------------------------------------------------------------------
"gitlens.ai.model": "vscode", // Use VS Code AI model
"gitlens.ai.vscode.model": "copilot:claude-sonnet", // Claude Sonnet 4.5 for GitLens
// 🎨 UI Enhancements
// -------------------------------------------------------------------------------------------------------------------------
// 🌈 Indent Rainbow colors
"indentRainbow.colors": [
"rgba(64,64,16,0.1)",
"rgba(32,64,32,0.1)",
"rgba(64,32,64,0.1)",
"rgba(16,48,48,0.1)"
],
// 🌐 Language-Specific Extensions
// -------------------------------------------------------------------------------------------------------------------------
// 🟣 .NET
"dotnet.preview.enableSupportForSlnx": false, // No .slnx preview
"dotnetAcquisitionExtension.existingDotnetPath": [], // .NET install paths
// 💾 MSSQL (SQL Server)
"mssql.connectionGroups": [
{
"id": "68191908-3628-477C-BE06-23D04590BC2D",
"name": "ROOT"
}
],
"mssql.connections": [], // Saved connections
"mssql.resultsFontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace",
// ☁️ AWS
"aws.cloudformation.telemetry.enabled": true, // CloudFormation telemetry
// -------------------------------------------------------------------------------------------------------------------------
// ♿ Accessibility
// Accessibility features and signals
// -------------------------------------------------------------------------------------------------------------------------
"accessibility.signals.lineHasBreakpoint": {
// Sound when line has breakpoint
"sound": "auto"
},
"accessibility.signals.lineHasError": {
// Sound when line has error
"sound": "auto"
},
"accessibility.signals.lineHasWarning": {
// Sound when line has warning
"sound": "auto"
},
"accessibility.signals.onDebugBreak": {
// Sound when debugger breaks
"sound": "auto"
},
"accessibility.openChatEditedFiles": true, // Open Copilot edits
"terminal.integrated.accessibleViewFocusOnCommandExecution": false, // No auto-focus
// -------------------------------------------------------------------------------------------------------------------------
// 💬 Chat & Copilot Tools
// Auto-approved terminal commands (safe operations) and URL approval rules
// -------------------------------------------------------------------------------------------------------------------------
"chat.tools.urls.autoApprove": {
"https://docs.github.com": {
"approveRequest": false,
"approveResponse": true
}
},
"chat.tools.terminal.autoApprove": {
// File reading and inspection
// -----------------------------------------------------------------------------------------------------------------------
"cat": true,
"head": true,
"tail": true,
"less": true,
"more": true,
"bat": true,
"hexdump": true,
// File system navigation and info
// -----------------------------------------------------------------------------------------------------------------------
"cd": true,
"ls": true,
"pwd": true,
"tree": true,
"/^tree\\b.*-o\\b/": false, // Block output redirection
"find": true,
"/^find\\b.*-(delete|exec|execdir|fprint|fprintf|fls|ok|okdir)\\b/": false, // Block destructive operations
"which": true,
"basename": true,
"dirname": true,
"realpath": true,
"readlink": true,
"stat": true,
"file": true,
"du": true,
"df": true,
// Text processing
// -----------------------------------------------------------------------------------------------------------------------
"echo": true,
"grep": true,
"findstr": true,
"wc": true,
"tr": true,
"cut": true,
"cmp": true,
"column": true,
"/^column\\b.*-c\\s+[0-9]{4,}/": false, // Block excessive column widths
"sort": true,
"/^sort\\b.*-(o|S)\\b/": false, // Block output redirection
// System information
// -----------------------------------------------------------------------------------------------------------------------
"date": true,
"/^date\\b.*(-s|--set)\\b/": false, // Block date modification
"sleep": true,
"uname": true,
"hostname": true,
"env": true,
"printenv": true,
"uptime": true,
"whoami": true,
// Git (read-only operations)
// -----------------------------------------------------------------------------------------------------------------------
"git status": true,
"git log": true,
"git show": true,
"git diff": true,
"git grep": true,
"git branch": true,
"/^git branch\\b.*-(d|D|m|M|-delete|-force)\\b/": false, // Block branch deletion
"git stash list": true,
"git remote": true,
"git tag": true,
"git fetch": true,
"git ls-files": true,
"git ls-tree": true,
// .NET CLI (all safe development operations)
// -----------------------------------------------------------------------------------------------------------------------
"dotnet --version": true,
"dotnet --info": true,
"dotnet --list-sdks": true,
"dotnet --list-runtimes": true,
"dotnet build": true,
"dotnet run": true,
"dotnet watch": true,
"dotnet test": true,
"dotnet restore": true,
"dotnet clean": true,
"dotnet publish": true,
"dotnet format": true,
"dotnet tool": true,
"dotnet ef": true,
// Python (FastAPI)
// -----------------------------------------------------------------------------------------------------------------------
"python": true,
"python3": true,
"pip": true,
"pip3": true,
"poetry": true,
"poetry run": true,
"uvicorn": true,
"pytest": true,
"black": true,
"flake8": true,
"ruff": true,
"mypy": true,
// Go (Gin)
// -----------------------------------------------------------------------------------------------------------------------
"go": true,
"go run": true,
"go build": true,
"go test": true,
"go mod": true,
"go fmt": true,
"go vet": true,
"go get": true,
"go list": true,
"go version": true,
// Node.js/TypeScript (Express)
// -----------------------------------------------------------------------------------------------------------------------
"node": true,
"npm": true,
"npm run": true,
"npm test": true,
"npm install": true,
"npm ci": true,
"npm list": true,
"yarn": true,
"yarn run": true,
"pnpm": true,
"tsx": true,
"ts-node": true,
// Java (Spring Boot)
// -----------------------------------------------------------------------------------------------------------------------
"java": true,
"javac": true,
"./mvnw": true,
"mvn": true,
"gradle": true,
"./gradlew": true,
"jar": true,
"jenv": true,
// Rust (Rocket)
// -----------------------------------------------------------------------------------------------------------------------
"cargo": true,
"cargo build": true,
"cargo run": true,
"cargo test": true,
"cargo check": true,
"cargo fmt": true,
"cargo clippy": true,
"rustc": true,
"rustup": true,
// Docker (read-only and safe operations)
// -----------------------------------------------------------------------------------------------------------------------
"docker ps": true,
"docker images": true,
"docker inspect": true,
"docker version": true,
"docker compose": true,
"docker compose ps": true,
"docker compose config": true,
"docker logs": true,
"docker exec": true,
// Database tools
// -----------------------------------------------------------------------------------------------------------------------
"sqlite3": true,
// Editor
// -----------------------------------------------------------------------------------------------------------------------
"code": true,
// ⚠️ Blocked: Destructive file operations
// -----------------------------------------------------------------------------------------------------------------------
"rm": false,
"rmdir": false,
"del": false,
"Remove-Item": false,
"ri": false,
"rd": false,
"erase": false,
"dd": false,
// ⚠️ Blocked: Process management
// -----------------------------------------------------------------------------------------------------------------------
"kill": false,
"ps": false,
"top": false,
"spps": false,
"taskkill": false,
"taskkill.exe": false,
// ⚠️ Blocked: Network operations
// -----------------------------------------------------------------------------------------------------------------------
"curl": false,
"wget": false,
"irm": false,
"iwr": false,
// ⚠️ Blocked: Permission changes
// -----------------------------------------------------------------------------------------------------------------------
"chmod": false,
"chown": false,
"sp": false,
"Set-Acl": false,
// ⚠️ Blocked: Dangerous utilities
// -----------------------------------------------------------------------------------------------------------------------
"jq": false,
"xargs": false,
"eval": false,
"iex": false
},
// 🚧 Experimental settings
"chat.extensionUnification.enabled": true, // Use unified Copilot extension experience
"chat.agent.thinkingStyle": "collapsed", // Collapse thinking process
"chat.viewSessions.orientation": "stacked", // Stack chat sessions vertically
"inlineChat.enableV2": true, // Enable modern inline chat experience
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment