Skip to content

Commit 26f20f3

Browse files
authored
Merge pull request #207 from Microsoft/dev/andarno/fix206
Add help links for analyzers
2 parents 6349f46 + b4b34b5 commit 26f20f3

15 files changed

+25
-6
lines changed

src/Microsoft.VisualStudio.Threading.Analyzers/Utils.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,11 @@ internal static void Deconstruct<T1, T2, T3, T4>(this Tuple<T1, T2, T3, T4> tupl
635635
item4 = tuple.Item4;
636636
}
637637

638+
internal static string GetHelpLink(string analyzerId)
639+
{
640+
return $"https://github.com/Microsoft/vs-threading/blob/master/doc/analyzers/{analyzerId}.md";
641+
}
642+
638643
private static CSharpSyntaxNode UpdateStatementsForAsyncMethod(CSharpSyntaxNode body, SemanticModel semanticModel, bool hasResultValue)
639644
{
640645
var blockBody = body as BlockSyntax;

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD001UseSwitchToMainThreadAsyncAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class VSTHRD001UseSwitchToMainThreadAsyncAnalyzer : DiagnosticAnalyzer
2020
id: Id,
2121
title: Strings.VSTHRD001_Title,
2222
messageFormat: Strings.VSTHRD001_MessageFormat,
23+
helpLinkUri: Utils.GetHelpLink(Id),
2324
category: "Usage",
2425
defaultSeverity: DiagnosticSeverity.Warning,
2526
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD002UseJtfRunAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class VSTHRD002UseJtfRunAnalyzer : DiagnosticAnalyzer
3939
id: Id,
4040
title: Strings.VSTHRD002_Title,
4141
messageFormat: Strings.VSTHRD002_MessageFormat,
42+
helpLinkUri: Utils.GetHelpLink(Id),
4243
category: "Usage",
4344
defaultSeverity: DiagnosticSeverity.Warning,
4445
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD003UseJtfRunAsyncAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public class VSTHRD003UseJtfRunAsyncAnalyzer : DiagnosticAnalyzer
4646
id: Id,
4747
title: Strings.VSTHRD003_Title,
4848
messageFormat: Strings.VSTHRD003_MessageFormat,
49+
helpLinkUri: Utils.GetHelpLink(Id),
4950
category: "Usage",
5051
defaultSeverity: DiagnosticSeverity.Warning,
5152
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD010VsServiceUsageAnalyzer.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,13 @@ public class VSTHRD010VsServiceUsageAnalyzer : DiagnosticAnalyzer
4545
public const string Id = "VSTHRD010";
4646

4747
internal static readonly DiagnosticDescriptor Descriptor = new DiagnosticDescriptor(
48-
id: Id,
49-
title: Strings.VSTHRD010_Title,
50-
messageFormat: Strings.VSTHRD010_MessageFormat,
51-
category: "Usage",
52-
defaultSeverity: DiagnosticSeverity.Warning,
53-
isEnabledByDefault: true);
48+
id: Id,
49+
title: Strings.VSTHRD010_Title,
50+
messageFormat: Strings.VSTHRD010_MessageFormat,
51+
helpLinkUri: Utils.GetHelpLink(Id),
52+
category: "Usage",
53+
defaultSeverity: DiagnosticSeverity.Warning,
54+
isEnabledByDefault: true);
5455

5556
private static readonly IImmutableSet<string> KnownMethodsToSwitchToMainThread = ImmutableHashSet.Create(StringComparer.Ordinal,
5657
Types.JoinableTaskFactory.SwitchToMainThreadAsync,

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD011LazyOfTaskAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class VSTHRD011LazyOfTaskAnalyzer : DiagnosticAnalyzer
2020
id: Id,
2121
title: Strings.VSTHRD011_Title,
2222
messageFormat: Strings.VSTHRD011_MessageFormat,
23+
helpLinkUri: Utils.GetHelpLink(Id),
2324
category: "Usage",
2425
defaultSeverity: DiagnosticSeverity.Error,
2526
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD100AsyncVoidMethodAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class VSTHRD100AsyncVoidMethodAnalyzer : DiagnosticAnalyzer
3939
id: Id,
4040
title: Strings.VSTHRD100_Title,
4141
messageFormat: Strings.VSTHRD100_MessageFormat,
42+
helpLinkUri: Utils.GetHelpLink(Id),
4243
category: "Usage",
4344
defaultSeverity: DiagnosticSeverity.Warning,
4445
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD101AsyncVoidLambdaAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public class VSTHRD101AsyncVoidLambdaAnalyzer : DiagnosticAnalyzer
5050
id: Id,
5151
title: Strings.VSTHRD101_Title,
5252
messageFormat: Strings.VSTHRD101_MessageFormat,
53+
helpLinkUri: Utils.GetHelpLink(Id),
5354
category: "Usage",
5455
defaultSeverity: DiagnosticSeverity.Warning,
5556
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD102AvoidJtfRunInNonPublicMembersAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public class VSTHRD102AvoidJtfRunInNonPublicMembersAnalyzer : DiagnosticAnalyzer
2424
id: Id,
2525
title: Strings.VSTHRD102_Title,
2626
messageFormat: Strings.VSTHRD102_MessageFormat,
27+
helpLinkUri: Utils.GetHelpLink(Id),
2728
category: "Usage",
2829
defaultSeverity: DiagnosticSeverity.Info,
2930
isEnabledByDefault: true);

src/Microsoft.VisualStudio.Threading.Analyzers/VSTHRD103UseAsyncOptionAnalyzer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public class VSTHRD103UseAsyncOptionAnalyzer : DiagnosticAnalyzer
3535
id: Id,
3636
title: Strings.VSTHRD103_Title,
3737
messageFormat: Strings.VSTHRD103_MessageFormat,
38+
helpLinkUri: Utils.GetHelpLink(Id),
3839
category: "Usage",
3940
defaultSeverity: DiagnosticSeverity.Warning,
4041
isEnabledByDefault: true);

0 commit comments

Comments
 (0)