Остановить ReSharper от добавления аннотаций
Я использую ReSharper в моих проектах на С#, и вообще мне это нравится. Тем не менее, он продолжает добавлять аннотации к коду, когда я выполняю определенные действия по рефакторингу.
Например, он добавляет [NotNull]
, когда я использую контекстное действие "Проверить параметр для нулевого":
// Before context action
public void Foo(object input)
{
}
// After context action
public void Foo([NotNull] object input)
{
if (input == null)
{
throw new ArgumentNullException("input");
}
}
Кроме того, ReSharper добавляет using JetBrains.Annotations
в файл, хотя я не ссылаюсь на сборку JetBrains, где указан атрибут.
Я хотел бы продолжать использовать контекстные действия, поскольку они очень полезны, но я не могу вводить внешние комментарии в коде. ReSharper предоставляет возможность изменить пространство имен аннотаций по умолчанию и скопировать исходный код атрибута аннотации в ваш проект, но это также не является вариантом для этого проекта.
Есть ли способ сказать ReSharper прекратить добавлять аннотации полностью? Я попытался в параметрах, не устанавливая флажок JetBrains.Annotations как пространство имен с атрибутами аннотации кода, но это, похоже, не влияет на то, генерируются ли аннотации в первую очередь.
Обновление: Пока я не ссылался на JetBrains.Annotations.dll, я ссылался на другую DLL, которая повторно применяла те же атрибуты аннотации в том же пространстве имен JetBrains.Annotations. Удаление этой ссылки DLL не позволит ReSharper добавлять аннотации. Было бы неплохо, если бы была возможность отключить это, но обходной путь подходит для этой ситуации.
Ответы
Ответ 1
Когда вы ссылаетесь на JetBrains.Annotations.dll, действие по умолчанию для параметра "Проверить параметр для нулевого" похоже на использование атрибута NotNull
(несмотря на добавление опции "Аннотировать с" NotNullAttribute ").
Единственное обходное решение, которое я знаю, - это не ссылаться на JetBrains.Annotations.dll
.
Update:
Более подробно об этом, похоже, было добавлено предложение/ошибка, добавляемая [NotNull]
при включении dll аннотаций и запрос "Проверить параметр для нуля": http://youtrack.jetbrains.com/issue/RSRP-70350 В случае, если кто-то другой случится по этому поводу и задается вопросом, почему...