#c# #.net #roslyn
#c# #.net #рослин
Вопрос:
Я использовал Install-Package Microsoft.CodeAnalysis -Pre
для обновления моей ссылки на мое решение, по-видимому, теперь кажется, что конструктор DiagnosticDescriptor
теперь принимает еще два аргумента.
isEnabledByDefault
:bool
— True, если диагностика включена по умолчаниюcustomTags
:string
— Дополнительные пользовательские теги для диагностики. СмотритеWellKnownDiagnosticTags
некоторые известные теги
WellKnownDiagnosticTags
определяет два тега Unnecessary
и EditAndContinue
Что они делают при построении a DiagnosticDescriptor
?
Ответ №1:
isEnabledByDefault
не требует пояснений: он определяет, следует ли включать диагностику или нет при первом добавлении ссылки на анализатор. Сценарий здесь заключается в том, что в вашем анализаторе может быть множество отдельных диагностик, но не все из них вы хотите навязать ничего не подозревающим пользователям.
customTags
это общий способ отметить, что диагностика должна обрабатываться или отображаться несколько иначе, чем обычная диагностика. Тег «ненужный» означает, что в IDE мы уменьшаем диапазон, к которому применяется диагностика: так мы устраняем ненужные использования, приведения или тому подобное в IDE. В некоторых причудливых сценариях вы можете захотеть определить свои собственные, но по большей части вы либо оставите это пустым, либо передадите ненужное, если вам нужна другая обработка пользовательского интерфейса. Тег EditAndContinue предназначен для ошибок, которые создаются, если редактирование и продолжение редактирования не может быть применено (которые также отображаются несколько иначе) … это только для нас. использовать.
Комментарии:
1. Можете ли вы уточнить, нужно ли нам вносить какие-либо изменения, кроме этого? Вчера я заметил, что в моем проекте используются новые конструкторы, но после добавления этих двух полей диагностика не сработала. Я выполнил свой тестовый проект с новым файлом-> Roslyn-> Diagnostic (который использует версию сборки 6 вместо 7) и точно такой же код, кроме конструктора, и он сработал. Что еще нам нужно сделать?
2. Вы обновляете свой код с предварительного просмотра, который мы выпустили при сборке, до нового материала? И вы работаете под предварительным просмотром Visual Studio «14»?