Friday, August 19, 2016

Switching to Sublime - #DevfleetFriday

This isn't strictly EVE related, but Talk Python To Me has inspired me to post some more dev/meta related content.

To those who have worked with me on code, you'll know at least two things:

  1. I'm a total luddite when it comes to adding helpful tools to my belt (IDE's specifically)
  2. I live and work in Windows when I can
But my new job has me working in Mac and Unix far more often, so my favorite editor Notepad++ is out.  After touring editors and IDEs for a replacement, I have settled on my new home: Sublime 

Sublime New World

"Why Sublime?" was a pretty easy question for me to answer: very cross-platform, and a deep utility library.  In fact, I've pointed my configs at dropbox so I can easily work in the same Sublime across machines.  Also, the cross-language formatting profiles are pretty slick, and was able to get things working the way I wanted without too much pain.

But Sublime really wins with its Package Control.  Nearly anything you would want can be added to the editor in just a couple commands.  And by-and-large, they're easy to set up and use right out of the box.  Also, many of the packages I've dug into are mostly python, so it's been easy to fix small bugs.

Personally, SublimeLinter has been the best thing to happen to my code recently.  Though it took some effort to get working with python3 on the Mac, having the tattle-tale highlights for bad code and bad practices has me writing far more consistent code.  Writing a .pylintrc file is a little obnoxious, and it doesn't validate virtualenv packages (only ones installed in main site-packages), once it's configured it's a real godsend for keeping my code in line.

My one knock against the platform is the need to memorize a large number of shortcuts that aren't inherently obvious.  There are some really slick tricks in the arsenal, but it feels very VIMy to have them handy

Things I Miss From N++

Search Highlighting

N++ has this amazing multi-color highlighting tool that makes traversing large or complicated code blocks easy.  Word Highlight is an okay replacement, but it doesn't do multi-highlight the way I'd like.  

Project Searching

Another very slick N++ feature is its extended search.  Able to quickly see results, contexts, and previous searches in a docked pane was another useful tool I miss having.  Sublime has an extended search, but it pops open in a new document, and doesn't easily fold the way N++ does.

Multi-Pane Interface

This is a total nitpick.  Sublime absolutely does have multi-pane views, and they are actually a step up in the aggregate.  But my one complaint is duplicating a file isn't really obvious.  The "New View Into File" command isn't mapped, and I'd rather r-click a tab and send to pane.

Free or Fee?

My one complaint about Sublime is its licensing.  Though it has a winrar-type "free forever*" mode, it complains semi-randomly at save-time to purchase a license.  At $70, I think the fee is a little steep given how much competition is out there, and its key method (RSA hasn?) is not super intuitive.  

I'm not at all against paying for a thing, but recently many enterprise services have really stepped up their game and spoiled me with their set-and-forget memberships.  Services like XSplit and Adobe just work, and though I pay pretty handsomely for the memberships in the long run, I'd almost rather buy Sublime through a Patreon model.  At the absolute least, I would like an account auth primary key, even if the current key method works as an offline backup.