{
  <%_ if (enableESLint) { _%>
  "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "vue"],
  <%_ } _%>
  <%_ if (enableStylelint) { _%>
  "stylelint.validate": [<%- stylelintExt.map((ext) => `"${ext.replace(/^\./, '')}"`).join(',') %>],
  <%_ } _%>
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true<%= enableStylelint || enableMarkdownlint ? ',' : ''%>
    <%_ if (enableStylelint) { _%>
    "source.fixAll.stylelint": true<%= enableMarkdownlint ? ',' : ''%>
    <%_ } _%>
    <%_ if (enableMarkdownlint) { _%>
    "source.fixAll.markdownlint": true
    <%_ } _%>
  },
  <%_ if (enablePrettier) { _%>
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[css]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[less]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[scss]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  <%_ } _%>
  "editor.formatOnSave": <%= enablePrettier ? 'true' : 'false' %>
}
