我编写了一个源代码生成器,但是它创建了一个错误,我希望能够通过转到文档页面为用户提供有关特定错误的更多信息。
幸运的是,DiagnosticDescriptor 具有描述为“helpLinkUri”的字段:
幸运的是,DiagnosticDescriptor 具有描述为“helpLinkUri”的字段:
可选超链接,提供有关诊断信息的更详细描述。
但是当我尝试将helpLinkUri
设置为像google.com
、http://google.com
、https://google.com
或www.google.com
这样的测试网站时,我会被重定向到https://learn.microsoft.com/en-us/visualstudio/ide/not-in-toc/default,这不是我设置的。这是在使用Visual Studio并单击错误面板中的错误代码时发生的。
如何打开用于源生成器诊断的自定义网页?文档中是否有未提及的任何限制?这是在Visual Studio内存在的一个限制吗?
CodeExample:
private static void ErrorMessage(SourceProductionContext _arg1, AttributeSourceWithContext _arg2)
{
DiagnosticDescriptor errorType = new DiagnosticDescriptor(
id: "Error1",
title: "Incorrect line",
messageFormat: "This is complex, open help link for good explanation",
helpLinkUri: "google.com", // <----- this is not opened when inspecting the error
defaultSeverity: DiagnosticSeverity.Warning,
isEnabledByDefault: true);
Diagnostic errorInstance = Diagnostic.Create(errorType, _arg2.GetLocation());
_arg1.ReportDiagnostic(errorInstance);
}
Google.com
的帮助网址,并打开错误的帮助页面,我会被发送到与问题相关的微软网站,而不是我指定的具有错误信息帮助的网站。 - undefined