VSCode Settings
Settings in VSCode are stored in a JSON file, which allows for easy customization and sharing of configurations. Below is an example of a comprehensive settings.json file that includes various settings for the editor, workbench, files, search, explorer, extensions, git, language-specific configurations, plugin-specific settings, terminal, performance optimizations, and chat features.
{
// ============================================================================
// EDITOR - Typography & Visual
// ============================================================================
"editor.fontFamily": "'JetBrains Mono', monospace",
"editor.fontSize": 16,
"editor.lineHeight": 1.6,
"editor.letterSpacing": 0.5,
"editor.fontLigatures": true, // Enable font ligatures for better code readability
// ============================================================================
// EDITOR - Cursor & Animation
// ============================================================================
"editor.cursorBlinking": "solid",
"editor.cursorSmoothCaretAnimation": "on",
"editor.cursorStyle": "line",
"editor.cursorWidth": 3,
"editor.smoothScrolling": true,
// ============================================================================
// EDITOR - Layout & Display
// ============================================================================
"editor.renderLineHighlight": "all",
"editor.rulers": [80, 120],
"editor.wordWrap": "off",
"editor.renderWhitespace": "boundary",
"editor.padding.top": 10,
"editor.padding.bottom": 10,
"editor.minimap.autohide": true,
"editor.occurrencesHighlight": "singleFile",
"editor.selectionHighlight": false,
"editor.bracketPairColorization.enabled": true, // Color-code matching brackets
"editor.guides.bracketPairs": "active", // Show bracket pair guides
// ============================================================================
// EDITOR - Formatting & Code Actions
// ============================================================================
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.linkedEditing": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
// ============================================================================
// EDITOR - IntelliSense & Suggestions
// ============================================================================
"editor.suggestSelection": "first",
"editor.quickSuggestions": {
"other": "on",
"comments": "off",
"strings": "off"
},
"editor.smartSelect.selectLeadingAndTrailingWhitespace": false,
"editor.acceptSuggestionOnCommitCharacter": false, // Prevent accidental suggestion acceptance
"editor.acceptSuggestionOnEnter": "smart", // Better suggestion acceptance
"editor.tabCompletion": "on", // Enable tab completion
"editor.suggest.insertMode": "replace", // Replace suggestions instead of inserting
// ============================================================================
// EDITOR - Accessibility
// ============================================================================
"editor.accessibilitySupport": "off",
// ============================================================================
// WORKBENCH - UI Layout
// ============================================================================
"workbench.activityBar.location": "top",
"workbench.startupEditor": "welcomePage",
"workbench.statusBar.visible": true,
"workbench.layoutControl.enabled": false,
"workbench.tree.indent": 20,
"workbench.colorTheme": "Catppuccin Frappé",
// ============================================================================
// WINDOW - Display Settings
// ============================================================================
"window.commandCenter": false,
"window.menuBarVisibility": "compact",
"window.newWindowDimensions": "maximized",
// ============================================================================
// FILES - Management & Performance
// ============================================================================
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000, // Auto-save after 1 second
"files.trimTrailingWhitespace": true, // Remove trailing whitespace on save
"files.insertFinalNewline": true, // Ensure files end with newline
"files.trimFinalNewlines": true, // Remove extra newlines at end of file
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/.hg/store/**": true,
"**/node_modules/**": true,
"**/vendor/**": true,
"**/storage/**": true
},
// ============================================================================
// SEARCH - Exclusions
// ============================================================================
"search.exclude": {
"**/node_modules": true,
"**/vendor": true,
"**/storage": true,
"**/.git": true,
"**/*.code-search": true
},
// ============================================================================
// EXPLORER - File Management
// ============================================================================
"explorer.confirmDragAndDrop": false,
"explorer.confirmDelete": false,
// ============================================================================
// EXTENSIONS - Management
// ============================================================================
"extensions.autoUpdate": false,
// ============================================================================
// GIT - Version Control
// ============================================================================
"git.autofetch": true,
"git.confirmSync": false,
"git.suggestSmartCommit": false,
"git.replaceTagsWhenPull": true,
"githubPullRequests.pullBranch": "never",
"diffEditor.ignoreTrimWhitespace": false,
// ============================================================================
// LANGUAGE SPECIFIC - Formatters & Rules
// ============================================================================
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.wordWrap": "on",
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[php]": {
"editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
},
// ============================================================================
// PLUGIN SPECIFIC - Extensions
// ============================================================================
"namespaceResolver.sortAlphabetically": true,
// Prettier configuration
"prettier.tabWidth": 2,
"prettier.useTabs": false,
"prettier.semi": true,
"prettier.singleQuote": true,
"prettier.trailingComma": "es5",
// PHP Intelephense
"intelephense.files.maxSize": 5000000,
"intelephense.completion.insertUseDeclaration": true,
"intelephense.completion.fullyQualifyGlobalConstantsAndFunctions": false,
// Terminal
"terminal.integrated.fontSize": 14,
"terminal.integrated.fontFamily": "'JetBrains Mono', monospace",
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.cursorStyle": "block",
// Performance
"typescript.preferences.includePackageJsonAutoImports": "off",
"typescript.suggest.autoImports": false,
"github.copilot.nextEditSuggestions.enabled": true,
"editor.inlineSuggest.edits.allowCodeShifting": "never",
// ============================================================================
// CHAT - Features
// ============================================================================
"chat.useAgentSkills": true,
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": true,
"scminput": false,
},
}