提交 c69ef217 编写于 作者: C CyrusNajmabadi 提交者: GitHub

Merge pull request #15069 from CyrusNajmabadi/codeCleanupMessages

Improve the messages we give for code fixes in the error list.

Fixes #14630
...@@ -26,7 +26,8 @@ internal class CSharpInlineDeclarationDiagnosticAnalyzer : AbstractCodeStyleDiag ...@@ -26,7 +26,8 @@ internal class CSharpInlineDeclarationDiagnosticAnalyzer : AbstractCodeStyleDiag
{ {
public CSharpInlineDeclarationDiagnosticAnalyzer() public CSharpInlineDeclarationDiagnosticAnalyzer()
: base(IDEDiagnosticIds.InlineDeclarationDiagnosticId, : base(IDEDiagnosticIds.InlineDeclarationDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Inline_variable_declaration), FeaturesResources.ResourceManager, typeof(FeaturesResources))) new LocalizableResourceString(nameof(FeaturesResources.Inline_variable_declaration), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Variable_declaration_can_be_inlined), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{ {
} }
...@@ -197,7 +198,7 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context) ...@@ -197,7 +198,7 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context)
: localDeclarator; : localDeclarator;
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(this.DescriptorId, option.Notification.Value), CreateDescriptorWithSeverity(option.Notification.Value),
reportNode.GetLocation(), reportNode.GetLocation(),
additionalLocations: allLocations)); additionalLocations: allLocations));
} }
......
...@@ -174,7 +174,8 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext) ...@@ -174,7 +174,8 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
additionalLocations, properties)); additionalLocations, properties));
// Put a diagnostic with the appropriate severity on the expression-statement itself. // Put a diagnostic with the appropriate severity on the expression-statement itself.
syntaxContext.ReportDiagnostic(Diagnostic.Create(CreateDescriptor(this.DescriptorId, severity), syntaxContext.ReportDiagnostic(Diagnostic.Create(
CreateDescriptorWithSeverity(severity),
expressionStatement.GetLocation(), expressionStatement.GetLocation(),
additionalLocations, properties)); additionalLocations, properties));
......
...@@ -65,7 +65,7 @@ internal virtual Diagnostic AnalyzeSyntax(OptionSet optionSet, TDeclaration decl ...@@ -65,7 +65,7 @@ internal virtual Diagnostic AnalyzeSyntax(OptionSet optionSet, TDeclaration decl
{ {
var additionalLocations = ImmutableArray.Create(declaration.GetLocation()); var additionalLocations = ImmutableArray.Create(declaration.GetLocation());
return Diagnostic.Create( return Diagnostic.Create(
CreateDescriptor(_expressionBodyTitle, preferExpressionBodiedOption.Notification.Value), CreateDescriptorWithTitle(_expressionBodyTitle, preferExpressionBodiedOption.Notification.Value),
GetBody(declaration).Statements[0].GetLocation(), GetBody(declaration).Statements[0].GetLocation(),
additionalLocations: additionalLocations); additionalLocations: additionalLocations);
} }
...@@ -78,7 +78,7 @@ internal virtual Diagnostic AnalyzeSyntax(OptionSet optionSet, TDeclaration decl ...@@ -78,7 +78,7 @@ internal virtual Diagnostic AnalyzeSyntax(OptionSet optionSet, TDeclaration decl
{ {
var additionalLocations = ImmutableArray.Create(declaration.GetLocation()); var additionalLocations = ImmutableArray.Create(declaration.GetLocation());
return Diagnostic.Create( return Diagnostic.Create(
CreateDescriptor(_blockBodyTitle, preferExpressionBodiedOption.Notification.Value), CreateDescriptorWithTitle(_blockBodyTitle, preferExpressionBodiedOption.Notification.Value),
expressionBody.GetLocation(), expressionBody.GetLocation(),
additionalLocations: additionalLocations); additionalLocations: additionalLocations);
} }
......
...@@ -132,7 +132,7 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext) ...@@ -132,7 +132,7 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
// Put a diagnostic with the appropriate severity on the declaration-statement itself. // Put a diagnostic with the appropriate severity on the declaration-statement itself.
syntaxContext.ReportDiagnostic(Diagnostic.Create( syntaxContext.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(this.DescriptorId, severity), CreateDescriptorWithSeverity(severity),
localDeclarationStatement.GetLocation(), localDeclarationStatement.GetLocation(),
additionalLocations)); additionalLocations));
} }
......
...@@ -142,7 +142,7 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext) ...@@ -142,7 +142,7 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
// Put a diagnostic with the appropriate severity on the declaration-statement itself. // Put a diagnostic with the appropriate severity on the declaration-statement itself.
syntaxContext.ReportDiagnostic(Diagnostic.Create( syntaxContext.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(this.DescriptorId, severity), CreateDescriptorWithSeverity(severity),
localDeclarationStatement.GetLocation(), localDeclarationStatement.GetLocation(),
additionalLocations)); additionalLocations));
} }
......
...@@ -39,13 +39,13 @@ internal abstract class AbstractCodeStyleDiagnosticAnalyzer : DiagnosticAnalyzer ...@@ -39,13 +39,13 @@ internal abstract class AbstractCodeStyleDiagnosticAnalyzer : DiagnosticAnalyzer
_localizableTitle = title; _localizableTitle = title;
_localizableMessage = message ?? title; _localizableMessage = message ?? title;
var primaryDescriptor = CreateDescriptor(descriptorId, DiagnosticSeverity.Hidden); var primaryDescriptor = CreateDescriptorWithSeverity(DiagnosticSeverity.Hidden);
UnnecessaryWithSuggestionDescriptor = CreateDescriptor( UnnecessaryWithSuggestionDescriptor = CreateDescriptorWithId(
descriptorId, _localizableTitle, _localizableMessage, descriptorId, _localizableTitle, _localizableMessage,
DiagnosticSeverity.Hidden, DiagnosticCustomTags.Unnecessary); DiagnosticSeverity.Hidden, DiagnosticCustomTags.Unnecessary);
UnnecessaryWithoutSuggestionDescriptor = CreateDescriptor( UnnecessaryWithoutSuggestionDescriptor = CreateDescriptorWithId(
descriptorId + "WithoutSuggestion", descriptorId + "WithoutSuggestion",
_localizableTitle, _localizableMessage, _localizableTitle, _localizableMessage,
DiagnosticSeverity.Hidden, DiagnosticCustomTags.Unnecessary); DiagnosticSeverity.Hidden, DiagnosticCustomTags.Unnecessary);
...@@ -56,13 +56,13 @@ internal abstract class AbstractCodeStyleDiagnosticAnalyzer : DiagnosticAnalyzer ...@@ -56,13 +56,13 @@ internal abstract class AbstractCodeStyleDiagnosticAnalyzer : DiagnosticAnalyzer
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get; } public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get; }
protected DiagnosticDescriptor CreateDescriptor(DiagnosticSeverity severity, params string[] customTags) protected DiagnosticDescriptor CreateDescriptorWithSeverity(DiagnosticSeverity severity, params string[] customTags)
=> CreateDescriptor(DescriptorId, _localizableTitle, _localizableMessage, severity, customTags); => CreateDescriptorWithId(DescriptorId, _localizableTitle, _localizableMessage, severity, customTags);
protected DiagnosticDescriptor CreateDescriptor(LocalizableString title, DiagnosticSeverity severity, params string[] customTags) protected DiagnosticDescriptor CreateDescriptorWithTitle(LocalizableString title, DiagnosticSeverity severity, params string[] customTags)
=> CreateDescriptor(DescriptorId, title, title, severity, customTags); => CreateDescriptorWithId(DescriptorId, title, title, severity, customTags);
private DiagnosticDescriptor CreateDescriptor(string id, LocalizableString title, LocalizableString message, DiagnosticSeverity severity, params string[] customTags) private DiagnosticDescriptor CreateDescriptorWithId(string id, LocalizableString title, LocalizableString message, DiagnosticSeverity severity, params string[] customTags)
=> new DiagnosticDescriptor( => new DiagnosticDescriptor(
id, title, message, id, title, message,
DiagnosticCategory.Style, DiagnosticCategory.Style,
......
...@@ -2011,6 +2011,15 @@ internal class FeaturesResources { ...@@ -2011,6 +2011,15 @@ internal class FeaturesResources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Null check can be simplified.
/// </summary>
internal static string Null_check_can_be_simplified {
get {
return ResourceManager.GetString("Null_check_can_be_simplified", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Object initialization can be simplified. /// Looks up a localized string similar to Object initialization can be simplified.
/// </summary> /// </summary>
...@@ -2412,6 +2421,15 @@ internal class FeaturesResources { ...@@ -2412,6 +2421,15 @@ internal class FeaturesResources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Simplify collection initialization.
/// </summary>
internal static string Simplify_collection_initialization {
get {
return ResourceManager.GetString("Simplify_collection_initialization", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Simplify Member Access. /// Looks up a localized string similar to Simplify Member Access.
/// </summary> /// </summary>
...@@ -2430,6 +2448,15 @@ internal class FeaturesResources { ...@@ -2430,6 +2448,15 @@ internal class FeaturesResources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Simplify object initialization.
/// </summary>
internal static string Simplify_object_initialization {
get {
return ResourceManager.GetString("Simplify_object_initialization", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Snippets. /// Looks up a localized string similar to Snippets.
/// </summary> /// </summary>
...@@ -3164,6 +3191,15 @@ internal class FeaturesResources { ...@@ -3164,6 +3191,15 @@ internal class FeaturesResources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Variable declaration can be inlined.
/// </summary>
internal static string Variable_declaration_can_be_inlined {
get {
return ResourceManager.GetString("Variable_declaration_can_be_inlined", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Variadic SignatureHelpItem must have at least one parameter.. /// Looks up a localized string similar to Variadic SignatureHelpItem must have at least one parameter..
/// </summary> /// </summary>
......
...@@ -1157,4 +1157,16 @@ This version used in: {2}</value> ...@@ -1157,4 +1157,16 @@ This version used in: {2}</value>
<data name="Use_null_propagation" xml:space="preserve"> <data name="Use_null_propagation" xml:space="preserve">
<value>Use null propagation</value> <value>Use null propagation</value>
</data> </data>
<data name="Variable_declaration_can_be_inlined" xml:space="preserve">
<value>Variable declaration can be inlined</value>
</data>
<data name="Null_check_can_be_simplified" xml:space="preserve">
<value>Null check can be simplified</value>
</data>
<data name="Simplify_collection_initialization" xml:space="preserve">
<value>Simplify collection initialization</value>
</data>
<data name="Simplify_object_initialization" xml:space="preserve">
<value>Simplify object initialization</value>
</data>
</root> </root>
\ No newline at end of file
...@@ -88,7 +88,7 @@ private void AnalyzeOperation(OperationAnalysisContext context) ...@@ -88,7 +88,7 @@ private void AnalyzeOperation(OperationAnalysisContext context)
if (severity != DiagnosticSeverity.Hidden) if (severity != DiagnosticSeverity.Hidden)
{ {
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(severity), CreateDescriptorWithSeverity(severity),
context.Operation.Syntax.GetLocation())); context.Operation.Syntax.GetLocation()));
} }
} }
......
...@@ -19,7 +19,8 @@ internal abstract class AbstractUseCoalesceExpressionDiagnosticAnalyzer< ...@@ -19,7 +19,8 @@ internal abstract class AbstractUseCoalesceExpressionDiagnosticAnalyzer<
{ {
protected AbstractUseCoalesceExpressionDiagnosticAnalyzer() protected AbstractUseCoalesceExpressionDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseCoalesceExpressionDiagnosticId, : base(IDEDiagnosticIds.UseCoalesceExpressionDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Use_coalesce_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources))) new LocalizableResourceString(nameof(FeaturesResources.Use_coalesce_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Null_check_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{ {
} }
...@@ -104,7 +105,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context) ...@@ -104,7 +105,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
whenPartToCheck.GetLocation()); whenPartToCheck.GetLocation());
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
this.CreateDescriptor(option.Notification.Value), this.CreateDescriptorWithSeverity(option.Notification.Value),
conditionalExpression.GetLocation(), conditionalExpression.GetLocation(),
locations)); locations));
} }
......
...@@ -129,7 +129,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context) ...@@ -129,7 +129,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
whenPartToKeep.GetLocation()); whenPartToKeep.GetLocation());
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
this.CreateDescriptor(option.Notification.Value), this.CreateDescriptorWithSeverity(option.Notification.Value),
conditionalExpression.GetLocation(), conditionalExpression.GetLocation(),
locations)); locations));
} }
......
...@@ -33,6 +33,7 @@ internal abstract class AbstractUseCollectionInitializerDiagnosticAnalyzer< ...@@ -33,6 +33,7 @@ internal abstract class AbstractUseCollectionInitializerDiagnosticAnalyzer<
protected AbstractUseCollectionInitializerDiagnosticAnalyzer() protected AbstractUseCollectionInitializerDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseCollectionInitializerDiagnosticId, : base(IDEDiagnosticIds.UseCollectionInitializerDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Simplify_collection_initialization), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Collection_initialization_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources))) new LocalizableResourceString(nameof(FeaturesResources.Collection_initialization_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{ {
} }
...@@ -97,7 +98,7 @@ private void AnalyzeNode(SyntaxNodeAnalysisContext context, INamedTypeSymbol ien ...@@ -97,7 +98,7 @@ private void AnalyzeNode(SyntaxNodeAnalysisContext context, INamedTypeSymbol ien
var severity = option.Notification.Value; var severity = option.Notification.Value;
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(severity), CreateDescriptorWithSeverity(severity),
objectCreationExpression.GetLocation(), objectCreationExpression.GetLocation(),
additionalLocations: locations)); additionalLocations: locations));
......
...@@ -28,7 +28,8 @@ internal abstract class AbstractUseNullPropagationDiagnosticAnalyzer< ...@@ -28,7 +28,8 @@ internal abstract class AbstractUseNullPropagationDiagnosticAnalyzer<
{ {
protected AbstractUseNullPropagationDiagnosticAnalyzer() protected AbstractUseNullPropagationDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseNullPropagationDiagnosticId, : base(IDEDiagnosticIds.UseNullPropagationDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Use_null_propagation), FeaturesResources.ResourceManager, typeof(FeaturesResources))) new LocalizableResourceString(nameof(FeaturesResources.Use_null_propagation), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Null_check_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{ {
} }
...@@ -113,7 +114,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context) ...@@ -113,7 +114,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
whenPartToCheck.GetLocation()); whenPartToCheck.GetLocation());
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
this.CreateDescriptor(option.Notification.Value), this.CreateDescriptorWithSeverity(option.Notification.Value),
conditionalExpression.GetLocation(), conditionalExpression.GetLocation(),
locations)); locations));
} }
......
...@@ -35,6 +35,7 @@ internal abstract class AbstractUseObjectInitializerDiagnosticAnalyzer< ...@@ -35,6 +35,7 @@ internal abstract class AbstractUseObjectInitializerDiagnosticAnalyzer<
protected AbstractUseObjectInitializerDiagnosticAnalyzer() protected AbstractUseObjectInitializerDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseObjectInitializerDiagnosticId, : base(IDEDiagnosticIds.UseObjectInitializerDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Simplify_object_initialization), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Object_initialization_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources))) new LocalizableResourceString(nameof(FeaturesResources.Object_initialization_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{ {
} }
...@@ -81,7 +82,7 @@ private void AnalyzeNode(SyntaxNodeAnalysisContext context) ...@@ -81,7 +82,7 @@ private void AnalyzeNode(SyntaxNodeAnalysisContext context)
var severity = option.Notification.Value; var severity = option.Notification.Value;
context.ReportDiagnostic(Diagnostic.Create( context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(severity), CreateDescriptorWithSeverity(severity),
objectCreationExpression.GetLocation(), objectCreationExpression.GetLocation(),
additionalLocations: locations)); additionalLocations: locations));
......
...@@ -36,7 +36,8 @@ internal abstract class AbstractUseThrowExpressionDiagnosticAnalyzer : AbstractC ...@@ -36,7 +36,8 @@ internal abstract class AbstractUseThrowExpressionDiagnosticAnalyzer : AbstractC
{ {
protected AbstractUseThrowExpressionDiagnosticAnalyzer() protected AbstractUseThrowExpressionDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseThrowExpressionDiagnosticId, : base(IDEDiagnosticIds.UseThrowExpressionDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Use_throw_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources))) new LocalizableResourceString(nameof(FeaturesResources.Use_throw_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Null_check_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{ {
} }
...@@ -141,7 +142,7 @@ private void AnalyzeOperation(OperationAnalysisContext context) ...@@ -141,7 +142,7 @@ private void AnalyzeOperation(OperationAnalysisContext context)
throwOperation.ThrownObject.Syntax.GetLocation(), throwOperation.ThrownObject.Syntax.GetLocation(),
assignmentExpression.Value.Syntax.GetLocation()); assignmentExpression.Value.Syntax.GetLocation());
var descriptor = CreateDescriptor(option.Notification.Value); var descriptor = CreateDescriptorWithSeverity(option.Notification.Value);
context.ReportDiagnostic( context.ReportDiagnostic(
Diagnostic.Create(descriptor, throwStatement.GetLocation(), additionalLocations: allLocations)); Diagnostic.Create(descriptor, throwStatement.GetLocation(), additionalLocations: allLocations));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册