Setting up your editor
Setting up my Editor
I was recently asked by a good friend and long-time collaborator, if I wouldn't mind sharing how I setup my editor. If you had asked me 10 years ago, I would have had a very different and incredibly detailed answer. I had highly customized Vim and Emacs settings with a set of dotfiles that I nursed.
Over time though, I have got greater and more satisfying tool usage by cutting features and looking to narrow down my virtual luggage weight, youll find below my very minimal setup using Visual Studio Code below, and a few targeted extensions selected to mostly make me think less.
Getting started
Head over tohttps://code.visualstudio.com/Download and grab the installer that you need for your system. I always try use a commandline package installer. If you are on windows, for example you can jsut use winget:winget install vscode
GitHub Pull Requests and Issues
code --install-extension github.vscode-pull-request-github
I do not want to leave my editor to manage pull requests and issues. Even though I still find myself on github quite a bit, when I am in the editor, in general. I want to stay there
Live Share
code --install-extension ms-vsliveshare.vsliveshare
Live Share enables real-time collaborative editing and debugging. A really great extension that just cuts down so much noise when helping someone through an issue, pair programming or training.
Prettier, Code Formatter
code --install-extension esbenp.prettier-vscode
This is again, another extension that means I dont need to think. I don't want to think about formatting. Just do it. Do it reasonably well, so I can get going with minimal fuss.
Pretty TypeScript Errors
code --install-extension yoavbls.pretty-ts-errors
If Im going to make errors louder and more attention grabbing, I want them to look a bit nicer. But By no means is this an essential extension
Neovim Integration
code --install-extension asvetliakov.vscode-neovim
Unfortunately, for me, this extension is required. The Vim keybindings are so burned into my muscle memory, that its almost become a burden. If I have to type in an environemnt without Vim[1], I feel like I am typing at half speed. This is the best Vim integration I have found for VSCode. It allows you to use Neovim as vim engine which leads to a snappier experience (at least to me)
Error Lens
code --install-extension usernamehw.errorlens
I think that a secret of better development is to make sure errors are loud and clear. The more the editor is shouting at me due to the guidelines I lay down, then the less thinking I need to do.
Conclusion
And that is mostly it. I install language specific linters as I need them, and make sure the errors are shown loud and proud. I get use opinionated formatting so I dont need to think about it. If tinkering is the act of configuring your editor to your taste, I guess what I do is called squeezing. I get the most out of whats there and move on. Sometimes if you are spolied for choice, the quickest way forward is to eliminate it entirely.

- A famous question on Stack overflow asked how to exit VIM. To those that know, it is a humourous take on the initial impenetrable wall of VIM, where even something as simple as exiting the program can feel archaic and mystical. I spent a lot of time learning Vim and now, I'm not entirely convinced that it was time well spent, but I would like to think it was.