ReSharper C# Intellisense Показывать переопределяемые элементы после ввода ключевого слова переопределения
Недавно я был обновлен с Visual Studio 2017 / ReSharper 2017.1 до Visual Studio 2017 / ReSharper 2018.3, когда ИТ-отделу недавно пришлось заново создать образ моей рабочей машины и установить обновленные версии всего программного обеспечения, которое я использую. Я заметил странное поведение с функцией, которой я часто пользуюсь.
public class Foo { }
public class Bar { }
public class Parent
{
protected virtual void DoThing1() { }
protected virtual void DoThing2() { }
protected virtual void DoThing3(Func<Foo, Bar> callback)
{
}
}
public class Child : Parent
{
public Child()
{
DoThing3( /* ReSharper Intellisense here ... */ );
}
override /* ReSharper Intellisense here... */
}
Работая в классах с переопределенными членами, такими как Child
класс, показанный выше, я обычно печатаю override
и меню Intellisense показывает мне список целевых предложений, отдавая приоритет переопределяемым элементам для типа в верхней части списка.
Здесь ReSharper предлагает целевой список переопределяемых членов.
Однако после обновления до ReSharper 2018.3 меню Intellisense теперь показывает мне общий список, содержащий все, что только можно придумать, начиная со списка ключевых слов.
Здесь ReSharper предлагает все. Видите полосу прокрутки на стороне?
Я нашел несколько способов обойти эту проблему, но все они ломают другие функции, которые я также интенсивно использую.
Попытка 1
Если я пойду к ReSharper > Options > Environment > IntelliSense > General
и выберите Visual Studio
вариант, эта проблема исправлена. Однако это нарушает способ, которым Intellisense предлагает подписи для лямбда-выражений.
Здесь ReSharper предлагает несколько вариантов для выражения Lamda (ReSharper Intellisense).
Здесь ReSharper не предоставляет опций для лямбда-выражения (Visual Studio Intellisense).
Попытка 2
Если я оставлю ReSharper Intellisense включенным (через процесс, описанный в Попытке 1), и вместо этого перейду к ReSharper > Options > Environment > IntellSense > Completion Filters
и выберите Persist filters state
вариант и выберите Exclude
за Keywords
под C#
на вкладке, это также решает проблему переопределения ключевых слов, а также проблему лямбда-выражения, но представляет другую проблему... У меня теперь нет Intellisense для ключевых слов, lol.
Здесь меню Intellisense не предлагает никаких ключевых слов, потому что они отключены.
Вопрос
Кто-нибудь знает способ включения переопределяемых предложений членов, предложений лямбда-выражений и предложений ключевых слов, как описано выше в Visual Studio 2017 / ReSharper 2018.3?
1 ответ
На трекер проблем JetBrains подан билет:
https://youtrack.jetbrains.com/issue/RSRP-469670
Возможно, если они увидят, что есть раздраженные пользователи, исправление наступит раньше.
Что мне подходит, так это сначала написать переопределение, а затем удалить последние одну или две буквы, а затем ReSharper начинает предлагать переопределяемые методы.