Wednesday, January 29, 2014

My Favorite Sublime Text 3 Plugins & Configs

I'm a huge fan of Sublime Text 3. I love it's simplicity and strong package community. Here's a list of my favorite packages and config tweaks:


Package Control - This enables you to easily search for and install packages. This is always the first thing that I do with a new install of Sublime.
AdvancedNewFile - Best way to create new files.
Auto Semi-colon - Add a semi-colon to the end of a line even if your cursor isn't at the end of the line.
All Autocomplete - Adds autocomplete for words found in all open files. Works well as a supplement to SublimeCodeIntel
Emmet - Awesome shorthand for creating HTML markup. As an added bonus it forces you to learn to write CSS selectors better.
GitGutter - See which lines have been changed since your last commit.
Markdown Preview - Allows your to preview markdown docs in your browser.
TrailingSpaces - Kill all trailing spaces in the current file.
Sublime Code Intel - Auto complete awesomeness
Sublime Linter - Lints all sorts of languages. I use it to auto-run jsHint on my files. So useful to see lint errors as I'm coding.
Sublime-text-git - Have to manually clone and checkout python3 branch to get this to work in sublime text 3. It's a bit of a pain but worth it.

Font: Source Code Pro


Notice that Vintage does not show up in my ignored_packages and I even have it default to start in vintage command mode. I made this switch about a year ago and have never looked back. I really feel like I am more efficient getting around and editing code.

I've had a few people ask me about my Sublime setup and wanted to get it out there. Any cool stuff that I'm missing?


  1. Good Stuff! I love this one too:

    1. Thanks, Dave. I checked that one out about a year ago and wasn't happy with how it formatted my AMD imports so I tried and failed to write my own. I'll have to check it out again.

    2. Yes, out of the box it does suck. But I fixed it up by changing a few settings like so:
      // Set to true if you use AMD to load modules into the global namespace and
      // thus don't need an argument list. The argument list will still be parsed,
      // but you won't be prompted for an argument.
      "disable_arguments": false,

      "paths_start_with_newline": true,
      "paths_indent_level": 2,
      "paths_use_single_quote": true,
      "paths_newline_after_each": true,
      "paths_newline_after_last": true,
      "paths_indent_level_after_last_newline": 1,

      "arguments_start_with_newline": false,
      "arguments_indent_level": 2,
      "arguments_newline_after_each": false,
      "arguments_newline_after_last": true,
      "arguments_indent_level_after_last_newline": 1