I must admit that depending on the task at hand, my workflow is scattered between various editors. For instance, I use Visual Studio (or Rider at work) for Unity game development, Xcode for native iOS/macOS apps and Atom for blog posts and as a general text editor. As I recently began to learn Flutter, VS Code has also been thrown into the mix. This got me thinking, could VS Code be versatile enough to satisfy most of my needs?

After a few weeks of working with VS Code, I honestly cannot praise it enough. It is so lightweight compared to Visual Studio, more performative than Atom and is endlessly extensible. The built-in Terminal is a real productivity booster, while workflow tasks can be easily launched via the command palette.

VS Code is completely customizable. Initially design for web developers, all major languages are supported via downloadable extensions, while custom extensions can be created to implement specific user workflows. Settings, keyboard shortcuts, user code snippets etc. are simply json files which can be edited. To this end, as VS Code has no built-in cloud sync, Settings Sync is thus a must-have extension to back up these settings (to your GitHub account), while facilitating working between multiple computers.

I’m a huge fan of the Project Manager extension, where one can save projects to a panel for fast switching and opening, while if you are collaborating with others, Git Lens is a must have. The ability to see why, when and whom a line/block of code changed is invaluable!

Overall the Unity extension is quite good, comparable to Visual Studio, however it is difficult to recommend VS Code over Rider’s tight integration with Unity. On large projects I seem to have less issues changing branches than I did with Visual Studio. As a text editor, VS Code easily competes with Atom or Sublime, with the built-in markdown previewer even capable of rendering images.

All in all VS Code is a fantastic editor which is well worth your attention, especially if you have not tried it out yet. Moreover, with endless customization posibilities, it almost feels like an IDE. Cannot recommend it enough!

Resources

Settings Sync

Project Manager

Git Lens