{
  // ============================
  // Editor basics
  // ============================
  "editor.tabSize": 2,
  "editor.insertSpaces": true,
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.organizeImports": "explicit"
  },
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "files.eol": "\n",

  // ============================
  // 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",
  "material-icon-theme.folders.associations": {
      "gitea/workflows": "repository",
  },  

  // ============================
  // Explorer cleanup
  // ============================
  "files.exclude": {
    "**/.git": true,
    "**/.DS_Store": true,
    "**/node_modules": false,
    "**/*.log": true,
    "**/dist": true
  },
  
}