News

What's Coming for Visual Studio Code

Microsoft published the roadmap for Visual Studio Code, giving developers a glimpse into upcoming features for the popular, open source, lightweight code editor.

Not yet three years old, the slimmed-down little cousin to the full-fledged Visual Studio IDE has taken much of the dev world by storm, quickly moving up in the rankings of popularity charts and in developer tooling surveys.

The latest example of that trend is this chart from a brand-new front-end developer survey just published yesterday:

Leading the Pack
[Click on image for larger view.] Leading the Pack (source: Front-end Developer Survey 2017).

With a monthly release cadence, VS Code introduces a stream of new features to developers, and plenty more are on tap according to the new roadmap.

The VS Code team focuses on three areas in its update work: "happy coding" (keeping the experience pleasant); Node, JavaScript and TypeScript (maintaining the "great" experience of these languages that enjoy built-in support on top of the core platform); and a rich extension ecosystem (building out experiences for languages such as C#, Go, Python, C++, Java and so on).

Under the happy coding category, the team promised more choices for customizing the VS Code experience. "You have asked for more flexibility in how you position editors and panes, for multi-selection in the explorer, and more," Microsoft said. "You will see a significant focus on the fundamentals in the next few months as well, focused on performance, localized language support, and accessibility so that every developer can be productive with VS Code."

In the JavaScript department, more work -- with help from community volunteers -- will be done to refine and improve the Language Server Protocol. That Microsoft-developed protocol "is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, goto definition, find all references and alike into the tool."

This protocol provides support for various programming languages in the code editor and allows developers to create projects like the Language Support for Java by Red Hat extension in the Visual Studio Code marketplace, which was built with the Eclipse JDT Language Server implementation of the Language Server Protocol. Providing support for Java coding in VS Code proved to be so popular that the Red Hat-authored extension has been downloaded more than 1.3 million times (read more on that here).

Language Server Protocol
[Click on image for larger view.] Language Server Protocol (source: Microsoft).

As mentioned, Microsoft indicated it's soliciting community help for this feature and has published "How to Contribute to the Language Server Protocol" on GitHub.

Other JavaScript-related initiatives in the works include enhancements to the Debug Adapter Protocol, improving debugging in general, Webpack tweaks and various other upgrades for using JavaScript and TypeScript.

Regarding the continued improvements to the extension ecosystem, Microsoft said, "Looking ahead, we want to make acquiring extensions for these languages (and more!) as easy as possible. We want to enable extension authors to be able to be more productive and deliver richer experiences to developers. At the same time, we want to give users more control over how those extensions contribute to their environment."

The VS Code team plans on doing that for users by: improving the extension recommendation system and searching for extensions; making it easier to identify bugs or issues caused by the installation of an extension and report them; providing more information about an extension's performance; and more.

Several initiatives are also underway to improve the extension authoring experience. In this category, work is already underway to:

  • Support migrating the publisher of an extension to another publisher
  • Continue to invest into API that enables remote development
  • Add API for contributing decorations on resources shown in the explorer (like the Source Control decorations)

The roadmap also provides symbols to indicate what features are planned but for which work hasn't started. For extension authors, these items include:

  • Improve the language API to support a hierarchical navigation to the symbols in a document
  • Make extension contributions attributable to an extension (for examples: error messages, commands)
  • Investigate contributing explorer viewlets as a first class element in the activity bar
  • Investigate Quick pick improvements (for examples: multi-step, forms, commands, grouping)

"Investigations" are how Microsoft describes the process of researching a problem and potential solutions to solve it in order to better understand everything before work is actually started.

Many other features are detailed in the roadmap, which looks out over the next 6 to 12 months. More information about these initiatives are provided in published monthly iteration plans (current through the October 2017 release).

About the Author

David Ramel is the editor of Visual Studio Magazine.

comments powered by Disqus
Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.