Skip to content

improve avm module completion readability with suffix labels and prefix descriptions#18958

Open
polatengin wants to merge 12 commits intomainfrom
polatengin/18957-improve-avm-module-completion-readability-long-paths-small-suggest-widget
Open

improve avm module completion readability with suffix labels and prefix descriptions#18958
polatengin wants to merge 12 commits intomainfrom
polatengin/18957-improve-avm-module-completion-readability-long-paths-small-suggest-widget

Conversation

@polatengin
Copy link
Copy Markdown
Member

@polatengin polatengin commented Feb 6, 2026

When authoring Bicep modules from the public registry (AVM), the completion dropdown is too narrow for the long module paths. Most AVM paths share long prefixes (e.g., avm/ptn/...) and differ only toward the end, making it hard to visually scan the list especially at higher editor zoom levels.

This PR enhances the module completion tooltip with rich, structured documentation instead of relying on the narrow Detail field:

  • New AvmModuleDisplayNameProvider fetches and caches AVM module display names and statuses from the Azure Verified Modules CSV indexes. The cache is loaded once on server startup, asynchronously.
  • Rich markdown documentation, completion items now show:
    • Title (AVM display name when available, otherwise the module description)
    • Version (for version completions)
    • Full module path
    • Status with color-coded emoji (🟢 Available, ⚪ Proposed, 🟡 Orphaned, 🔴 Deprecated)
    • Description and documentation link

Tests added

Recording.2026-03-16.162230.mp4

Checklist

Microsoft Reviewers: Open in CodeFlow

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 6, 2026

Test this change out locally with the following install scripts (Action run 23172691534)

VSCode
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-vsix.sh) --run-id 23172691534
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-vsix.ps1) } -RunId 23172691534"
Azure CLI
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-cli.sh) --run-id 23172691534
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-cli.ps1) } -RunId 23172691534"

@matebarabas
Copy link
Copy Markdown
Contributor

Hi @polatengin, thanks for this PR! Let's align on this internally first before proceeding. Thanks again!

@polatengin polatengin marked this pull request as draft February 19, 2026 20:49
@polatengin polatengin marked this pull request as ready for review March 17, 2026 19:32
@polatengin
Copy link
Copy Markdown
Member Author

polatengin commented Mar 17, 2026

Just a heads-up, the AVM team has reviewed and approved these changes. This PR enhances the module completion tooltip to show rich documentation (display name, status, version, full path, description, and doc links) instead of relying on the narrow Detail field, which improves readability especially with long AVM module paths and smaller suggest widgets.

The changes are scoped to the completion provider and don't affect any core compilation or runtime behavior. All existing tests have been updated, and a new test has been added for the display-name tooltip integration.

Would appreciate an expedited review when you get a chance. Thanks! 🙏

//cc: @matebarabas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Improve AVM module completion readability (long paths + small suggest widget)

2 participants