The best kittens, technology, and video games blog in the world.

Friday, March 16, 2018

Visual Studio Code first impressions

le petit chat by FranekN from flickr (CC-NC-ND)

This is a first impressions post, so not representative of editor in any serious use. Maybe it gets a lot better, maybe it gets a lot worse.

It's very important to try a lot of technologies, even if in the end, they don't matter at all. For example zsh has about one feature (multiline copy&paste support) which properly configured bash doesn't, so it's not enough to recommend it to anyone, but I kept using it after the trial.

Research stage

I tried searching the internet to figure out what's the difference between VSCode and Atom, and nobody has any good answers. Most of them were of "I already use Atom package for that" variety, or claims about performance. Atom isn't super fast, but it got a lot better since its early days. Or maybe computers got a lot faster.

Getting started

First check - Cmd-D multiple cursor selection works. OK, I might be able to use it. Any editor without it doesn't deserve a serious look. And just in case, some quick editing shortcut check - nothing is too crazy.

Second check - how do I add it to $PATH... I thought it would be in settings, but nope. Settings page wasn't very intuitive, but it actually makes a lot of sense once I got through the unusual interface. Well, this wasn't there.

I had to google that, and there were like a million irrelevant and highly convoluted answers. It turns out that correct answer is to turn on command palette with Shift-Cmd-P, and choose "Install 'code' command in PATH". Someone please tell Stack Overflow about that, it has ridiculous answers from 2015.

By the way, that's a common problem with Stack Overflow - the best answer from a few years back might be a pretty questionable today as yesterday's problems get addressed in new versions - but the answer never gets fixed, and anybody who dares ask again will get it closed as a duplicate and banned from Stack Overflow for life or something.

Maybe there should be a way to "flag as no longer best practice" or whatever.

Switching Tabs

So I opened a toy ruby repo, typed some code, and the level of git integration was pretty sweet. Staging chunks from within editor, that's definitely a nice feature.

Then I opened a second tab, and my first impressions went from 5 stars to 3 stars. Standard tab switching shortcuts like Cmd-1 Ctrl+PageDown etc. just don't work.

All right, checking the annoyingly named Extension "Marketplace", there's "Atom Keymap", that fixed it.

RSpec runner

I normally split the big screen between iTerm2 on the left and Atom on the right, so I don't usually care for in-editor runners. But sometimes I have to code on just unconnected laptop, and then it's a bit awkward.

I've heard some rumors that VSCode is good with in-editor test runner and terminal, so I checked if there's any RSpec runner. After a few tries I found "Rails Run Specs", which works for pure Ruby project, kinda.

When I right click on spec file from the file list on left sidebar, I can run the specs. But when I try to do so from command palette it just gives me "running the contributed command failed" message.

To be fair, I haven't actually checked if Atom does it any better.

So far it seems about the same

For now VSCode looks pretty much like Atom with fewer plugins. I don't actively hate it, the way I quickly hated RubyMine, Android Studio, IntelliJ IDEA, Eclipse, and a lot of such crap which never bothered to get basic usability right and just piled features on top of a really shitty base editor.

The base of VSCode is just fine. I'm just not really seeing what's the big benefit yet, but I could see using it for a bit to maybe find some.

No comments: