Skip to content

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
adamint:adamint/extension-improvements
Mar 12, 2026
Merged

Conversation

@adamint
Copy link
Copy Markdown
Member

@adamint adamint commented Mar 12, 2026

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

  1. Tree view resource nesting & sorting: Resources with parent-child relationships (e.g. replicas under a project) are now displayed as nested tree items. All resources are sorted alphabetically by display name. Added properties field to the ResourceJson interface to support resource.parentName.
image
  1. Dashboard auto-launch setting expanded to 3 options: Changed aspire.enableAspireDashboardAutoLaunch from 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 dashboard
    • off — do nothing (dashboard URL is still printed in the terminal)
image
  1. Describe --follow backoff cap: The exponential backoff delay for restarting describe --follow is now capped at the configured polling interval instead of a hardcoded 60-second maximum.

  2. 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.

  3. Small label fixes

  4. CLI: Consistent status message during run: The run command now always shows "Connecting to apphost" as the status message, rather than conditionally showing "Building apphost" when launched from the extension host.

Validation

  • TypeScript compiles cleanly (npx tsc --noEmit)
  • All 29 extension unit tests pass
  • Interaction service tests updated for the new 3-option enum
  • C# DashboardUrlsTests pass (6/6)

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
    • No
  • Does the change require an update in our Aspire docs?
    • Yes
    • No

Copilot AI review requested due to automatic review settings March 12, 2026 15:35
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 12, 2026

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15172

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15172"

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 --follow restart backoff by polling interval and make run status 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.

@adamint adamint changed the title VS Code extension improvements and CLI fixes Aspire panel improvements, rename building apphost -> connecting to apphost in extension run, add off setting to enableAspireDashboardAutoLaunch Mar 12, 2026
@adamint adamint merged commit 1f45aa0 into microsoft:release/13.2 Mar 12, 2026
497 of 501 checks passed
@dotnet-policy-service dotnet-policy-service bot added this to the 13.2 milestone Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants