Making the switch to Visual Studio Code

I’ve been using Sublime Text for web development since I left university, and I’m the only person I know who still does. I’ve gotten very comfortable with it, and the performance is excellent. Everything happens instantly, and it feels like there is absolutely no friction between me and the code - which is really what you want from a code editor.

However, as my main language is TypeScript, it’s getting harder to keep Sublime Text going. Support from Microsoft has all but officially been dropped as of writing. My peers at work all use VS Code, and at times it has been annoying having some workflow differences. I’m also using Sublime Text 3, not 4, which doesn’t have an Apple Silicon build.

I gave VS Code a try in the past, and really hated the sluggishness in comparison to Sublime. Sometimes the scrolling will be choppy, and there’s that little pop-in of syntax highlighting for every new file (can’t they just hide the contents until the highlights load in?) Anyway, I thought now was as good a time as any to give VS Code another go.

The first thing to do was port my theme over. I’ve been using an older, modified version of the Material theme for Sublime. The equivalent theme for VS Code is similar, but not to my taste. I used some tools to help build a new theme from scratch using the colours of my Sublime theme, and I think it’s turned out well.

Sublime Text 3 Sublime Text 3

Visual Studio Code Visual Studio Code

In Sublime, negative space is used to comfortably separate sections of the UI. The tabs, the status bar etc. But in VS Code, everything is much more compressed, so I had to use borders to separate areas for the same effect.

I wish the UI of VS Code was more customisable. Padding, and borders, and being able to hide features. There are buttons everywhere in the default setup. Hopefully something that will gradually happen through app updates. Really though, VS Code is a website Electron app. It’s HTML+CSS, and its users are developers, so you should be able to customise it however you want. (Shout out to this extension at least!)

I spent a decent amount of time tweaking settings and keybindings too. My settings file ended up being twice as long as my Sublime one. I was constantly surprised when I couldn’t find some basic features built-in, like selected line count, spell check, or line sorting.

Overall I think it’s definitely more usable than when I tried it a few years ago, especially with my familiar theme. It feels to me like the team is more interested in new features than polishing existing ones. There are a bunch of GitHub Issues, some more than three years old, that really pain me.

It definitely feels like a Microsoft product, with all its marketable extras and some styles brought over from full-fat Visual Studio. But I’m reasonably happy with my new setup and will continue using it for the foreseeable future.