When I started at iRobot, I switched to VS Code after 2 involuntary years of IAR Embedded Workbench. Initially, I tried CLion, but its out-of-the-box Intellisense was unusable. A colleague recommended VS Code soon after & I have not looked back.
Fact: VS Code is the one cross-language IDE to rule them all (Sublime Text, Atom, IntelliJ, and yes, vi & emacs too). There are 30+ things I love about VS Code but here are my top 7.
1. The “F1 bar”
The “F1 bar” is the gateway to everything you’d possibly want to do in VS Code, and is what makes VS Code the most intuitive IDE on the market. Want to change your user settings? F1 –> sett/Enter. Want a new keyboard mapping? F1 –> keyb/Enter. Want to navigate to foo.cpp? F1 –> backspace –> foo.cpp/Enter. Like this:
You just have to try it; fyi, I was already sold on VS Code by here.
2. Out-of-the-box Intellisense
VS Code does Intellisense (e.g. go to definition/declaration, auto-completion) out-of-the-box (IOW, no need to configure anything). If the function/variable you want the definition for is implemented in the project directory, VS Code will find it! Watch this:
The multiple-definition feature is amazingly useful too:
Did I mention everything is lightning fast?
3. C/C++/Python/JS/Go/C# (and more) debugging support
You can debug just about any language with VS Code. Here’s some C debugging in action:
While debugging C/C++, you can still send gdb commands to the program via the integrated gdb terminal in VS Code. Currently, C/C++ debugging lacks a memory-based view like you’d see on Visual Studio or IAR, but for nearly all cases, VS Code’s debugging features are more than enough.
Now, if I want to debug a Python project, I don’t have to open up my PyCharm; I can do it in VS Code by simply navigating to the Python project’s directory! To me, this is the productivity booster that gives VS Code its true power.
Over time, the VS Code experience will improve for each and every language/platform per user requests (MSFT has been great at implementing requested features onto VS Code from the user community) and this is why I think VS Code really will be the one IDE to rule them all, for all users and languages.
4. Intuitive Git integration
VS Code integrated git the way it was meant to be. You’ll see what I mean:
The extensions marketplace is amazingly resourceful & installing extensions is so much easier & faster than any other IDEs I’ve used. The most critical/popular extensions are actually maintained by MSFT (C/C++, Python etc.), but the vibrant user community also provides many useful extensions for developers to optimize their VS Code setup for maximum productivity.
My personal favorites are: Git Blame, Doxygen Generator, and Bookmarks. At the current rate of development, I’m positive that eventually (probably in a few years), VS Code will have an extension for whatever it is you want to do. #VSCodeTakeover
Life’s all about looking good, is it not?
From this point on, I don’t wanna hear about vi or emacs. VS Code is it.