-
Notifications
You must be signed in to change notification settings - Fork 34.4k
Description
After a major effort like the November Beta release the team does need some well deserved decompression. During this decompression period we still want to be responsive to issues raised by the community, but we also want to work on debt reduction, tune our own development process, and do some explorations. This also means that we will not start working on new big rock features, so work on code folding will not start yet, but do not worry, it will come.
For more information about our development process please refer to the development process page.
Test Plan for this iteration: #1096
Dates
The goal is to make the December update available before the holidays
stable
channel updated on Dec 18thinsider
channel updated on Dec 14th. This enables community members to test a candidate build at the same time as we do. For more information on the insider channel refer to Test Prereleases
End game dates (we end an iteration with an endgame)
- Friday Dec 11th evening: freeze
- Monday: test day, update insider channel
- Tuesday: fix day
- Wedneday: fix day
- Thursday: Done, documentation, release notes update, bugs verified
- Friday; update the stable channel
Plan Items
Performance
We care a lot about performance...
- Add telemetry to measure startup time Telemetry: We should log startup times #707 @sofianhn
- We had a startup performance regression (Slow startup / crashes - unusable #335) that required a recovery build. We would like to avoid this in the future.
- Investigate into a fix for the slow loading of files with multi byte characters VSCode very slooow when opening minified css file #94
- Investigate into a contribution for Super slow tokenization of long strings containing multi-byte characters atom/node-oniguruma#45 @alexandrudima
- PR submitted Introduce OnigString as the underlying caching mechanism atom/node-oniguruma#46
Feedback
Issues to address feedback from the community:
- Editor: It is difficult to deal with keybindings when using non-US standard keyboard layout It is difficult to deal with keybindings when using non-US standard keyboard layout #713
- linux, windows @alexandrudima
- mac @alexandrudima @jrieken (offered to look into the Mac implementation)
- API: Expose more editor commands as API Expose more Commands as API #913 @jrieken
- fix language feature commands
- documentation support and validation for parameter/return types
- API: Investigate deactivate() on shutdown call for an extension @alexandrudima
- API: Support to contribute a JSON schema for a file pattern from an extension [json] Support to contribute JSON schema from an extension #489 @aeschli
- This enables that extensions like jshint or eslint can contribute a schema for JSON validation for their configuration files.
- It also enables to move more hard coded JSON schemas into the corresponding extensions
- Issue: JSON schema support for .jshintrc vscode-jshint#4
- Deferred - API: Investigate into how we can provide more support for the VIM extensions @alexandrudima
- Gallery: Improve experience when user wants to read the README.md before installing an extension Improve experience when user wants to read the README.md before installing an extension #914 @joaomoreno
- Gallery: Improve performance of fetching the available extensions @joaomoreno
- Git: Support git integration when git folder is in a parent folder Request: Git features should be available when working on a project that's below the git repo root #863 @joaomoreno
- Git: Add a pull with rebase action to the git viewlet Add a pull with rebase action to the git viewlet #907 @joaomoreno
- JS: Simplify using ES6 @jrieken
- JS Enable ES6 coloring by using the TypeScript textmate grammar @aeschli
- Debug: Improve presenting long text values inside the debug console @isidorn
Debt Items
This section lists items to reduce our engineering debt:
- Improve the internals of the suggestion contribution [debt] improve the internals of the suggestion contribution #1006 Suggest cleanup #1079 @jrieken @joaomoreno
- Deferred - Proposal for separating the vscode tools from the vscode API of the existing vscode module Proposal for separating the vscode tools from the vscode API #970 @bpasero
- Currently the vscode node module combines the tools and the vscode API into one unit, we want to decouple the API from the used modules.
- Blocked - Automated Mac signing @joaomoreno
- The builds we publish need to be signed and this process isn't as automated yet, as we would like.
- Increase test coverage @Microsoft/vscode
- in progress - Debug: Provide a test suite for debugger adapters @weinand
- in progress - Language services - Document the language services protocol @dbaeumer
Adoptions
We continously have to adopt components which we require:
- Adopt electron version 0.34.5 Adopt latest Electron build #826 @bpasero
- We usually update to new version of electron. This version addresses Blurry rendering on High-DPI after Chrome 45 upgrade electron/electron#3349
- Adopt TypeScript 1.7 Adopt TypeScript 1.7 #836 @dbaeumer
- Investigate into using async/await in extensions
- Adopt the a newer version of OmniSharp @jrieken
Engineering Items
This section lists several engineering/development items that the team identified:
- Run VSCode unit tests headless in a CI setup @bpasero
- Support a command line switch to launch Code without any extensions Provide a flag to disable extension loading #708 @bpasero
- Simplify diagnosing issues caused by extensions.
- Move C# into a separate extension @jrieken
- Enable the ASP/Roslyn team to eventually take over this extension
- Extensions: warn the user when contributions conflict @isidorn
- Extension host debugging: change to a model where VS Code triggers reattach (instead of polling) do not try to reconnect on real quit #855 @weinand @bpasero @isidorn
- Support to define and preserve the zoom state of VS Code persisting zoom in/zoom out settings #291 @bpasero
- This was a real pain during the recent demos.
- Git: Make it easy to submit a pull request/create and publish a local branch @joaomoreno
- We do a lot of PRs and we want to simplify the flow.
- Debug: Provide npm modules for the debugger protocol (client, server) @weinand
- Complete the language service protocol and add more Code language features to the language service protocol @dbaeumer
- Deferred - Debug: Provide function break point support in the UI and backend @isidorn @weinand
- Conditional break points is a stretch goal for December.
- What is the future of Send a smile @sofianhn
Explorations
We also do some explorations:
- Investigate into Salsa (JavaScript powered by TypeScript TypeScript#4789) adoption with the TypeScript team
- In progress - Explore integrated TypeScript building/transpilation Explore: Integrated TypeScript building/transpilation #973 @dbaeumer
- Under discussion - Explore: Improved Intellisense support to show documentation for a completion item IntelliSense text doesn’t wrap / gets cut off #369 @joaomoreno
- Explore support for fuzzy searching in the UI Alternative fuzzy searching #968
Bugs
This section includes bug queries for the vscode related repositories: