dotnet/roslyn
IDE0049 should use dotnet_style_predefined_type_for_locals_parameters_members for parameter types in XMLDoc references
Aperta
#57.764 aperta il 15 nov 2021
Area-IDEBugFeature - IDE0049help wanted
Metriche repository
- Star
- (20.414 stelle)
- Metriche merge PR
- (Merge medio 6g 17h) (256 PR mergiate in 30 g)
Descrizione
Version Used: VS 2019 16.11.6 .Net Core 3.1/C# 8 Microsoft (R) Visual C# Compiler Version 3.11.0-4.21403.6 (ae1fff34)
Steps to Reproduce:
- Set the two settings for predefined types in .editorconfig differently:
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion dotnet_style_predefined_type_for_member_access = false:suggestion - Write a reference in XML documentation to a method with a parameter of a built-in type ():
///<see cref="Console.WriteLine(string)"/>
Expected Behavior: No suggestion
Actual Behavior:
IDE0049 sugggesting to change the parameter type string to String.
In my eyes this is wrong, references should use the same style as the declarations.
Additional Information
WriteLine(string)is also what Intellisense inserts as autocomplete.- In references to members of built-in types like
int/Int32.MaxValueusing the framework type is suggested as expected. - After a quick look at the source I guess the problem is this line or when the implementations of
CanSimplifyTypeNameExpression()setinDeclaration: https://github.com/Youssef1313/roslyn/blob/a1290467d7da6510da33a16b2f1b59260794c816/src/Features/Core/Portable/SimplifyTypeNames/SimplifyTypeNamesDiagnosticAnalyzerBase.cs#L163-L165