Monday 23 April 2018

On Switching Code Editors

Ever since I joined the industry, my preferred text editor was TextPad.
It's a solid tool, similar to Notepad++. I probably underutilise it, but I started to see some people to interesting things with more modern editors.

Day-to-day, I work with two monitors, so I've been trialling software literally side-by-side for a while.

With some help from my nearby colleague, I tried a little Sublime (freemium), and that peaked my interest when contemplating the jump. Atom was also emerging at this time, which also had an impressive list of pros & cons. I wanted to give them all a fair go, but it can be tricky when you're busy, you know, programming.

I've ended up using Atom for a number of months now, even after moaning on twitter about it a few times. I wouldn't be surprised if it was over a year. I like the taste it gives for a modern editor, and it really intrigues me how it was built (JavaScript driven), but I think therein lies the downside. It's improved, but it doesn't scale well - for large files, or large lists of files.

Recently I've been hearing mostly good things about Visual Studio Code (free), especially for/by APEX developers, but also from the community in general. The young blood in the 2018 Stack Overflow survey regarded it highly - certainly far more than the 7.2% recorded in 2016.

2018 Stack Overflow Survey - Editors of choice

So I finally thought right, I've got to give VSC a good crack. There's stuff here I need to learn. Stuff that can make me more productive.

I printed a keyboard shortcut cheat sheets, since that's really what's going to make me productive. Luckily, like Toad & SQL Developer, Atom & VSC share a lot of shortcut commands.
And this thought in the back of my mind, perhaps from Editor wizards Adrian Png or Jorge Rimblas, that you should commit to the tool instead of using an extension to bridge shortcut commands.
and I wanted some new wins that would exhibit immediate ROI over the other editors.

I wanted to compile from my editor.

I realise that's what SQL Developer is kinda built for, but we also need dedicated editors for other document types.

I tried making this happen a few times with Atom, but I'm not sure it really liked our network structure.

I got this done in about five minutes with help from Morten.
No hiccups found, and I tweaked it slightly to use a "recent_errors" view I already had defined.

And with the extra time & excitement I had, I had a lot of fun with snippets - which this post was supposed to be about. I think I'm going to like snippets. Something I know Textpad had but I never got going with, but VSC is making the whole experience feel good.

I even find the syntax highlighting pleasing to the eye, so I think this is going to be a welcome transition to VS. Though I haven't played with CSS/JavaScript yet.

Using extension xyz.plsql-language

I understand it shared some framework concepts with Atom, so I'll probably get more familiarity with JSON while I'm at it.

"User Settings" is a place a developer can truly call home. While I yearn for a GUI, I see the advantage & flexibility with this approach. Though I'm sure it could be GUI-fied a little further.

Change default on left, added & overwritten by right.

I know a few actions I still do regularly in TextPad, so we'll see how things go on day two.
- searching across files
- basic macros for repeated text commands, though possible circumvented with the advanced multi-edit mode.
- compare files. I'm not sure why I still do this in TextPad.
- when I just want to see files in white background, with really familiar highlighting.

And with this momentum, I really need to restore my love for SQL*Plus with SQLCL.

If you want some more reading, I also came across a couple of articles that helped validate my experiences, and consider the move:
Switching from VSC to Sublime
Best Text Editor?



Adrian P said...

You are absolutely correct Scott! I'd definitely want to move away from using the Atom keymap extension at some point. It helped in the beginning to ease the transition from Atom, but VSC has been pretty much the only editor I use now, so it is time! :-)

Denis Savenko said...
This comment has been removed by the author.
Denis Savenko said...

Got almost the same story, but my path was npp > atom > vsc. I can add that I switched to VSC mostrly because of really slow Atom's loading. I found that VSC loads and works much smoother and I just love it.

What I also can add about it, that all your TODOs are possible in VSC:
- searching across files - try Ctrl+Shift+F
- basic macros for repeated text commands, though possible circumvented with the advanced multi-edit mode (try snippets, you can add more by installing extensions, for example they are available for PL/SQL)
- compare files. I'm not sure why I still do this in TextPad - well, you know, just stop :)
- and to run SQL*Plus or SQLcl tasks are a great tool

Stew said...

I understand your article is about committing to a new editor, but can you point us to good reasons why VSC is so helpful for Apex developers?

I've happily used the fairly-inexpensive tools:
* PL/SQL Developer from Allround Automations for my PL/SQL work for at least 10 years, and
* UltraEdit for general text/coding and great data file manipulation for over 20 years

But I like to look at new utilities, so I'm willing to look at others.

Thanks for the recommendation to go whole-hog instead of putting a toe in the water.

Scott Wesley said...

I've been considering this, Stew. I've drafted another post on this, considering the bloat of the tool itself vs these long lived editors.