Я использую 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 добавлять аннотации. Было бы неплохо, если бы была возможность отключить это, но обходной путь подходит для этой ситуации.