Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement IntelliSense UI #17

Open
retailcoder opened this issue Feb 12, 2023 · 1 comment
Open

Implement IntelliSense UI #17

retailcoder opened this issue Feb 12, 2023 · 1 comment
Labels
component: Rubbeduck.UI Issue involves UI components component: Rubberduck.Core Issue involves the Core library feature: editor shell Issues that relate to the editor shell feature: signature help Issues relating to IntelliSense tooltips skill:xaml Issues that involve XAML markup and WPF

Comments

@retailcoder
Copy link
Member

retailcoder commented Feb 12, 2023

The Rubberduck Editor needs an IntelliSense UI that appears relative to the caret position to display signature help.

We don't need to worry about the signature index because no members are ever overloaded in VBA, so we only need to ever accommodate a single signature: even in the context of a property call, once we're showing the signature info we've already worked out whether we're looking at the Get, Let, or Set member.

The tooltip should display the member's docstring, and support tracking the active parameter to show it in bold, and eventually show docstrings for individual parameters. The model comes straight from the LSP server.

There should be a key binding to dismiss the tooltip on ESC, and both showing and dismissing the tooltip should fire an EventTelemetry event.

@retailcoder retailcoder added feature: editor shell Issues that relate to the editor shell feature: signature help Issues relating to IntelliSense tooltips component: Rubberduck.Core Issue involves the Core library component: Rubbeduck.UI Issue involves UI components skill:xaml Issues that involve XAML markup and WPF labels Feb 12, 2023
@Vogel612
Copy link
Member

I would actually debate the claim that we only want to show a single member docstring... It seems fair to expect Rubberduck to understand that Get, Let and Set are property access behaviours that may or may not share description. Especially since we're actively promoting property encapsulation, I'd want at least trivial properties to possibly resolve to the backing member of a private type for the purposes of documentation...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: Rubbeduck.UI Issue involves UI components component: Rubberduck.Core Issue involves the Core library feature: editor shell Issues that relate to the editor shell feature: signature help Issues relating to IntelliSense tooltips skill:xaml Issues that involve XAML markup and WPF
Projects
None yet
Development

No branches or pull requests

2 participants