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

Custom attributes are not treated as a first-class concept #711

Open
dsaf opened this issue Feb 20, 2015 · 3 comments
Open

Custom attributes are not treated as a first-class concept #711

dsaf opened this issue Feb 20, 2015 · 3 comments

Comments

@dsaf
Copy link

dsaf commented Feb 20, 2015

Custom attributes are a very special (underappreciated) language construct. The fact that they are classes is merely an implementation detail.

They can be:

  • selectively applied to specific language elements;
  • allowed (or not) to be applied multiple times;
  • inherited;
  • overriden.
[System.AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]

Action items:

  1. create a separate kind of tooltip for attributes: "attribute ..."
  2. present fundamental attribute information in a nice way:
    • target(s);
    • multiplicity;
    • inheritability;
    • whether it overrides an inherited attribute.
  3. improve the e.g. "(class) ..." tooltip to show:
    • inherited attributes;
    • inherited but overridden attributes (ideally the difference, but it could be hard).
  4. always show the inherited custom attributes as a gray font overlay.

PS: is QuickInfo the Roslyn's term for this kind of tooltips?

@Pilchie Pilchie added this to the Unknown milestone Feb 20, 2015
@Pilchie Pilchie changed the title [Area-IDE][Enhancement] Custom attributes are not treated as a first-class concept Custom attributes are not treated as a first-class concept Feb 20, 2015
@dsaf
Copy link
Author

dsaf commented Mar 5, 2015

It seems that custom attributes are becoming a major feature of Type Script as well:

http://blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx

Time to properly support them in IDE across all languages.

https://twitter.com/ahejlsberg/status/532579556155482112

@dsaf
Copy link
Author

dsaf commented Sep 1, 2015

An example of useful information not being shown:

image

None of targets, multiplicity, inheritability are shown:

image

@dsaf
Copy link
Author

dsaf commented Oct 13, 2015

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

No branches or pull requests

3 participants