Optimal VS Code settings

Going from zero to power-user in one quick copy-paste

"editor.autoClosingBrackets": "never",
"editor.autoClosingQuotes": "never",
"html.autoClosingTags": false,
"javascript.autoClosingTags": false,
"typescript.autoClosingTags": false,
"editor.fontFamily": "'Roboto Mono', monospace",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"editor.minimap.side": "left",
"editor.rulers": [80],
"editor.wordWrap": "on",
"workbench.colorCustomizations": {
"editorRuler.foreground": "#404040"
},
"eslint.nodePath": ".yarn/sdks",
"eslint.packageManager": "yarn",
"prettier.prettierPath": ".yarn/sdks/prettier/index.js",
"typescript.enablePromptUseWorkspaceTsdk": true,
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"eslint.run": "onType",
"files.eol": "\n",
"prettier.endOfLine": "lf",
"gitlens.defaultDateFormat": "YYYY-MM-DD @ HH:mm",
"gitlens.defaultDateShortFormat": "YYYY-MM-DD",
Relevant XKCD
"html.format.endWithNewline": true,
"javascript.format.semicolons": "insert",
"typescript.format.semicolons": "insert",
"prettier.configPath": ".prettierrc.json",
"prettier.requireConfig": true,
"typescript.surveys.enabled": false,
"workbench.startupEditor": "newUntitledFile",
"eslint.codeAction.disableRuleComment": {
"enable": true,
"location": "separateLine"
},
"eslint.validate": [
"html",
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"files.associations": {
"*.cfn": "yaml"
},
"yaml.customTags": [
"!And",
"!And sequence",
"!Base64",
"!Cidr",
"!Equals",
"!Equals sequence",
"!FindInMap",
"!FindInMap sequence",
"!GetAtt",
"!GetAZs",
"!If",
"!If sequence",
"!ImportValue",
"!ImportValue sequence",
"!Join",
"!Join sequence",
"!Not",
"!Not sequence",
"!Or",
"!Or sequence",
"!Ref",
"!Select",
"!Select sequence",
"!Split",
"!Split sequence",
"!Sub",
"!Sub sequence"
],
"files.exclude": {
".git": true,
".vscode": true,
"node_modules": true,
"package-lock.json": true,
"yarn.lock": true
},
"search.exclude": {
".git": true,
".vscode": true,
".yarn": true,
"build": true,
"dist": true,
"node_modules": true,
"types": true,
".pnp.cjs": true,
".pnp.js": true,
".pnp.mjs": true,
"package-lock.json": true,
"yarn.lock": true
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}

La fin 🔚

Senior front end engineer / charlesstover.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store