Я использовал Install-Package Microsoft.CodeAnalysis -Pre
для обновления моей ссылки моего решения, похоже, теперь, когда конструктор DiagnosticDescriptor
теперь принимает еще два аргумента.
isEnabledByDefault
: bool
- True, если диагностика включена по умолчаниюcustomTags
: string
- необязательные настраиваемые теги для диагностики. См. " WellKnownDiagnosticTags
для некоторых известных тегов WellKnownDiagnosticTags
определяет два EditAndContinue
Unnecessary
и EditAndContinue
Что они делают при построении DiagnosticDescriptor
?
isEnabledByDefault
не требует пояснений: он контролирует, следует ли включать диагностику или нет, когда ссылка на анализатор сначала добавляется. Сценарий здесь - ваш анализатор, возможно, содержит в себе кучу отдельной диагностики, но не все из них - это те, кого вы хотите навязать на ничего не подозревающих пользователей.
customTags
- это общий способ отметить, что диагностику следует рассматривать или отображать несколько иначе, чем обычная диагностика. "Необязательный" тег означает, что в среде IDE мы уменьшаем диапазон, к которому применяется диагностика: это то, как мы уменьшаем ненужные операции или приведения или такие в среде IDE. В некоторых сценариях фантазии вы можете определить свои собственные, но по большей части вы либо оставите это пустое, либо пропустите ненужное, если хотите разный интерфейс. Тег EditAndContinue предназначен для ошибок, которые создаются, если редактирование редактирования и продолжения не может быть применено (которые также отображаются несколько иначе)... это просто для нас.