{ // Performance Optimizations "files.watcherExclude": { "**/node_modules/**": true, "**/.git/**": true, "**/dist/**": true, "**/build/**": true, "**/vendor/**": true, "**/coverage/**": true, "**/.nyc_output/**": true, "**/android/app/build/**": true, "**/ios/build/**": true, "**/circuits/build/**": true, "**/Pods/**": true, "**/.gradle/**": true, "**/DerivedData/**": true }, "search.exclude": { "**/node_modules": true, "**/dist": true, "**/build": true, "**/vendor": true, "**/coverage": true, "**/.nyc_output": true, "**/android/app/build": true, "**/ios/build": true, "**/circuits/build": true }, "files.exclude": { "**/node_modules": false, "**/.git": true, "**/.DS_Store": true, "**/Thumbs.db": true }, // TypeScript Performance (Keep the good stuff) "typescript.preferences.includePackageJsonAutoImports": "on", "typescript.suggest.autoImports": true, "typescript.disableAutomaticTypeAcquisition": true, "typescript.updateImportsOnFileMove.enabled": "always", "typescript.suggestionActions.enabled": true, // Editor Performance (Sensible optimizations only) "editor.minimap.enabled": false, "editor.hover.delay": 500, // Formatting & Linting "editor.formatOnSave": false, "editor.formatOnPaste": false, // TypeScript Specific Rules (Global defaults) "typescript.format.enable": false, // Disable VS Code's built-in formatter for TypeScript "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", // Use Prettier for TypeScript formatting "editor.formatOnSave": true }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode", // Use Prettier for TypeScript React formatting "editor.formatOnSave": true }, // Path-specific formatting (These override the global language settings above) "[app/**]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll.eslint": "always" } }, "[packages/**]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll.eslint": "always" } }, // ESLint Configuration - Optimized for Performance "eslint.run": "onSave", "eslint.format.enable": true, "eslint.lintTask.enable": true, "eslint.quiet": false, "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact" ], "eslint.probe": [ "javascript", "javascriptreact", "typescript", "typescriptreact" ], // Auto-fix Actions (Global fallback) "editor.codeActionsOnSave": { "source.fixAll.eslint": "always", }, // Indentation & Whitespace "editor.tabSize": 2, "editor.insertSpaces": true, "editor.indentSize": "tabSize", "editor.detectIndentation": true, "editor.useTabStops": true, "editor.stickyTabStops": true, "editor.trimAutoWhitespace": true, "files.trimTrailingWhitespace": true, "files.insertFinalNewline": true, "files.trimFinalNewlines": true, "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false, "typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false, // Editor Visual Aids "editor.renderWhitespace": "selection", "editor.renderControlCharacters": true, "editor.rulers": [100], "editor.wordWrap": "off", "editor.wrappingIndent": "none", // Editor suggestions "editor.quickSuggestions": { "other": true, "comments": false, "strings": false } }