How VS Code Took Over the JavaScript Community

Published in Coder stories

Jun 10, 2019

5 mins

How VS Code Took Over the JavaScript Community
author
Pierre Mary

Data scientist @ PrestaShop

Not to be confused with the Microsoft Visual Studio IDE, which is used for making Windows-based apps, Visual Studio Code (VS Code) s a lightweight editor similar to Atom or Sublime Text and its usage has experienced a rapid rise!

The first version came out in April 2015, but in a Stack Overflow survey of development environments carried out the following year, it was ranked 13th, having achieved only 7.2% of the market share and trailing a long way behind Notepad++ and Visual Studio (both 35.6%), as well as Sublime Text (31.0%). However, a year later, it had climbed up to 5th place (24%) and, in 2018, became the most-used editor (34.9%). The results published in 2019 proved this wasn’t just a passing trend, with VS Code’s market share having increased to 50.7%.

In the JavaScript community, it became the most popular editor much faster. Back in 2016, this new entry placed well within the top 10 favorite editors in that year’s State of JS survey. An accompanying statement helped to explain why: “For a long time, Microsoft was seen as a negative force in the JavaScript ecosystem, dragging us all down with its antiquated browsers. But over the past couple [of] years, the company has shown that it’s serious about making up for past faults with well-received initiatives such as TypeScript and VS Code.” It went on to be named the top editor the following year, a position it was able to retain in the 2018 survey.

So what makes it so popular overall and especially among JavaScript developers?

1. It’s open source and has community support

Unlike Sublime Text and WebStorm, VS Code is completely free and open source, just like Atom, GitHub’s editor. The key difference between it and Atom, though, is that Microsoft is really making the most out of being an open-source development. To give you some idea, it is the top open-source project on GitHub, having received 19,000 contributions in 2018. Such support is unsurprising really, as the internal development team work actively with the community, including working in Agile with a DevOps culture, meaning they can release faster, learn faster and, ultimately, improve their product faster. Additionally, to make sure they deliver what the users need, they gather telemetry on the product usage and take note of the input posted by users on GitHub and UserVoice.

Extensions are crucial for any code editor in this market segment and Microsoft was quick to understand that. Therefore, not only has it released lots of extensions but also, since VS Code is written in JavaScript, the most widely used language, on top of the Electron framework, extension development is easy and accessible to third-party developers. The result is a marketplace full of quality extensions.

Of course, it also helps that Microsoft is great at marketing and selling software, and has greater capacity to promote VS Code than any other editor creator does! Check out the public roadmap to get a preview of what’s to come.

2. It offers cross-platform possibilities

These days, cross-platform development has become very important. According to Stack Overflow’s 2019 developer survey, 45.3% of professional developers are working on Windows, 29.2% on macOS, and 25.3% on a Linux-based OS. Thanks to VS Code being based on Electron, a cross-platform framework, Microsoft has been able to distribute it on these 3 OS with virtually no effort.

3. It includes JavaScript and TypeScript support

VS Code offers a very good out-of-the-box experience with no or little configuration. It comes with various welcome features, including GitHub integration, and has excellent support for JavaScript and TypeScript. Additionally, built-in JavaScript IntelliSense, debugging, formatting, code navigation, and refactoring are just a few of the features available with this language.

IntelliSense

The IntelliSense support provided with JavaScript displays a lot of useful information, analyzing what’s going on behind the scenes so users can better understand the code based on type inference, JSDoc annotations, or TypeScript declaration files.

It provides intelligent code completion, parameter information, reference search, and many other advanced language features. You can also find plugins that provide excellent IntelliSense in most languages.

image

Debugging

VS Code also comes with great native debugging support for JavaScript, TypeScript, and Node.js. You can set breakpoints, inspect objects, navigate the call stack, and execute code in the debug console, as the below graphic shows. It also has a run button you can use to run your code, something that’s not included with most other popular text editors.

Also, when working on the client side of an application you can use an extension available for Chrome, Firefox, and Edge that allows you to access the browser debug console information directly from VS Code’s debug console.

image

4. …And has several other handy features

Integrated terminal

If you’ve ever worked with Node.js, you’re likely to have had to keep a terminal window open for development at some point. This means that, unless you have two screens, you’ve probably become frustrated by having to switch between your editor and the terminal and ended up reducing the width of your editor so that both the code and terminal are visible.

The fact that there is an integrated terminal with VS Code definitely makes life easier. You can even have multiple terminals for different locations open and easily navigate between them. The terminal space can also be split so that two terminals can be visible at the same time, as shown in the below graphic.

image

Real-time code collaboration that works

Available as an extension, Live Share allows you to participate in collaborative real-time coding, just like when you work in Google Docs, as the below graphic shows. It only involves a one-click installation, integrates audio and text chat—and it’s free.

To start a session, just share a link with team members that permits access to your workspace. Every participant can use the debugging features independently and share terminal instances.

If you’re curious to find out more, check out the other features outlined on vscodecandothat.com.

5. Its performance makes life easier

With VS Code, you have access to IDE-like features but with the straightforwardness of a classic lightweight code editor. Even with all these native features and plugins, it’s fast, unlike IDEs such as NetBeans, Eclipse, and Visual Studio, or even Android Studio, which can all quickly get bloated and sometimes consume all your RAM.

However, it’s important to highlight that, even if VS Code is considered stable and responsive, it’s not the fastest. When dealing with large files or searching across a large codebase, it is outperformed by native editors such as Vim and Sublime Text. But we think that’s an acceptable compromise for high performance, cross-platform possibilities, and access to a lot of interesting features.

Conclusion

VS Code’s popularity is no accident. Having source-control management, terminals, and debugging tools available out of the box, along with IntelliSense support for JavaScript, makes the editor very appealing to JavaScript developers. As VS Code has evolved over the years, Microsoft has focused a lot of its efforts on addressing web development and especially JavaScript support, which has seen it gain more and more users, thereby expanding VS Code’s functionalities in a virtuous circle.

However, there are some limiting factors to consider. As usual, one size doesn’t fit all. For those who think it’s too feature-rich, Atom is a great alternative. The latter is very simple to start with and users can benefit from a great plugin collection when they want to add more functionality to it. In addition, as already mentioned, when you need a really fast editor or are having to work with large files, VS Code can’t compete with Vim and Sublime Text.

While it seems that VS Code has been widely adopted by the JavaScript community, it is also used for and many other languages. However, its spread is limited by its lack of robustness compared to a fully fledged IDE, such as PyCharm and Eclipse, which target a specific language or environment and have been improved over the years. Data scientists in particular might favor tools such as Spyder or PyCharm.

Nevertheless, there is little doubt that thanks to its great community and Microsoft’s investment in open source, VS Code’s popularity is likely to continue to increase in the years to come. Watch this space…

This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!

Want to contribute? Get published!

Follow us on Twitter to stay tuned!

Illustration by Victoria Roussel