Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The VS Code Roadmap 2018
As 2017 comes to an end, now is the time to look towards the future. We typically look out 6 to 12 months, establish a set of themes we want to work towards, and then schedule work each milestone supporting those themes. When planning, we look at potential work from three perspectives:
Happy Coding: At its core VS Code is a lightweight, keyboard focused, multi-language code editor. VS Code is already pleasant to code with, and we want to make the experience even more pleasant, for both new and existing users.
VS Code will continue to ship monthly, and we'll make progress against each of the following themes during each iteration. We describe some initiatives as "investigations" which simply means our goal in the next few months is to better understand the problem and potential solutions before scheduling real feature work. Once an investigation is done, we will update our plan, either deferring the initiative or committing to it.
Legend of annotations:
|bullet||work not started|
|check mark||work completed|
Happy Coding with VS Code
Over the past 6 months, we’ve worked hard to eliminate blockers that make it hard for people to adopt VS Code. For example, we make multi-root workspaces available in the October 2017 Stable builds. We continue to work with the extension authors to also enable their extension to support multi-root workspaces.
However, we’re not done. You have asked for more flexibility in how you position editors and panes, for multi-selection in the explorer, and more. 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.
A key attribute of an 'editor' is performance and stability, if we add features at the expense of these fundamentals we risk losing a large part of what keeps us competitive in the 'editor' category.
- Improve startup performance: keep start-up times within a predictable and suitable range for users across all platforms
- Reduce resource/memory consumption: what can we do to reduce and control resource consumption of helper processes
Continue to improve accessibility,
- menu bar on Windows
- Support language packs for community-contributed translations
- Improve the Windows update experience
- Improve serviceability by providing additional diagnostics
Improve intra-file navigation
- bread crumb
- Support to layout the editor area as a grid
- Investigate improved settings discovery and editing
- Finish Multi-root folder Workspaces support and support extension authors in adopting it
Show SCM status in the explorer (including
- Support vertical panel layout
- Support multi-selection in the explorer for common actions e.g. delete
- Improve notification UI
- Improve the performance and scalability of editor decorations
- Improve Text Storage implementation
- Investigate into improved column selection
- Investigate into semantic coloring support
- Render more than text in the minimap
- Support splitting and viewing of multiple terminals
Source Control Integration
- Support to view changes directly inside the editor using a peek/inline experience
- Investigate integrated history view
- Investigate support to better collaborate on pull requests
Language Server Protocol
- Continue to refine and improve to Language Server Protocol with support from the community.
- Enable proposed protocol additions from the community.
Debug Adaptor Protocol
- Continue to refine and improve to Debug Adapter Protocol with support from the community.
- Expose more UI for DAP features that are currently not surfaced in the VS Code debugging UI. This includes moving the loaded scripts UI into the core.
We closely collaborate with TypeScript, see also the TypeScript roadmap
- Organize imports, remove unused imports
Tag completion in
- Add more refactorings
- Investigate into improving TypeScript Source Maps so that they are more precise and includes variable mappings.
- Linting/validation of configuration
- Make it easier to configure
- Improve hovering and inline values by leveraging language knowledge
- Continue to invest in documenting debugging recipes for common configurations
- Support hot code replace for non-JS scenarios e.g. Java.
- Support LogPoints
Extension creation, discovery, and management
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.
For extension users
- Improve extension recommendation system
- Improve searching for extensions
- Simplify tracking down issues caused by installed extensions and make it easier to file issues
- Show the user more information about the usage of a extension (startup time, error rate, etc.).
For extension authors
- Improve the language API to support a hierarchical navigation to the symbols in a document
- Make extension contributions attributable to an extension (e.g. error messages, commands)
- Support migrating the publisher of an extension to another publisher
- Investigate contributing explorer viewlets as a first class element in the activity bar
- Investigate Quick pick improvements (e.g. multi-select, multi-step, commands, grouping)
- 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)
- Make it easier for extension authors to find their way around. Improve our API documentation, and integrate samples and documentation more closely.
- Refresh all of our dated overview videos.
These are examples of just some of the work we will be focusing on in the next 6 to 12 months. We continuously tune the plan based on feedback and we will provide more detail in each of our monthly iteration plans. Please follow along and let us know what you think!