Aspire panel improvements, rename building apphost -> connecting to apphost in extension run, add off setting to enableAspireDashboardAutoLaunch #15172
Merged
adamint merged 4 commits intomicrosoft:release/13.2from Mar 12, 2026
Conversation
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15172Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15172" |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Aspire VS Code extension’s UX around dashboard launching and the resource tree view, and makes a small CLI UX tweak for a consistent status message during run.
Changes:
- VS Code extension: nest resources by parent/child relationship and sort resources alphabetically.
- VS Code extension: expand dashboard auto-launch setting from boolean to a 3-option enum and add a “Settings” action in the dashboard notification.
- CLI/extension: cap
describe --followrestart backoff by polling interval and makerunstatus messaging consistent.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Aspire.Cli/Commands/RunCommand.cs | Always uses “Connecting to AppHost” while waiting for the backchannel. |
| extension/src/views/AspireAppHostTreeProvider.ts | Adds resource sorting and parent/child nesting in the tree view. |
| extension/src/views/AppHostDataRepository.ts | Adds ResourceJson.properties; caps describe restart backoff at polling interval. |
| extension/src/test/rpc/interactionServiceTests.test.ts | Updates tests for new 3-option dashboard auto-launch behavior. |
| extension/src/test/appHostTreeView.test.ts | Updates test resource factory to include new properties field. |
| extension/src/server/interactionService.ts | Implements 3-option dashboard auto-launch + notification actions; refreshes panel after URLs arrive. |
| extension/src/loc/strings.ts | Adds settingsLabel; updates dashboard notification string text. |
| extension/package.nls.json | Updates setting descriptions and adds enum descriptions. |
| extension/package.json | Changes aspire.enableAspireDashboardAutoLaunch from boolean to string enum. |
| extension/loc/xlf/aspire-vscode.xlf | Updates localization strings for the updated setting + new string(s). |
| extension/README.md | Updates documented default/value for dashboard auto-launch setting. |
You can also share your feedback on Copilot code review. Take the survey.
davidfowl
approved these changes
Mar 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
VS Code extension improvements and a CLI status message fix. Noticed while dogfooding. I don't like the dashboard auto-launching, but the Launch Aspire Dashboard notification each time popping up was driving me crazy.
Changes
propertiesfield to theResourceJsoninterface to supportresource.parentName.aspire.enableAspireDashboardAutoLaunchfrom a boolean to a 3-option enum:launch— automatically open the dashboard in the browser (default, preserves existing behavior)notification— show a notification with a link to open the dashboardoff— do nothing (dashboard URL is still printed in the terminal)Describe --follow backoff cap: The exponential backoff delay for restarting
describe --followis now capped at the configured polling interval instead of a hardcoded 60-second maximum.Panel refresh after dashboard URLs: The Aspire resource panel now refreshes after dashboard URLs are received so the tree view picks up the latest state. Previously, the user would have to wait up to the max backoff cap to see the panel refresh, now it's instant.
Small label fixes
CLI: Consistent status message during run: The
runcommand now always shows "Connecting to apphost" as the status message, rather than conditionally showing "Building apphost" when launched from the extension host.Validation
npx tsc --noEmit)Checklist