Skip to content

Add StringSyntax formats throughout source code #44535

Open
@JamesNK

Description

@JamesNK

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.

StringSyntaxAttribute is placed on strings to tell tooling what format the string will take. For example, regex, JSON, XML, date format string, etc. This is then used to provide helpful features such as completion of date format strings, regex/JSON/XML highlighting, analyzers, etc.

We should ensure all the ASP.NET Core strings have this attribute where appropriate, so ASP.NET Core APIs get tooling enhancements.

Describe the solution you'd like

Audit dotnet/aspnetcore source and add StringSyntax attribute with format strings as needed:

  • CompositeFormat - The syntax identifier for strings containing composite formats for string formatting.
  • DateOnlyFormat - The syntax identifier for strings containing date format specifiers.
  • DateTimeFormat - The syntax identifier for strings containing date and time format specifiers.
  • EnumFormat - The syntax identifier for strings containing enum format specifiers.
  • GuidFormat - The syntax identifier for strings containing GUID format specifiers.
  • Json - The syntax identifier for strings containing JavaScript Object Notation (JSON).
  • NumericFormat - The syntax identifier for strings containing numeric format specifiers.
  • Regex - The syntax identifier for strings containing regular expressions. feat : Add StringSyntax for regex parameters #40589
  • TimeOnlyFormat - The syntax identifier for strings containing time format specifiers.
  • TimeSpanFormat - The syntax identifier for strings containing TimeSpan format specifiers.
  • Uri - The syntax identifier for strings containing URIs.
  • Xml - The syntax identifier for strings containing XML.

This list is from https://github.com/dotnet/runtime/blob/664d7c68d53f2465b79de25fdd6827007216239f/src/libraries/System.Private.CoreLib/src/System/Diagnostics/CodeAnalysis/StringSyntaxAttribute.cs#L38-L72

I expect many of these won't have any usage - e.g. the format strings (except CompositeFormat) - but we should have Regex, Uri, Json and Xml.

Additional context

No response

Metadata

Metadata

Assignees

Labels

area-minimalIncludes minimal APIs, endpoint filters, parameter binding, request delegate generator etcarea-mvcIncludes: MVC, Actions and Controllers, Localization, CORS, most templatesgood first issueGood for newcomers.help candidateIndicates that the issues may be a good fit for community to help with. Requires work from eng. teamhelp wantedUp for grabs. We would accept a PR to help resolve this issue

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions