Skip to content

Conversation

@DanTup
Copy link
Member

@DanTup DanTup commented Jul 9, 2025

Fixes #5589

/gemini review

@DanTup DanTup requested a review from Copilot July 9, 2025 11:18
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello @DanTup, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the usability of the Dart/Flutter dependency tree in VS Code by adding a convenient context menu option. Users can now directly open the pub.dev page for any pub-hosted package listed in their project's dependencies, streamlining the process of looking up package documentation and details.

Highlights

  • New Feature: Open on Pub.dev: Introduced a new context menu option 'Open on pub.dev' for dependency nodes within the Dart/Flutter dependency tree view. This allows users to quickly navigate to a package's page on the official Pub package repository.
  • Contextual Menu Integration: The 'Open on pub.dev' option is intelligently displayed only for packages that are identified as being hosted on pub.dev. This is achieved by assigning a new context value (dart-code:depPubHostedPackageNode) to such nodes based on their resolved file path.
  • Command Implementation: A new command _dart.openDependencyPageFromTreeNode was implemented to handle the opening of the browser. It constructs the correct pub.dev URL for the selected package, respecting the PUB_HOSTED_URL environment variable if set.
  • Test Coverage: A new test case was added to verify that the dart-code:depPubHostedPackageNode context value is correctly applied to pub-hosted packages and not to other types of dependencies (e.g., local path dependencies).
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds an "Open on pub.dev" option to the dependencies tree. The implementation is clean, introducing a new command and context menu item. The review includes suggestions to improve how pub-hosted packages are detected and to refine the regex used for matching dependency package nodes.

Copy link

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

Adds an option to open a dependency’s Pub page directly from the dependencies tree by marking pub-hosted packages with a new context and wiring up a new command/menu.

  • Introduce DART_DEP_PUB_HOSTED_PACKAGE_NODE_CONTEXT and flag hosted packages in the tree.
  • Register _dart.openDependencyPageFromTreeNode command and implement openDependencyPage.
  • Update package.json to contribute the “Open on pub.dev” command and add tests for the new context.

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/shared/constants.contexts.ts Added DART_DEP_PUB_HOSTED_PACKAGE_NODE_CONTEXT.
src/extension/views/packages_view.ts Annotate pub-hosted packages; register and implement the new open-in-browser command.
src/test/dart/views/packages_view.test.ts Added tests to verify the pub-hosted context on dependencies.
package.json Contributed the new command and menu item for “Open on pub.dev”.
Comments suppressed due to low confidence (1)

src/extension/views/packages_view.ts:153

  • The new openDependencyPage command isn’t covered by existing tests. Consider adding unit tests that mock envUtils.openInBrowser and verify that the correct URL—respecting PUB_HOSTED_URL and packageName—is constructed and invoked.
	private async openDependencyPage(treeNode: PackageDepPackage) {

@DanTup DanTup merged commit c00f8db into master Jul 9, 2025
21 checks passed
@DanTup DanTup deleted the add-open-dep-page branch July 9, 2025 11:59
@DanTup DanTup added this to the v3.116.0 milestone Jul 9, 2025
@DanTup DanTup added the in commands Relates to commands (usually invoked from the command Palette) label Jul 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in commands Relates to commands (usually invoked from the command Palette)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add links to pub packages in dependencies tree

2 participants