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

IDE should show modifiers in quick info #61536

Open
jasonmalinowski opened this issue May 26, 2022 · 4 comments
Open

IDE should show modifiers in quick info #61536

jasonmalinowski opened this issue May 26, 2022 · 4 comments
Assignees
Labels
Area-IDE New Feature - Required Members Required properties and fields

Comments

@jasonmalinowski
Copy link
Member

As a part of the required members work, @333fred realized it really makes sense to show the 'required' modifier in Quick Info if you were to mouse over the property/field name in the object initializer. However, we currently don't show modifiers at all in Quick Info. @CyrusNajmabadi and I couldn't think of any concrete reason not to show modifiers, so we went ahead and just started showing all modifiers as a part of that work.

I just wanted to run this through the design meeting to make sure there aren't some scenarios we missed here and we had some old reason for quick info working the way it did. The only thing I can think of is people may use Quick Info a lot as a way to see the type of a field/property, and having the modifiers in front means it'll be harder to scan to the member's type (which would previously be at the start in C#), but that doesn't seem to be a strong reason.

@jasonmalinowski jasonmalinowski added Need Design Review The end user experience design needs to be reviewed and approved. New Feature - Required Members Required properties and fields labels May 26, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-IDE untriaged Issues and PRs which have not yet been triaged by a lead labels May 26, 2022
@jasonmalinowski jasonmalinowski added this to In Queue in IDE: Design review via automation May 26, 2022
@jasonmalinowski jasonmalinowski moved this from In Queue to On deck in IDE: Design review May 26, 2022
@jasonmalinowski jasonmalinowski self-assigned this May 26, 2022
@jasonmalinowski jasonmalinowski removed the untriaged Issues and PRs which have not yet been triaged by a lead label May 26, 2022
@jasonmalinowski
Copy link
Member Author

@sharwell Ah, good finds, especially #26947!

@sharwell sharwell moved this from On deck to Next meeting in IDE: Design review Jun 6, 2022
@sharwell sharwell moved this from Next meeting to Need Update in IDE: Design review Jun 6, 2022
@jasonmalinowski
Copy link
Member Author

So we agreed that our prior design in #26947 made good sense. To summarize, the goal there for fields was to show all modifiers, excluding accessibility (since that's already visible in the icon) and certain modifiers that don't impact call sites, like new or unsafe. We think that still generally applies to properties as well. Properties can also have OHI-related modifiers, which we think should also be excluded.

As far as implementation, the SymbolDisplay flags currently have to options: include accessibility and include modifiers. If we can't just modify the behavior of "include modifiers" to what we need, then we'll need to figure out a new flag or set of flags that encompasses what we think we want here. If that's still not viable then we may need to regroup.

@jasonmalinowski jasonmalinowski removed the Need Design Review The end user experience design needs to be reviewed and approved. label Jun 7, 2022
@jasonmalinowski jasonmalinowski moved this from Need Update to Complete in IDE: Design review Jun 7, 2022
@jasonmalinowski
Copy link
Member Author

(Tagging @333fred on this one specifically so he's aware of the decision.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IDE New Feature - Required Members Required properties and fields
Projects
Status: Complete
IDE: Design review
  
Complete
Development

No branches or pull requests

2 participants