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 an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube