Repository navigation
Iteration Plan for November 2017 #38268
Description
This plan captures our work in November. This is a 5 week iteration. We will ship early December.
With Version 1.18 we made multi-root-folder workspaces available to everyone and we released plenty new functionality such as viewing diffs right in the editor, and we transitioned from Nemo to Dory 😉. We also improved performance with predictably shorter startup times on Windows and optimizations of how we handle a large number of editor decorations. The performance work doesn't come as a surprise to you if you had a look at our updated roadmap.
In this iteration we'll turn the dial more toward performance and github issues housekeeping. As a consequence you will find several performance explorations and engineering items on the plan. As you know a series of feature-rich releases always takes a toll on how much we can stay atop of all of our github issues. So, if all of a sudden you see a lot of github notification, don't get scared.
Bottom line, you won't see a lot of new features in 1.19 but you'll still get a better version of VS Code.
December 11 - 22 will not be covered by a separate plan. A couple of items are at the bottom of this plan. Our January iteration starts on January 2nd, 2018.
Endgame
- December 4th: Code freeze for the endgame
- December 8th: Endgame done
The endgame details for this iteration are tracked in November Endgame #39540.
Plan Items
Below is a summary of the top level plan items. Given the large number of explorations, we'll diverge from our usual practice of having plan items for all bullets upfront. This time we'll add them as we go.
Legend of annotations:
| Mark | Description |
|---|---|
| 🏃 | work in progress |
| ✋ | blocked task |
| 💪 | stretch goal for this iteration |
| 🔵 | more details required |
| 🔴 | missing issue reference |
Performance
- 🏃 Address collected startup performance issues (see query) Team @Microsoft/vscode
- Explore reordering of activities to improve startup time
- Explore delaying shared process on startup João Moreno (@joaomoreno) alexandrudima
- Explore delaying code loading of the debugger component on startup Johannes Rieken (@jrieken) Andre Weinand (@weinand) Isidor Nikolic (@isidorn)
- Optimize configuration reading on startup Sandeep Somavarapu (@sandy081)
- 🏃 Explore caching the
package.jsonfiles of installed extensions Cache extension manifest files #28331 alexandrudima Sandeep Somavarapu (@sandy081)
GitHub Issue Housekeeping
- Issue grooming - review, categorization, assignment November Issue Grooming - review, categorization, assignment #38209 Team @Microsoft/vscode
- Implement GitHub bots that make it easier to provide standardized responses Add standard responses to issue bot #38372 Christof Marti (@chrmarti) Matt Bierner (@mjbvz)
Serviceability
- Investigate support to attach debugger to a plain nodejs
CodeHelperprocess (experimental 'Processes' extension) Andre Weinand (@weinand)
Language Server Protocol
- Clarify and extend protocol specification as needed Dirk Bäumer (@dbaeumer) Martin Aeschlimann (@aeschli)
- Review and discuss proposed protocol extensions Dirk Bäumer (@dbaeumer) Martin Aeschlimann (@aeschli)
Debug Adapter Protocol
- Clarify and extend protocol specification as needed Andre Weinand (@weinand)
- Review and discuss proposed protocol extensions Andre Weinand (@weinand)
Engineering
- Explore replacing the custom profiling support for slow-startup with the new inspector Johannes Rieken (@jrieken)
- 🏃 💪 Continue adoption/testing for electron 1.8.x Benjamin Pasero (@bpasero)
- ✋ Track high precision touch pad issue on Windows (Chromium issue) Benjamin Pasero (@bpasero)
- Adopting tslint 5 Migrate to tslint 5 and adopt TS noUnusedLocals #37212 Team @Microsoft/vscode
- Explore language packs/tooling for contributed translations Proposal: Language Packs #39178 Dirk Bäumer (@dbaeumer) Sandeep Somavarapu (@sandy081)
- Yeoman code generator for JS/TS provide options for more type checking Erich Gamma (@egamma)
- Investigate version locking of our dev dependencies João Moreno (@joaomoreno)
- Remove unused code Revisit and remove unused code #38414 Team @Microsoft/vscode
Documentation
- Debug Recipe: Write recipe for Next.js Kenneth Auchenberg (@auchenberg)
- Debug Recipe: Write recipe for Meteor Kenneth Auchenberg (@auchenberg)
- Debug Recipe: Write recipe for NodeMon Kenneth Auchenberg (@auchenberg)
- Publish Python docs Greg Van Liew (@gregvanl)
- Publish Java docs Greg Van Liew (@gregvanl)
Deferred
- Make smoke test more stable João Moreno (@joaomoreno)
- Investigate the VS Code build performance on Windows alexandrudima
- Investigate performance issue in the Windows installer João Moreno (@joaomoreno)
- Explore usage of ASAR for loose node modules alexandrudima
- Explore impact of using plain nodejs to spawn helper processes alexandrudima
- Explore improved GDPR annotations Kai Maetzel (@kieferrm)
December 11 - 22
Serviceability
- Provide tooling to support users in filing performance issues Team @Microsoft/vscode
- Interactive tools about active extensions, active processes and their memory and CPU consumption, unresponsive processes, ...
- Generators for performance reports that can be attached to issues (installed extensions, activated extensions, processes, memory usage)
- Explore extension health reports for users about installed extensions (thrown exceptions, activation time, …)
- Support client side log (and log viewer) that can be shared with us when there are issues
- Explore tools to guide users in filing issues Pine (@octref)
Activity
[-]Iteration Plan for November 2017[/-][+]Iteration Plan for November 2017 - DRAFT[/+]ddotlic commentedon Nov 15, 2017
Most excellent and clever way to describe the icon color change - you've made my morning sir, hat's off to you!
[-]Iteration Plan for November 2017 - DRAFT[/-][+]Iteration Plan for November 2017[/+]albertosantini commentedon Nov 17, 2017
Shall you give a bit of details about the item
Explore impact of using plain nodejs to spawn helper processes, please?Any issue open addressing Node.js
8.xadoption?egamma commentedon Nov 20, 2017
Alberto Santini (@albertosantini) currently the spawned processes are spawned using the node that is part of electron. This helps to avoid shipping a separate node.js version with the product. This saves around 5-6MB. This plan item investigates the benefits of giving up on using electron's version of node.
Since we ship the node version that is part of Electron the issue to adopt version 8 .x of node.js would be in the Electron repository not in this one.