microsoft/vscode

November/December Iteration Plan

kieferrm opened this issue ยท 4 comments

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:
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 generated npm-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
Friday- 9th December
  • Branch code to `release/<x.y> @zurich
  • Announce master is open for business @zurich
Monday - 12th December
Tuesday - 13th December
Wednesday - 14th December

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:

API Improvements for Extensions

  • API - Configuration service provides access to configuration scopes #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 #3210 @jrieken
  • API - Support variables in snippets #4956 @jrieken
  • API - Explore the use of status codes in rejected promises to communicate information back to the client #15454 @jrieken
    • Code completion providers
    • Find all references
    • Go to definition
  • API - Use non-nullable types in vscode.d.ts #6907 @jrieken
  • ๐Ÿ’ช API - Use readonly modifier in vscode.d.ts #12732 @jrieken
  • ๐Ÿ’ช Debug - Support snippets in 'launch.json' #13886 #15974 @isidorn @weinand

Language support

  • JavaScript
    • Clarify need of jsconfig.json for projects without commonjs modules TS#11554 @dbaeumer
    • Remove jsconfig.json light bulb #15205 @mjbvz
    • Improve large project warning - dependency on TS server sending a notification #15208 @mjbvz
    • ๐Ÿ’ช UX improvements for automated typings acquistion (adopt new status code API) #15209 @mjbvz @dbaeumer
    • Explore the need for pre-seeding typings files #15536 @dbaeumer
  • TypeScript

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. #15379 @alexandrudima
  • Review themes in response to vscode-textmate changes #15376 @aeschli
  • ๐Ÿ’ช Change emmet ownership @ramya-rao-a
  • ๐Ÿ’ช Improve Integrated Terminal on Windows by moving up to a newer version of winpty (part of ##13625) @Tyriar
  • ๐Ÿ’ช Use @types in our code rather than the old style typings files #14043 @dbaeumer
  • 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. #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 #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 #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 #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 #15819 @bpasero
  • Quick Open - Invesigate the costs of persisting our file cache #15382 @chrmarti
  • File Search - Improve performance of file search #15384 @chrmarti @roblourens
    • Ensure we understand usage patters of file search
  • Understand extension host reliability #15456 @jrieken
  • Adopt extension marketplace's CDN changes #15557 @joaomoreno
  • ๐Ÿ’ช Investigate automating our smoke test @aeschli

Feedback Channels

  • Crash data (see also electron/electron#7474) @ramya-rao-a
    • #15375 Investigate possible sceanrios that can get crashes reported without metadata
    • #15754 Add crash details to the crash web site
  • Improve error telemetry @ramya-rao-a
    • #12694 Fix broken stack traces in macOS and Linux
    • #15483 Update error telemetry website to add links to source code from deminified call stack
    • #13864 Error telemetry: sort by machines by default
    • #15603 Update error telemetry site to add callstacks as comments to existing issues
    • #15374 Fix errors coming from processes spawned by extensions that may have PII
    • #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 #15246 @joaomoreno
  • 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 #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 #15179 @dbaeumer
  • Debug - Explore how extension should participate in launching the debug adapers #8645 @weinand
  • Debug - Explore how extensions can contribute and implement custom actions #15656 #15657 @isidorn @weinand
  • ๐Ÿƒ 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 #15380 @alexandrudima

I think everybody can agree

<< removed gif>> killed fun

This is a pretty exciting agenda.

Can wait to see how it unfolds!

@rebornix @alexandrudima If you're revisiting the diff viewer, could you look into a cool merge-mode feature like JetBrains has? Here's a video

The one thing I am sad to see missing is custom inline widgety-things ala #3220. I understand your initial investigation into the concept wasn't promising, but don't give up!!

OP mentions:

Describe our UX process for the team and the community

and a few other vague references to "contributable explorers.. but might it be wiser to address UI extensibility as a whole rather than a case by case basis? _This extensibility is the one thing that I believe vscode is lacking._ If this is November / December track... can January be overhaul of UI extensibility?? Custom sidebars, popovers, custom workspace css, etc. It's no small order, but that would bump up extensibility up a few orders of magnitude.

Anyway, that's my 2ยข.

Sounds great!

Since the diff viewer is going to be looked at -- a feature I would love to have (and others on my team have echoed) would be small buttons (or something) to be able to quickly move change blocks from on side to the other. Of course these would only be available if one side of the diff was editable.

This is how Beyond Compare does it.
image

I agree with PHP support! A very promising extension is https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-intellisense

You could help me with his work!

Closing - November has been shipped