Merge duplicate progress notifications during environment creation #931
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When creating a virtual environment with packages to install, users would see two separate, stacked progress notifications that were confusing and looked odd:
The second progress notification (displayed on top) represents just a different stage in the same creation operation, so displaying two separate notifications was unnecessary.
Solution
This PR merges the two progress notifications into a single, updating progress notification that leverages VS Code's progress API to update its message as the operation progresses through different stages.
Before:
After:
Changes
API Enhancement
suppressProgress?: booleanoption toPackageManagementOptionstypeCore Implementation
createWithProgress()to use theprogressparameter to update the message to "Installing packages..." when package installation begins, and passessuppressProgress: truetoapi.managePackages()manage()to check thesuppressProgressflag and conditionally skip wrapping execution withwithProgress()when the flag is truesuppressProgressflag with proper handling of CancellationToken requirementsTesting
venvProgressMerge.unit.test.tsto verify:progress.report()is called with the "Installing packages..." messagesuppressProgress: trueis passed tomanagePackages()Impact
falseFixes #[issue_number]
Original prompt
Fixes #925
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.