Description
This plan captures what we work on during November and early December. This iteration will be 6 weeks long. This is unusually long for us. We are an internationally distributed team and everybody in the team wants to enjoy the forthcoming holiday season while we still continue working as a closely knit team. Thus, it's 6 weeks this time. We will ship mid December.
Not unusual and still noteworthy: We will do several explorations that might or might not result in concrete deliverables in this or later releases.
Endgame Schedule
- December, 5th Code freeze for the endgame
- December, 9th Endgame done
Monday - 5th December
- Code freeze at 5pm PT
- Ensure we have a green build on all platforms
- All test items contain sufficiently comprehensive test descriptions by 6pm PT
Tuesday - 6th December
- Test build starts at 7am CET / 10pm PT on Monday
- Test plan ready by 8am CET / 11pm PT on Monday
- Testing
Wednesday - 7th December
- Testing
- Remind team members to assign issues that they intend to fix to the November milestone
- Fixing (self-assigned, milestone assigned)
- Verification Since there are quite some old bugs to verify we verify by age, youngest first. The queries are:
- Verification needed
- November Bugs
About 80 issues were verified on 12/7
Thursday - 8th December
- Remind team members to start add Release Notes
- Fixing (scrutiny sets in - major bugs only - to be discussed in stand-up meeting, labeled as
candidate
) - Verification
- Add/update shrink-wrap files for built-in extensions if needed (see instructions) @ramya-rao-a
- Update
OSSREADME.json
for built-in extensions based on differences to generatednpm-shrinkwrap.json
files if needed @ramya-rao-a - Run OSS tool after merging shrink-wrap findings @ramya-rao-a
- The LCA review of the ThirdPartyNotices.txt files is not needed anymore
- Check new OSS usage is entered into the OSS registry @ramya-rao-a
Friday - 9th December
- Pause scheduled
insider
builds @zurich - Satellite modules/npm packages ready, version updated, smoke tested
- vscode @bpasero
- yo generator @aeschli
- vsce @joaomoreno
- node debug @weinand
- Translation input - @dbaeumer
- Fixing (only critical bugs - no string changes)
- Smoketest
- All release notes updated. Release notes are collected in a file named
Major_Minor.md
in this repo directory - Acknowledge pull requests in release notes. We acknowledge PRs from outside the team. Use the thankyou utility to generate the initial contents of the section.
- Mention notable fixes in the release notes @ALL
- When done fixing/verifying and there are changes since last build at the end of day PT
- Trigger new insider build and publish it manually @ramya-rao-a
Friday- 9th December
Monday - 12th December
- Publish
Insider
with hand-picked and reviewed candidate fixes @ramya-rao-a - Smoketest
- Windows - @roblourens
- OS X - @mbjvz
- Linux - @rebornix
- Polish release notes @gregvanl
- All issues verified
Tuesday - 13th December
- Merge translations @dbaeumer
- Build stable for all platforms @ramya-rao-a
- Sanity check of installable bits
- Windows
- signed installer @mousetraps
- zip @mousetraps
- OS X - @ramya-rao-a
- Linux
- Windows
Wednesday - 14th December
- Publish website @gregvanl
- Publish to stable @kieferrm
- Add a git tag to
HEAD
ofrelease/<x.y>
in formatx.y.z
@ramya-rao-a - Enable scheduled
insider
builds @kieferrm - Twitter announcement @seanmcbreen
Plan Items
Our team uses a GitHub Project to track its work. GitHub does not support public Projects right now. Below is a summary of the top level plan items.
Legend for annotations:
Mark | Description |
---|---|
🏃 | work in progress |
✋ | blocked task |
💪 | stretch goal for this iteration |
🔵 | more details required |
🔴 | missing issue reference |
Themes
- performance
- discoverability
- UI scalability
- API improvements
- accessibility testing
Feedback
Issues to address community feedback:
- Workbench - Finish 'Hot Exit' Unsaved files should be preserved on quit (hot exit) #101 @Tyriar @bpasero
- Workbench - Polish and evolve API and implementation of contributable explorers Declarative contribution of custom Tree Explorer #14048 @jrieken @octref @owner
- Workbench - Address UI scalability in the face of contributable explorers Address UI scalability concerns in the face of contributeable explorers #15155 @stevencl @bgashler1 @bpasero
- Workbench - Improve discoverability of available functionality
- Review command, panel, and widget names Review currently used terminology #15158 @seanmcbreen @chrmarti
- Add a 'Selection' menu Introduce Selection menu #15156 @chrmarti
- Add entries to keymaps to Preferences menu Add keymaps the top-level Preferences menu #15159 @chrmarti
- Editor - Improve accessibility of diff editor (do not only use color) Improve accessibility of diff editor (do not only use color) #15371 @rebornix @alexandrudima
- Editor - Sublime compatibility (see Missing keyboard shortcut features from Sublime Text #3776)
- Git - Add 'Clone from GitHub' to the command palette @joaomoreno
- Debug - Improve UX for multi-target debugging multi target debugging: floating debug action widget needs to show session #14450 @isidorn
- Debug - Support more flexible handling of exceptions Debug Protocol: Support more flexible handling of exceptions vscode-debugadapter-node#64 @weinand
- Debug - Allow debug adapters to customize the behavior of the 'restart' button Allow debug adapters to customize the behavior of the 'restart' button #14189 @weinand @isidorn
- Debug - Add reverse continue for TimeTravel Debugging Feature request: Add reverse continue for TimeTravel Debugging feature for Node #13705 @weinand @isidorn
- Debug - Support objects in debug console output Support objects when sending output to debug console #15796 @weinand @isidorn
- Debug - Improve 'smart step' to support black-listing of modules/libraries Make debugger respect "files.exclude" or introduce a hiding mechanic #3215 @roblourens @weinand
- Debug - Allow to use external files to specify the environment of a launch config VS Code debugger should be able to use an external file for environment setup #14523 @weinand
- Debug - Productize composite launch configs multi debug: productise 'composite' launch config #14842 @weinand @isidorn
- Documentation - Describe our UX process for the team and the community @chrisdias
- 💪 Workbench - Use custom title on macOS Mac: allow for more custom title bar styles #15098 @bpasero
API Improvements for Extensions
- API - Configuration service provides access to configuration scopes Provide source info when reading configurations #10583 @jrieken
- API - Add support for dynamic changes of capabilities to the language server protocol LSP#125 @dbaeumer
- API - Allow language servers to provide command implementations LSP#126 @dbaeumer
- 💪 API - Explore exposing the language server protocol as JSON schema rather than a
d.ts
file LSP#25 @dbaeumer - API - Allow code completion providers to return dynamically computed snippets using a subset of the TextMate snippet syntax Ability to insert dynamically generated snippets through extensions #3210 @jrieken
- API - Support variables in snippets Support snippet variables #4956 @jrieken
- API - Explore the use of status codes in rejected promises to communicate information back to the client Status codes and well-defined errors in XYZProvider interfaces #15454 @jrieken
- Code completion providers
- Find all references
- Go to definition
- API - Use non-nullable types in
vscode.d.ts
Use non-nullable types in vscode.d.ts #6907 @jrieken - 💪 API - Use
readonly
modifier invscode.d.ts
use new readonly modifier #12732 @jrieken - 💪 Debug - Support snippets in 'launch.json' Snippets in 'launch.json' #13886 UI for adding snippets in launch.json #15974 @isidorn @weinand
Language support
- JavaScript
- Clarify need of
jsconfig.json
for projects without commonjs modules TS#11554 @dbaeumer - Remove
jsconfig.json
light bulb Remove jsconfig.json light bulb #15205 @mjbvz - Improve large project warning - dependency on TS server sending a notification Improve large project warning for Js/Ts projects #15208 @mjbvz
- 💪 UX improvements for automated typings acquistion (adopt new status code API) UX improvements for automated typings acquisition #15209 @mjbvz @dbaeumer
- Explore the need for pre-seeding typings files Explorer if we should pre-seed TS typings with the tsserver #15536 @dbaeumer
- Clarify need of
- TypeScript
- Explore with the TS team on Compile on Save support TS#11526 @dbaeumer
- Explore exposing code actions provided by the TS Server Adapt TSServer 2.1.x #15535 @dbaeumer & @mjbvz
Debt Items
Issues to reduce our engineering debt:
- Let
vscode-textmate
compute simplified tokens. This will improve rendering performance as well as fix issues we see with several textmate themes. Compute theme & embedded modes information in vscode-textmate #15379 @alexandrudima - Review themes in response to
vscode-textmate
changes Review themes in response tovscode-textmate
changes #15376 @aeschli - 💪 Change emmet ownership @ramya-rao-a
- Use Emmet extensions_path option #11679 as warm-up @ramya-rao-a
- 💪 Improve Integrated Terminal on Windows by moving up to a newer version of winpty (part of #Improve Windows support in integrated terminal #13625) @Tyriar
- 💪 Use @types in our code rather than the old style typings files vscode code base - migrate to consuming typings from npm as supported by TS 2.0 #14043 @dbaeumer
- Port language server implementation to TS 2.0 Port language server implementation to TS 2.0 #15201 @mjbvz
- Debug - VS Code starts to use that information to fix the hover experience by only showing a hover when inside the scope boundaries. Debug hover should use scope information #15172 @isidorn
Extension Contributions
Support/contribute to extensions:
- All - Ensure all extensions we contribute to are using the extension change log @kieferrm
- 🏃 PHP - Continue exploration of improved PHP parser with symbol and location information PHP parser explorations #15818 @mousetraps
- Discuss parser exploration with community
- Go - Explore Go language server seeded by SourceGraph @ramya-rao-a
- Azure - Explore Azure extension pack for the market place @chrisdias
Engineering
This section lists several engineering/development items that the team identified:
- Improve support for Javascript in HTMl Improve support for Javascript in HTML #15377 @aeschli
- Ensure html language server is self-contained
- Explore possibility of providing an html language server library for easy adaptation to other scenarios
- Improve workbench start-up performance Improve workbench start-up performance #15455 @bpasero @jrieken
- Collect more detailed startup performance data and send it using the existing start-up time event
- Investigate need for log service
- Workbench - Investigate return to open on mouse-down Investigate return to open on mouse-down #15819 @bpasero
- Quick Open - Invesigate the costs of persisting our file cache Quick Open - Invesigate the costs of persisting our file cache #15382 @chrmarti
- File Search - Improve performance of file search File Search - Improve performance of file search #15384 @chrmarti @roblourens
- Ensure we understand usage patters of file search
- Understand extension host reliability Understand extension host reliability #15456 @jrieken
- Adopt extension marketplace's CDN changes Adopt latest Marketplace CDN changes #15557 @joaomoreno
- 💪 Investigate automating our smoke test @aeschli
Feedback Channels
- Crash data (see also Crash Reporter submits crash report with only minidump and no data electron/electron#7474) @ramya-rao-a
- Investigate possible sceanrios that can get crashes reported without metadata #15375 Investigate possible sceanrios that can get crashes reported without metadata
- Crash reporting: include crash details #15754 Add crash details to the crash web site
- Improve error telemetry @ramya-rao-a
- File details gets stripped out of call stack in Linux and Mac while logging error telemetry #12694 Fix broken stack traces in macOS and Linux
- Update error telemetry website to add links to source code from deminified call stack #15483 Update error telemetry website to add links to source code from deminified call stack
- Error telemetry: sort by machines by default #13864 Error telemetry: sort by machines by default
- Update error telemetry site to add callstacks as comments to existing issues #15603 Update error telemetry site to add callstacks as comments to existing issues
- Error Telemetry has errors from processes run inside the extension that may contain PII #15374 Fix errors coming from processes spawned by extensions that may have PII
- Error telemetry: always start to deminify stacks #15752 Always start to de-minify stack traces
- Data pipeline maintenance @ramya-rao-a
- 🏃 Rename KPIs, add Weekly Avg KPI and backfill
- Improve support for retention and churn data
Explorations
We are continuously exploring options and ideas. Some might make it into future releases.
- 🏃 API - Explore potential support for SCM providers Exploration: SCM providers #15246 @joaomoreno
- Workbench - Explore improvements to settings Workbench - Explore improvements to settings #15162 @sandy081
- Improve adjustment of common settings
- Make it easier to find the settings that need adjustment and to adjust them
- Workbench - Improve experience for first time users Workbench - Improve experience for first time users #15383 @chrmarti @sandy081
- What adjustments are typically made on first run
- Familiarizing a first time user with VS Code
- How do we know we improved?
- 🏃 Tasks - Explore future direction of task support Explore future direction of the task runner system. #15179 @dbaeumer
- Debug - Explore how extension should participate in launching the debug adapers Allow extensions to handle launching of the debug adapter. #8645 @weinand
- Debug - Explore how extensions can contribute and implement custom actions Support to call debug adapter API from extension #15656 Support context menu action contributions for debug viewlet views #15657 @isidorn @weinand
- 🏃 Explore what it takes to ship VS Code as a UWP application Explore what it takes to ship VS Code as a UWP application #15820 @bpasero
- 💪 Explore code commenting support in diff editor for allowing a 'Review Github PR' extension Explore code commenting support in diff editor for allowing a 'Review Github PR' extension #15380 @alexandrudima