{ // ============================ // Editor basics // ============================ "editor.tabSize": 2, "editor.insertSpaces": true, "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll": "explicit", "source.organizeImports": "explicit" }, "editor.defaultFormatter": "esbenp.prettier-vscode", // ============================ // JS / TS behavior // ============================ "javascript.updateImportsOnFileMove.enabled": "always", "typescript.updateImportsOnFileMove.enabled": "always", "javascript.suggest.autoImports": true, "typescript.suggest.autoImports": true, // Fix annoying "JSX not allowed" issues in js files "javascript.validate.enable": false, // ============================ // React specific // ============================ "emmet.includeLanguages": { "javascript": "javascriptreact", "typescript": "typescriptreact" }, "emmet.triggerExpansionOnTab": true, // ============================ // Terminal // ============================ "terminal.integrated.defaultProfile.windows": "Git Bash", // ============================ // Prettier // ============================ "[javascript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "[javascriptreact]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "[typescript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "[typescriptreact]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, // ============================ // File Icons // ============================ "workbench.iconTheme": "material-icon-theme", // ============================ // Explorer cleanup // ============================ "files.exclude": { "**/.git": true, "**/.DS_Store": true, "**/node_modules": false, "**/*.log": true, "**/dist": true } }