My VSCode settings.json

Having used Sublime Text 2/3 as my daily driver for the last 5 years, I was recently persuaded to switch over to VSCode by a colleague. Having been quite fond of (for reals) Visual Studio when I used to be a .NET dev, and aware that Microsoft tooling is usually very good (if not a little verbose), I decided to swallow my Sublime-flavoured pride and dive right into the migration across to VSCode..

And so far, it has been great. Sublime Text has definitely fallen behind other more feature rich text editors like VSCode and Atom. It's a bit of a shame, because I've waxed laconical about Sublime for years and years. One of the biggest glaring features that Sublime is missing is a good git diff view akin to the one present in Atom and VSCode ☹️. So in light of the recent switch, and due to the fact that it is a tradition of mine to post my (insert text editor here) settings file every time I throw in the towel and move onto pastures new, here we go…

My VSCode settings.json

Some VSCode extensions that you will need to make everything bang tidy are: prettier, eslint, Dracula.

If you want to use zsh as your in-built term, then you will need to install that through brew or if you are a Linux user, through apt-get, yum etc. etc.

{
    "eslint.autoFixOnSave": true,
    "eslint.alwaysShowStatus": true,
    "javascript.validate.enable": false,
    "eslint._legacyModuleResolve": true,
    "eslint.packageManager": "yarn",
    "explorer.confirmDelete": false,
    "files.trimTrailingWhitespace": true,
    "workbench.statusBar.visible": true,
    "workbench.statusBar.feedback.visible": false,
    "workbench.tips.enabled": false,
    "workbench.editor.enablePreviewFromQuickOpen": false,
    "files.exclude": {
      "**/.git": true,
      "**/.svn": true,
      "**/.hg": true,
      "**/CVS": true,
      "**/.DS_Store": true,
      "**/tmp": true,
      "**/node_modules": true,
      "**/bower_components": true,
      "**/dist": true
  },
  "files.watcherExclude": {
      "**/.git/objects/**": true,
      "**/.git/subtree-cache/**": true,
      "**/node_modules/**": true,
      "**/tmp/**": true,
      "**/bower_components/**": true,
      "**/dist/**": true
  },
  "editor.formatOnSave": false,
  "editor.formatOnSaveTimeout": 5000,
  "ruby.rubocop.executePath": "/Users/adambull/.rbenv/shims/",
  "editor.wordWrap": "on",
  "terminal.external.osxExec": "iTerm.app",
  "terminal.integrated.fontFamily": "Menlo for Powerline",
  "terminal.integrated.fontSize": 12,
  "terminal.integrated.fontWeight": "400",
  "terminal.integrated.fontWeightBold": "600",
  "terminal.integrated.rightClickBehavior": "copyPaste",
  "terminal.integrated.copyOnSelection": true,
  "terminal.integrated.enableBell": true,
  "editor.tabSize": 2,
  "editor.renderWhitespace": "all",
  "editor.detectIndentation": false,
  "files.useExperimentalFileWatcher": true,
  "explorer.confirmDragAndDrop": false,
  "window.zoomLevel": 0,
  "javascript.updateImportsOnFileMove.enabled": "always",
  "workbench.iconTheme": "vscode-icons",
  "workbench.colorTheme": "One Monokai"
}

I've found that VSCode performs maybe twice as fast when I have the files.useExperimentalFileWatcher cfg option set to true.

Updates
  • 07/02/2019: Changed integrated terminal fontface to use Menlo for Powerline. Font-face can be downloaded from https://github.com/abertsch/Menlo-for-Powerline/blob/master/Menlo%20for%20Powerline.ttf

💋

About

⚡ I like to code, simple as that.
🎉 React, Node and Ruby etc.
🧸️ Toying with TypeScript

Elsewhere