Skip to content

Clean up Aspire panel: context menus, loading state, welcome messages#15375

Merged
joperezr merged 3 commits intomicrosoft:release/13.2from
adamint:dev/adamint/cleanup-aspire-panel
Mar 19, 2026
Merged

Clean up Aspire panel: context menus, loading state, welcome messages#15375
joperezr merged 3 commits intomicrosoft:release/13.2from
adamint:dev/adamint/cleanup-aspire-panel

Conversation

@adamint
Copy link
Member

@adamint adamint commented Mar 19, 2026

Description

General cleanup for panel, including requested changes from #15347.

Adds an initial 'loading' screen so that the initial message displayed in the panel is correct. "Searching for running apphosts..."

New resource node context menu:
image

New link node context menu:
image

New apphost (global mode only, because the data is not available via aspire describe) context menu:
image

New apphost pid/cli pid context menus:
image

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 19, 2026 03:01
@github-actions
Copy link
Contributor

github-actions bot commented Mar 19, 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 -- 15375

Or

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

Copy link
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

Improves the Aspire panel’s tree view UX by adding additional context-menu actions, introducing a loading welcome state, and refining welcome messaging based on view mode (workspace vs global).

Changes:

  • Add context-menu copy actions (resource name, PID, apphost path) and introduce a dedicated PID tree item type.
  • Add a loading state context (aspire.loading) and update viewsWelcome conditions to show loading / mode-specific welcome messages.
  • Adjust handling of aspire describe --follow early exit to prefer the standard “no running apphost” welcome over the CLI-not-supported banner in that case.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
extension/src/views/AspireAppHostTreeProvider.ts Adds PidItem and new copy commands for tree items.
extension/src/views/AppHostDataRepository.ts Tracks/loading state and updates VS Code context keys for welcome rendering.
extension/src/loc/strings.ts Adds a generic “copied to clipboard” localized string helper.
extension/src/extension.ts Registers new commands and initializes the new loading context.
extension/package.nls.json Adds/updates localized strings for welcome messages and command titles.
extension/package.json Adds new commands and updates menus + viewsWelcome logic for loading/mode-specific welcomes.
extension/loc/xlf/aspire-vscode.xlf Updates XLF localization entries for some (but not all) new/changed strings.

You can also share your feedback on Copilot code review. Take the survey.

@adamint adamint changed the title Improve Aspire panel: context menus, loading state, welcome messages Clean up Aspire panel: context menus, loading state, welcome messages Mar 19, 2026
@adamint adamint force-pushed the dev/adamint/cleanup-aspire-panel branch from fbf6bc1 to 91c096f Compare March 19, 2026 03:16
@adamint adamint changed the base branch from release/13.2 to main March 19, 2026 03:17
@github-actions
Copy link
Contributor

Re-running the failed jobs in the CI workflow for this pull request because 3 jobs were identified as retry-safe transient failures in the CI run attempt.
GitHub was asked to rerun all failed jobs for that attempt, and the rerun is being tracked in the rerun attempt.
The job links below point to the failed attempt jobs that matched the retry-safe transient failure rules.

Adds initial 'loading' screen, new context menus for resources, endpoints,
apphost, and PID nodes. Consolidates previous 3 commits into one for clean
rebase onto main.
@adamint adamint force-pushed the dev/adamint/cleanup-aspire-panel branch from 91c096f to dad7d06 Compare March 19, 2026 03:43
@adamint adamint changed the base branch from main to release/13.2 March 19, 2026 03:44
@joperezr joperezr added the Servicing-approved Approved for servicing release label Mar 19, 2026
@joperezr joperezr enabled auto-merge (squash) March 19, 2026 04:08
@joperezr joperezr merged commit 1465179 into microsoft:release/13.2 Mar 19, 2026
257 checks passed
@dotnet-policy-service dotnet-policy-service bot added this to the 13.2 milestone Mar 19, 2026
Copilot AI pushed a commit that referenced this pull request Mar 19, 2026
…#15375)

* Clean up Aspire panel: context menus, loading state, welcome messages

Adds initial 'loading' screen, new context menus for resources, endpoints,
apphost, and PID nodes. Consolidates previous 3 commits into one for clean
rebase onto main.

* remove unused strings

* remove comands on resources node, update string
adamint added a commit that referenced this pull request Mar 23, 2026
…#15375)

* Clean up Aspire panel: context menus, loading state, welcome messages

Adds initial 'loading' screen, new context menus for resources, endpoints,
apphost, and PID nodes. Consolidates previous 3 commits into one for clean
rebase onto main.

* remove unused strings

* remove comands on resources node, update string
joperezr pushed a commit that referenced this pull request Mar 23, 2026
)

* Add right-click context menu on resource endpoint URLs (#15347)

Add three context menu actions for endpoint URL tree items in the
Running AppHosts tree view:
- Copy URL to Clipboard
- Open in External Browser
- Open in Simple Browser

Introduces EndpointUrlItem TreeItem subclass with contextValue
'endpointUrl' to enable context menu targeting, replacing the
generic DetailItem for endpoint URLs.

Fixes #15345

Co-authored-by: Mitch Denny <mitch@mitchdeny.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Clean up Aspire panel: context menus, loading state, welcome messages (#15375)

* Clean up Aspire panel: context menus, loading state, welcome messages

Adds initial 'loading' screen, new context menus for resources, endpoints,
apphost, and PID nodes. Consolidates previous 3 commits into one for clean
rebase onto main.

* remove unused strings

* remove comands on resources node, update string

* Add AppHost CodeLens and gutter decoration support (#15397)

* Add CodeLens and gutter decoration support for AppHost resources

* wip

* remove status bar strings from branch

* Add CodeLens, gutter decorations, and AppHost resource parsers for VS Code extension

- Add CodeLens provider showing resource state, actions (start/stop/restart), and view logs
- Add gutter decoration provider with colored status circles for resources
- Add C# and JS/TS AppHost resource parsers with registry pattern
- Add statementStartLine for multi-line fluent chain CodeLens positioning
- Add comment-skipping logic so CodeLens appears below comments, above code
- Extract shared resource state utilities and resource constants
- Add enableCodeLens and enableGutterDecorations settings
- Add comprehensive test coverage (parsers, CodeLens, resourceStateUtils)
- Only match parent resources (Add* calls), not implicit child resources (With* calls)

* Address Copilot review: conditional appHostPath, displayName preference, Unhealthy as error

- Guard --apphost flag when appHostPath is falsy in CodeLens commands
- Prefer displayName over name in two-pass resource matching
- Classify Unhealthy health status as error (not warning) to align with tree view

* bump extension version

* update config json

* Fix dashboard image in marketplace README and bump version to 1.0.6 (#15379)

* Fix dashboard image URL: dotnet -> microsoft (#15466 partial)

---------

Co-authored-by: Mitch Denny <midenn@microsoft.com>
Co-authored-by: Mitch Denny <mitch@mitchdeny.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-extension Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants