Wednesday, September 20, 2023

Why I finally switched from Visual Studio to VSCode + Ionide

I've tried out Ionide a few times over the years, but never permanently until now. There are three factors which individually wouldn't be enough to make me reprogram my reflexes for a new IDE:

1.) Font Ligatures. I've started to really appreciate the cognitive benefits of font ligatures, but there's a long-standing bug in Visual Studio that prevents the -> ligature from working. https://github.com/tonsky/FiraCode/issues/846 This was my proximate cause for giving VSCode another try, and VSCode handles it like a champ.

2.) Github Copilot in VS completes whenever you hit Tab, and you can't reconfigure it. Copilot is pretty decent at guessing correct code completions but it's not anywhere close to 100%, and having erroneous code unexpectedly insert itself in the middle of my coding was distracting. In VSCode I set it to complete on Alt-/ instead.

3.) F# Intellisense in VS broke for me about six months ago (https://github.com/dotnet/fsharp/issues/14901) and while it's sort of working again now, it's quite slow, on the order of five or six seconds between fixing a type error and having the red squiggles disappear in VS. In VSCode it's approximately instantaneous.

In theory if VS fixed all three of these issues I would switch back, but right now I'm pretty happy about having moved over. There's some learning curve but the end result feels more productive.

 --

I could not love thee dear, so much,
Loved I not honor more.

No comments: