Skip to content

Add new classifications#31231

Merged
JoeRobich merged 35 commits intodotnet:masterfrom
JoeRobich:add-new-classifications
Dec 20, 2018
Merged

Add new classifications#31231
JoeRobich merged 35 commits intodotnet:masterfrom
JoeRobich:add-new-classifications

Conversation

@JoeRobich
Copy link
Member

@JoeRobich JoeRobich commented Nov 17, 2018

This PR introduces new classifications for 4 concepts

  • Symbol Kinds
  • Operator Overloads
  • Control Keywords
  • Static Symbols

Fixes #31714

Symbol Kinds

Most of the classifications have already been added but never exposed to users via ClassifiationFormatDefinitions. In this PR I add ClassificationFormatDefinitions for the classifications added in #25126 as well as new classifications for Namespace name and Label name.
• User Symbols - Field Name
• User Symbols - Enum Member Name
• User Symbols - Constant Name
• User Symbols - Local Name
• User Symbols - Parameter Name
• User Symbols - Method Name
• User Symbols - Extension Method Name
• User Symbols - Property Name
• User Symbols - Event Name
• User Symbols - Namespace Name
• User Symbols - Label Name

Operator Overloads

Requested in #29492. This classification sematically classifies overloaded operators.
• Operator - Overload

Control Keywords

Requested in #18810. This classification syntactically classifies control keywords
• Keyword - Control

Static Symbols

This classification would visually inform developers that a Symbol was static. This classification is additive in that it is an additional tag that static symbols are given in addition to their identifier type. This allows for Static Symbols to be configured to be Bold and Field Names to be Orange and the editor will render Static Fields in Bold Orange.
• Symbol - Static

@JoeRobich JoeRobich requested review from a team as code owners November 17, 2018 00:59
@JoeRobich
Copy link
Member Author

JoeRobich commented Dec 15, 2018

@sharwell & @CyrusNajmabadi @DustinCampbell ready for another review when you have time. Thanks!

@alrz
Copy link
Member

alrz commented Dec 20, 2018

@JoeRobich should I open a new issue for classification of captures?

@sharwell sharwell added this to the 16.0.P2 milestone Dec 20, 2018
@JoeRobich
Copy link
Member Author

@alrz There is already an issue open for captures #25924

@clairernovotny
Copy link

This is missing one classifier as well: type visibility modifiers (public, internal, etc). Some people like to color those differently to call attention to them.

@clairernovotny
Copy link

@JoeRobich I'm not sure how useful having "Symbol - Static" really is for everyone? That makes far too much bold if I choose it, including static class type names.

I think what's possibly more useful is having static's for properties, methods, and fields. 99% of the time, what I really want is a way to quickly see if I'm using a static field or property. The rest is distracting.

@JoeRobich
Copy link
Member Author

@onovotny Thanks for the feedback. Having used this extensively over the past month, I agree that there isn't a big benefit to bolding static classes. With more feedback I could see the classification becoming something like "User Members - Static".

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants