Last active
February 22, 2026 16:56
-
-
Save nanotaboada/00c435a33bc2f4533fac9bb7fc68fdc7 to your computer and use it in GitHub Desktop.
⚙ VS Code Settings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
| // --------------------------------------------------------------------------------------------------------------------------- | |
| // ⚙ 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 | |
| "workbench.editor.highlightModifiedTabs": true, // Visually mark unsaved tabs (default: false) | |
| "workbench.editor.enablePreview": false, // Single-click opens permanent tab (default: true) | |
| "workbench.editor.tabSizing": "fit", // Tabs shrink to fit (explicit, matches default) | |
| // Tree views (Explorer, Search, Git panels) ---------------------------------------------------------------------------- | |
| "workbench.tree.enableStickyScroll": true, // Sticky parent folders | |
| "workbench.tree.stickyScrollMaxItemCount": 9, // 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]": {} | |
| }, | |
| "workbench.list.smoothScrolling": true, // Smooth tree/list scrolling (default: false) | |
| // 🪟 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 | |
| // 🕓 Local history ------------------------------------------------------------------------------------------------------- | |
| "workbench.localHistory.enabled": true, // Keep local file history (explicit, matches default) | |
| "workbench.localHistory.maxFileEntries": 55, // Max history entries per file | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 📂 Explorer | |
| // File explorer: layout, behavior, and file/folder visibility | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "explorer.autoReveal": true, // ⚠️ Auto-reveal active file in explorer | |
| "explorer.compactFolders": false, // Don't compact single-child folders (keep full path visible) | |
| "explorer.excludeGitIgnore": true, // ⚠️ Exclude files from explorer based on .gitignore | |
| "explorer.confirmDelete": true, // Always confirm before delete | |
| "explorer.confirmDragAndDrop": true, // Always confirm drag & drop moves | |
| "explorer.fileNesting.enabled": true, // Group related files under parent | |
| "explorer.fileNesting.patterns": { | |
| "*.ts": "${capture}.js", | |
| "*.js": "${capture}.js.map, ${capture}.min.js, ${capture}.d.ts", | |
| "*.jsx": "${capture}.js", | |
| "*.tsx": "${capture}.ts", | |
| "tsconfig.json": "tsconfig.*.json", | |
| "package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb", | |
| "go.mod": "go.sum", // Group Go module files | |
| "*.csproj": "*.sln", // Group .NET solution files | |
| "pom.xml": ".mvn, mvnw, mvnw.cmd" // Group Maven wrapper files | |
| }, | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // ✏️ Editor | |
| // Code editor: formatting, behavior, and appearance | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 🔤 Font & rendering ----------------------------------------------------------------------------------------------------- | |
| "editor.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace", | |
| "editor.codeLensFontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace", | |
| "editor.inlineSuggest.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace", | |
| "editor.semanticHighlighting.enabled": true, // Semantic token colors | |
| "editor.bracketPairColorization.enabled": true, // Color-code brackets | |
| // 🖱️ Cursor --------------------------------------------------------------------------------------------------------------- | |
| "editor.cursorStyle": "block", // Block-style cursor | |
| "editor.cursorBlinking": "smooth", // Smooth cursor blink | |
| "editor.cursorSmoothCaretAnimation": "on", // Smooth cursor movement | |
| "editor.cursorSurroundingLines": 8, // Visible lines around cursor | |
| "editor.cursorSurroundingLinesStyle": "default", // Apply to all lines | |
| // 📐 Indentation & whitespace --------------------------------------------------------------------------------------------- | |
| "editor.tabSize": 4, | |
| "editor.insertSpaces": true, // ⚠️ Use spaces, not tabs | |
| "editor.trimAutoWhitespace": true, // ⚠️ Trim auto-inserted whitespace | |
| "editor.renderWhitespace": "boundary", // Show whitespace at boundaries | |
| // 📏 Layout & guides ------------------------------------------------------------------------------------------------------ | |
| "editor.wordWrap": "off", // No line wrapping | |
| "editor.rulers": [ | |
| { "column": 127 } // ⚠️ Vertical ruler at column 127 (GitHub) | |
| ], | |
| "editor.guides.bracketPairs": "active", // Show active bracket guides | |
| "editor.guides.highlightActiveIndentation": true, // Highlight active indent | |
| // 🔗 Editing behavior ----------------------------------------------------------------------------------------------------- | |
| "editor.linkedEditing": true, // Edit matching tags simultaneously | |
| "editor.largeFileOptimizations": false, // Disable large file optimizations | |
| "editor.smoothScrolling": true, // Smooth scrolling | |
| "editor.formatOnPaste": false, // Don't format on paste (format on save handles it) | |
| // 🔍 Find ----------------------------------------------------------------------------------------------------------------- | |
| "editor.find.seedSearchStringFromSelection": "always", // Pre-fill find with current selection | |
| // 🔍 Occurrences & navigation --------------------------------------------------------------------------------------------- | |
| "editor.occurrencesHighlight": "singleFile", // Highlight occurrences in file | |
| "editor.gotoLocation.multipleDefinitions": "peek", // Peek when multiple definitions exist | |
| // 💡 Suggestions & IntelliSense ------------------------------------------------------------------------------------------- | |
| "editor.wordBasedSuggestions": "offWithInlineSuggestions", // Suppress word suggestions when Copilot is active | |
| "editor.suggest.localityBonus": true, // Rank nearby symbols higher in suggestions | |
| "editor.inlayHints.enabled": "off", // ⚠️ Disable inlay hints (reduce visual noise) | |
| // 📌 Sticky scroll -------------------------------------------------------------------------------------------------------- | |
| "editor.stickyScroll.enabled": true, // Keep scope visible while scrolling | |
| "editor.stickyScroll.maxLineCount": 9, // Max sticky lines | |
| "editor.stickyScroll.scrollWithEditor": true, // Sync sticky scroll with editor | |
| // 🗺️ Minimap -------------------------------------------------------------------------------------------------------------- | |
| "editor.minimap.enabled": true, // Show minimap | |
| "editor.minimap.maxColumn": 127, // Match ruler column | |
| "editor.minimap.renderCharacters": false, // Use blocks not chars | |
| "editor.minimap.showSlider": "always", // Always show slider | |
| "editor.minimap.size": "fill", // Fill vertical space | |
| // 📋 Clipboard ------------------------------------------------------------------------------------------------------------ | |
| "editor.copyWithSyntaxHighlighting": false, // ⚠️ Prevents copying rich text to clipboard — | |
| // avoids extra blank lines when pasting into | |
| // Slack, Jira, Confluence, etc. | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 🍞 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 code lens in diff editor | |
| "diffEditor.ignoreTrimWhitespace": false, // Show whitespace changes in diffs | |
| "diffEditor.renderGutterMenu": true, // Show gutter menu for quick actions in diff editor | |
| "diffEditor.experimental.showMoves": true, // Show moved code blocks in diffs (v1.85+) | |
| "diffEditor.diffAlgorithm": "advanced", // Use advanced diff algorithm for better diffs (v1.85+) | |
| "diffEditor.hideUnchangedRegions.enabled": false, // Don't hide unchanged regions in diffs | |
| "diffEditor.renderSideBySide": true, // Always side-by-side (explicit, matches default) | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 💻 Terminal | |
| // Integrated terminal: appearance, behavior, and shell integration | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 🔗 Link schemes --------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.allowedLinkSchemes": [ | |
| "docker-desktop", | |
| "file", | |
| "http", | |
| "https", | |
| "mailto", | |
| "vscode", | |
| "vscode-insiders" | |
| ], | |
| // 🎨 Appearance ----------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace", | |
| "terminal.integrated.fontSize": 12, | |
| "terminal.integrated.rescaleOverlappingGlyphs": true, // Better rendering of overlapping characters (e.g. ligatures, emojis) | |
| "terminal.integrated.smoothScrolling": true, // Smooth terminal scrolling | |
| "terminal.integrated.mouseWheelZoom": true, // Ctrl + mouse wheel zooms terminal font | |
| // 🖱️ Cursor --------------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.cursorStyle": "block", // Block cursor (matches editor style) | |
| "terminal.integrated.cursorBlinking": false, // Don't blink cursor (can be distracting) | |
| // 📋 Selection & clipboard ------------------------------------------------------------------------------------------------ | |
| "terminal.integrated.copyOnSelection": false, // Don't auto-copy on select | |
| "terminal.integrated.rightClickBehavior": "selectWord", // Right-click selects word | |
| // 🔔 Notifications -------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.confirmOnKill": "editor", // Confirm kill only in editor tabs | |
| "terminal.integrated.showExitAlert": true, // Alert on non-zero exit | |
| "terminal.integrated.enableMultiLinePasteWarning": "auto", // Warn on multi-line paste | |
| // 📜 Scrollback ----------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.scrollback": 1100, // Lines to keep in buffer | |
| "terminal.integrated.persistentSessionScrollback": 110, // Lines saved across sessions | |
| // 🔁 Session & environment ------------------------------------------------------------------------------------------------ | |
| "terminal.integrated.enablePersistentSessions": true, // Restore terminals on restart | |
| "terminal.integrated.inheritEnv": true, // Inherit shell env variables | |
| "terminal.integrated.macOptionIsMeta": false, // ⚠️ Option key as Option, not Meta (macOS) | |
| // 🔌 Shell integration ---------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.shellIntegration.enabled": true, // Enable shell integration | |
| "terminal.integrated.shellIntegration.decorationsEnabled": "both", // Show command decorations in gutter | |
| "terminal.integrated.shellIntegration.quickFixEnabled": true, // Quick fixes in terminal | |
| // 💡 Suggestions ---------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.suggest.enabled": true, // Terminal IntelliSense | |
| "terminal.integrated.suggest.suggestOnTriggerCharacters": true, // Suggest on -,/,etc | |
| // 🗂️ Tabs ----------------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.tabs.defaultIcon": "terminal", // Default tab icon | |
| "terminal.integrated.tabs.title": "${process}", // Show process name in tab | |
| "terminal.integrated.tabs.description": "${task}${separator}${local}${separator}${cwdFolder}", | |
| // 🔒 Sticky scroll -------------------------------------------------------------------------------------------------------- | |
| "terminal.integrated.stickyScroll.enabled": false, // No sticky scroll | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 📄 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, // ⚠️ Ensure file ends with newline | |
| "files.trimFinalNewlines": true, // ⚠️ Trim extra blank lines at end of file | |
| "files.trimTrailingWhitespace": true, // ⚠️ Trim trailing whitespace on save | |
| "files.associations": { | |
| "*.json": "json", | |
| "settings.json": "jsonc", // ⚠️ Use JSON with comments for settings file | |
| ".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 | |
| "*.yml": "yaml", // YAML files | |
| "copilot-instructions.md": "markdown" // Copilot instruction files (markdown format) | |
| }, | |
| "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.collapseResults": "alwaysExpand", // Always expand search results (default: auto) | |
| "search.showLineNumbers": true, // Show line numbers in results (default: false) | |
| "search.smartCase": true, // Case-insensitive unless pattern has uppercase (default: false) | |
| "search.maxResults": 20000, // Explicit cap on results (explicit) | |
| "search.searchOnType": true, // Search as you type (explicit) | |
| "search.useIgnoreFiles": true, // ⚠️ Respect .gitignore and similar files | |
| "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 changes when switching branches | |
| "git.autofetch": true, // Auto-fetch changes from remotes | |
| "git.openRepositoryInParentFolders": "never", // Don't auto-detect repos in parent folders | |
| "git.showCommitInput": true, // Show commit input box | |
| "git.timeline.showAuthor": true, // Show commit author in timeline | |
| "git.timeline.showUncommitted": true, // Show uncommitted changes in timeline | |
| "git.branchProtection": [ | |
| "master" | |
| ], // Protect master branch | |
| "git.defaultBranchName": "master", // Default branch name for new repos | |
| "git.mergeEditor": true, // Use merge editor for conflicts | |
| "git.promptToSaveFilesBeforeCommit": "always", // Save before commit | |
| "git.promptToSaveFilesBeforeStash": "always", // Save before stash | |
| "git.pruneOnFetch": false, // Don't auto-prune remote branches on fetch | |
| "git.requireGitUserConfig": true, // Require user.name and user.email for commits | |
| "git.suggestSmartCommit": false, // Don't suggest smart commit (only commit staged changes) | |
| // 🏷️ Git Blame annotations ------------------------------------------------------------------------------------------------ | |
| "git.blame.editorDecoration.enabled": true, // ⚠️ Show blame annotations in editor | |
| "git.blame.editorDecoration.template": "${subject} • ${authorName} • ${authorDateAgo}", | |
| "git.blame.statusBarItem.enabled": true, // Show blame info in status bar | |
| "git.blame.statusBarItem.template": "${authorName} • ${authorDateAgo} • ${subject}", | |
| // 🕶 Modern Git features (v1.85+) ----------------------------------------------------------------------------------------- | |
| "scm.repositories.selectionMode": "single", // Only select one repository at a time | |
| "scm.inputMinLineCount": 1, // Minimum lines for commit input box | |
| "scm.inputMaxLineCount": 10, // Maximum lines for commit input box | |
| "scm.inputFontSize": 12, // Commit input font size | |
| "git.decorations.enabled": true, // Enable Git decorations (e.g. modified/added indicators) | |
| "git.verboseCommit": false, // Don't show detailed commit messages in SCM view (keep it concise) | |
| "git.useEditorAsCommitInput": false, // Use built-in commit input box, not editor (explicit, matches default) | |
| // 🔘 SCM action buttons --------------------------------------------------------------------------------------------------- | |
| "git.showActionButton": { | |
| "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, // Enable branch protection features | |
| "githubPullRequests.createOnPublishBranch": "ask", // Ask before creating PR on publish | |
| "githubPullRequests.pullBranch": "never", // Don't auto-checkout PR branches | |
| // 🤖 Copilot AI settings -------------------------------------------------------------------------------------------------- | |
| "github.copilot.enable": { | |
| // Per-language enablement | |
| "*": true, // Enable for all languages by default | |
| "markdown": false, // Disable for markdown files | |
| "plaintext": false, // Disable for plain text files | |
| "scminput": false // Disable for SCM input (e.g. commit messages) to avoid distractions | |
| }, | |
| "github.copilot.editor.enableCodeActions": true, // Enable Copilot code actions (e.g. "Fix this code", "Add error handling") | |
| "github.copilot.selectedCompletionModel": "gpt-4.1", // Use GPT-4.1 for Copilot completions | |
| "github.copilot.renameSuggestions.triggerAutomatically": true, // ⚠️ Automatically trigger rename suggestions | |
| // when renaming symbols (can be noisy, but helps | |
| // keep code consistent) | |
| "github.copilot.chat.codeGeneration.useInstructionFiles": true, // Use instruction files for code generation | |
| "github.copilot.chat.agent.currentEditorContext.enabled": true, // Include active editor name in agent context | |
| "github.copilot.chat.agent.autoFix": false, // ⚠️ Don't automatically apply fixes, show | |
| // suggestions in chat for user review instead | |
| // (safer, prevents unintended changes) | |
| // Next Edit Suggestions (NES) - AI-generated edit suggestions based on diagnostics, code context, and recent changes ------ | |
| "github.copilot.nextEditSuggestions.enabled": true, // Enable Next Edit Suggestions | |
| "github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges": true, // Allow NES to suggest changes that only modify | |
| // whitespace (e.g. formatting fixes) | |
| "github.copilot.nextEditSuggestions.extendedRange": true, // Consider larger code context for NES | |
| "github.copilot.nextEditSuggestions.fixes": true, // Offer diagnostic fixes via NES | |
| "github.copilot.nextEditSuggestions.preferredModel": "none", // ⚠️ Use default model for Next Edit Suggestions | |
| // (don't pin to a specific model, allow updates | |
| // and improvements over time) | |
| // 🚧 Experimental (These settings enable experimental features that may be unstable. Use with caution.) | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 🤖 Agent mode ----------------------------------------------------------------------------------------------------------- | |
| "github.copilot.chat.askQuestions.enabled": true, // ⚠️ Allow agents to ask clarifying questions | |
| // in chat when user intent is unclear (can lead | |
| // to better results, may generate more messages) | |
| "github.copilot.chat.summarizeAgentConversationHistory.enabled": true, // ⚠️ Summarize agent conversation history to | |
| // improve performance and context relevance | |
| // (especially for long-running sessions) | |
| "github.copilot.chat.agentHistorySummarizationForceGpt41": true, // ⚠️ Force using GPT-4.1 for agent conversation | |
| // history summarization for best results, | |
| // even if a different model is selected for | |
| // the agent (summarization quality is critical | |
| // for agent performance) | |
| "github.copilot.chat.agent.temperature": 0, // Use deterministic responses for agent tools | |
| "github.copilot.chat.agent.largeToolResultsToDisk.enabled": true, // Offload large tool results to disk to prevent | |
| // memory issues (e.g. large diffs, test outputs) | |
| "github.copilot.chat.agent.largeToolResultsToDisk.thresholdBytes": 8192, // Threshold for offloading tool results to disk | |
| // (8KB, adjust based on typical tool output sizes) | |
| // 🔮 Anthropic / Claude --------------------------------------------------------------------------------------------------- | |
| "github.copilot.chat.anthropic.useMessagesApi": true, // Use Messages API for Anthropic models | |
| "github.copilot.chat.anthropic.thinking.budgetTokens": 16000, // Token budget for Anthropic model thinking | |
| // process (higher allows for more complex | |
| // reasoning but may increase latency) | |
| "github.copilot.chat.anthropic.contextEditing.enabled": false, // ⚠️ Allow Anthropic models to edit their own | |
| // context (can lead to better results but may | |
| // cause issues if the model removes important | |
| // information) | |
| // 🔍 Code Review | |
| "github.copilot.chat.reviewAgent.enabled": true, // Enable code review agent for pull requests | |
| // and code files | |
| "github.copilot.chat.reviewSelection.enabled": true, // Allow selecting specific code blocks for | |
| // review by the agent (instead of whole file) | |
| // for more focused feedback | |
| // 📝 Commit & PR generation ----------------------------------------------------------------------------------------------- | |
| "github.copilot.chat.commitMessageGeneration.instructions": [ | |
| { "text": "Use conventional commit format: <type>(<scope>): <description>" } | |
| ], | |
| "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [], | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 🐛 Run and Debug | |
| // Debugging behavior, configurations, and UI settings | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "debug.javascript.autoAttachFilter": "onlyWithFlag", // Auto-attach to Node.js processes with --inspect | |
| "debug.toolBarLocation": "commandCenter", // Centralized debug toolbar | |
| "debug.closeReadonlyTabsOnEnd": true, // Close debug tabs when session ends | |
| "debug.inlineValues": "auto", // Show variable values inline while debugging | |
| "debug.openDebug": "openOnDebugBreak", // Open debug view only on breakpoint hit | |
| "debug.terminal.clearBeforeReusing": true, // Clear terminal before each debug session (default: false) | |
| "debug.focusEditorOnBreak": true, // Focus editor when debugger breaks (explicit) | |
| "debug.onTaskErrors": "prompt", // Ask what to do on preLaunchTask errors (explicit) | |
| "debug.console.fontFamily": "MesloLGS NF, Menlo, Monaco, 'Courier New', monospace", // Match editor font | |
| "debug.console.fontSize": 12, // Match terminal font size | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 🧪 Testing | |
| // Test explorer, runners, and coverage settings | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "testing.defaultGutterClickAction": "run", // Clicking test gutter runs test | |
| "testing.followRunningTest": true, // Auto-reveal running test in explorer | |
| "testing.saveBeforeTest": true, // Save dirty editors before running tests (explicit) | |
| "testing.automaticallyOpenTestResults": "openOnTestStart", // Open test results view when test starts | |
| "testing.automaticallyOpenPeekView": "failureInVisibleDocument", // Open peek view on test failure if test is in currently visible document | |
| "testing.alwaysRevealTestOnStateChange": true, // Always reveal test in explorer when its state changes (e.g. from running to failed) to keep test results visible | |
| "testing.countBadge": "failed", // Show failed test count in badge | |
| // 🚦 Coverage thresholds ------------------------------------------------------------------------------------------------ | |
| "testing.showCoverageInExplorer": true, // Show coverage in File Explorer (explicit) | |
| "testing.coverageBarThresholds": { | |
| "red": 0, | |
| "yellow": 40, | |
| "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", // Analyzer diagnostics for open files only | |
| "dotnet.backgroundAnalysis.compilerDiagnosticsScope": "openFiles", // Compiler diagnostics for open files only | |
| "dotnet.server.useOmnisharp": false, // ⚠️ Use .NET DevKit, not OmniSharp | |
| "dotnet.symbolSearch.searchReferenceAssemblies": true, // Search reference assemblies for symbols | |
| // 🟪 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 language server | |
| "go.lintOnSave": "package", // Lint on save for current package | |
| "go.vetOnSave": "package", // Vet on save for current package | |
| "go.coverOnSave": false, // Don't run coverage on save (use test explorer instead) | |
| "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 completions | |
| "python.analysis.completeFunctionParens": true, // Add parentheses on function completions | |
| "python.analysis.typeCheckingMode": "basic", // Basic type checking (more performant than strict) | |
| "python.languageServer": "Pylance", // Use Pylance language server | |
| "python.testing.pytestArgs": [ | |
| "tests", | |
| "-v" | |
| ], | |
| "python.testing.pytestEnabled": true, // Enable 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, // Enable automatic analysis on file save and open | |
| "sonarlint.focusOnNewCode": false, // Don't limit analysis to new code | |
| "sonarlint.ideLabsEnabled": true, // Enable SonarLint IDE Labs features | |
| // ✅ Formatting & Linting ------------------------------------------------------------------------------------------------- | |
| "markdown-preview-github-styles.darkTheme": "light", // Use light GitHub styles in markdown preview (matches VS Code dark theme better) | |
| "markdown.editor.pasteUrlAsFormattedLink.enabled": "smartWithSelection", // Smart paste URL as link when text is selected, otherwise paste as plain URL | |
| "markdown.editor.drop.enabled": "smart", // Smart drag-and-drop (e.g. dragging an image file into a markdown document will upload it and insert a formatted link) | |
| "markdown.editor.filePaste.enabled": "smart", // Smart file paste (e.g. pasting an image file into a markdown document will upload it and insert a formatted link) | |
| // 🔄 Version Control & Collaboration -------------------------------------------------------------------------------------- | |
| "gitlens.ai.model": "vscode", // Use default VS Code model for GitLens code suggestions | |
| "gitlens.ai.vscode.model": "copilot:claude-sonnet", // Use Claude Sonnet for GitLens code suggestions | |
| // 🎨 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": [], // No pre-defined 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 edited files in chat for screen readers | |
| "terminal.integrated.accessibleViewFocusOnCommandExecution": false, // Don't auto-focus accessible view on terminal | |
| // command execution (can be disruptive, better | |
| // to check manually when needed) | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| // 💬 Chat & Copilot Tools | |
| // Auto-approved terminal commands (safe operations) and URL approval rules | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "inlineChat.defaultModel": "Claude Sonnet 4.6 (copilot)", // Use Claude Sonnet for inline chat | |
| "mermaid-chat.enabled": true, // Enable Mermaid chat sessions | |
| "chat.viewSessions.orientation": "stacked", // Stack chat sessions vertically | |
| "chat.tools.autoExpandFailures": true, // Auto-expand tool output on failure to show error details | |
| // 🚧 Experimental (These settings enable experimental features that may be unstable. Use with caution.) | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "inlineChat.enableV2": true, // Enable new inline chat experience | |
| "chat.agent.codeBlockProgress": true, // Show progress updates for code-generating tools in chat | |
| "chat.extensionUnification.enabled": true, // Unify chat extensions into single interface | |
| "chat.agent.thinking.collapsedTools": "always", // Always collapse tool output in thinking process to reduce noise (can be expanded manually if needed) | |
| "chat.agent.thinkingStyle": "collapsed", // Start thinking process in collapsed state to reduce noise (can be expanded manually if needed) | |
| "chat.tools.terminal.ignoreDefaultAutoApproveRules": false, // Keep built-in safety rules active | |
| "chat.tools.terminal.blockDetectedFileWrites": "outsideWorkspace", // Block file writes outside workspace | |
| "chat.tools.terminal.autoApproveWorkspaceNpmScripts": true, // Trust package.json scripts in workspace | |
| "chat.tools.terminal.autoReplyToPrompts": false, // Don't auto-answer terminal prompts | |
| "chat.tools.terminal.preventShellHistory": true, // Exclude agent commands from shell history | |
| "chat.tools.terminal.outputLocation": "chat", // Show terminal output in chat only | |
| "chat.tools.terminal.enforceTimeoutFromModel": true, // Respect model-provided timeout | |
| // 🔗 Auto-approval rules for URLs (allowing responses from trusted domains while blocking potentially unsafe ones) | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "chat.tools.urls.autoApprove": { | |
| "https://docs.github.com": { | |
| "approveRequest": false, | |
| "approveResponse": true | |
| } | |
| }, | |
| // ✅ Auto-approved terminal commands (safe, read-only and build operations) | |
| // ------------------------------------------------------------------------------------------------------------------------- | |
| "chat.tools.terminal.enableAutoApprove": true, // Enable auto-approval for safe terminal commands | |
| "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 ------------------------------------------------------------------------------------------------------------------ | |
| "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 ---------------------------------------------------------------------------------------------------------------- | |
| "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 -------------------------------------------------------------------------------------------------------------------- | |
| "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 ---------------------------------------------------------------------------------------------------- | |
| "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 ------------------------------------------------------------------------------------------------------------------ | |
| "java": true, | |
| "javac": true, | |
| "./mvnw": true, | |
| "mvn": true, | |
| "gradle": true, | |
| "./gradlew": true, | |
| "jar": true, | |
| "jenv": true, | |
| // Rust ------------------------------------------------------------------------------------------------------------------ | |
| "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 | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment