If you’re like me, you’ve heard everything about every text editor. If there’s one thing developers love to do more than bike-shedding about things nobody will ever use, it’s bike-shedding about things we use every day. “Anything you can do in Emacs, you can do in Vim with less finger pain,” somebody once said. “Ah, but Emacs could have an IRC client in it,” the other guy replied, and now look. Look what happened.
Leaving aside the Big Two editors for a moment, it’s genuinely difficult to find something satisfying to work with for larger projects where you may need to jump around files and references rapidly. I’ve heard that I should use Atom, which is now practically dead in the water and tends to lag. Sublime is only useful if you don’t know Emacs or Vim yet. And God help you if somebody tells you to use an IDE before you’re experienced enough to know what you're doing - did you know Eclipse users fail interviews more frequently than any other single group of editor users?
One engineer I know uses LightTable with a zillion customizations, many of which he’s written himself. Watching him code is painful in the same way that watching a child prodigy play violin brilliantly is painful - the knowledge that you will never have that level of technical skill. But perhaps that’s what LightTable is: an editor for mad geniuses and the rest of us brainlets need something that takes care of the hard stuff and sensitive edge decisions. Something to help us avoid thinking too much and just get to coding. Something that looks good, feels good, plays nice with complexity, supports lots of extensions, and won’t randomly die one day because it’s mysteriously funded by a shadowy and unaccountable corporation.
Enter Visual Studio Code. Released just four years ago, it’s rapidly becoming one of the most popular editors on the market, and is a comfortable distance between the hyper-customizable clean slate editors and the fully-featured licensed IDEs like IntelliJ or Visual Studio. It’s Electron-based, so it runs on Linux, Mac, and Windows, it supports compilation for a bunch of languages, and it’s both free as in beer and free as in speech. Yes, really: Microsoft, not only purchased Github (therefore indirectly deprecating Atom), but they completely open sourced their professional IDE and have made it freely available to all comers. I, personally, was astonished when I learned all this because the name “VS Code” sounds exactly like something I expected to pay around $80 for.
VS Code in action.
I don’t mean to rib Sublime or any other proprietary text editor too much, really; it’s perfectly respectable to expect to get paid for your work (and it’s not like open source developers get paid). But in the case of VS Code, the editor has a billion-dollar corporation paying who knows how many developers to improve it, 40 hours a week. And, just like React, it's an open source tool used by a rapidly increasing number of developers every day and must support scores of extensions and improvements. The effect that VSC could have on the editor landscape can hardly be overstated.
Let’s examine in more detail why VSC is suddenly the coolest thing you can do with your fake Chromium process. I asked some engineers that use VS Code why they like it so much. Each offered me a different opinion:
All that said, there were some things people didn’t like:
The view from my (covered in books, toy dinosaurs, and colorful crystals) desk is that VS Code is a sophisticated program with an accessible interface that more experienced devs can modify to suit their needs. It isn’t one of the fully-featured cruise liners like Visual Studio proper or IntelliJ, and it’s not specialized to a single platform like Android Studio, but as far as I can tell it’s about as good as you can get for a free cross-platform editor.
Do you use VS Code? Maybe you believe every new developer should start out learning with VSC. Or perhaps you are vehemently opposed to it for a fundamental and important reason, some lack of a feature that is impossible to overlook? However you feel, share your thoughts with us in the comments or on Twitter! We're always hungry for your insights into the big developments in programming, code tooling, and all the other sundries of this fast-paced industry.