ReSharper расширяет возможности встроенного автодополнения Visual Studio (IntelliSense). Автодополнение в ReSharper сужает список предлагаемых вариантов по мере ввода текста, поддерживает сокращения lowerCamelHumps, предлагает имена переменных и полей в зависимости от имен их типов и используемых правил именования, автоматически импортирует выбранные типы и методы расширения.
Автодополнение кода по Ctrl+пробел распознает переменные и методы, имена типов, видимых в настоящий момент, ключевые слова и т. д. ReSharper автоматически предлагает префиксы при объявлении идентификаторов в соответствии с правилами именования.
ReSharper обеспечивает автодополнение даже для неразрешенных символов в локальной области действия: даже если символ не объявлен, ReSharper собирает его известные члены на основании его использований.
Все виды автодополнения ReSharper, включая автодополнение символов, поддерживают CamelHumps, то есть для подстановки нужного элемента достаточно ввести только заглавные буквы его имени.
В файлах ASP.NET ReSharper также обеспечивает автодополнение кода для свойств и событий веб-элементов управления, источников данных, подстановок содержимого и, разумеется, встроенного кода на C#.
При работе с XAML дополняются ссылки на ресурсы, а в скриптах сборки ReSharper помогает с именами свойств, целей, заданий и атрибутов, доступных в текущей области действия.
Возможности сочетания клавиш Ctrl+пробел на этом, однако, не ограничиваются. С его помощью можно также быстро добавлять переопределения символов и частичные представления тел методов и классов, реализовывать члены интерфейсов и генерировать свойства. ReSharper сгенерирует и подставит все тело метода, конструктора, свойства и т.д.
Умное автодополнение кода (Smart Completion), вызываемое сочетанием клавиш Ctrl+Alt+пробел, фильтрует список методов, полей или переменных в соответствии с ожидаемым типом выражения.
Например, если Smart Completion используется для аргументов, с которыми вызывается метод, в списке предлагаются только те значения, которые соответствуют типу параметра. Smart Completion также может предлагать создание анонимных методов, лямбда-выражений и обычных методов, а также локальных переменных для параметров out
.
Smart Completion отлично справляется с обработчиками событий XAML и другими контекстами.
Автодополнение для неимпортированных типов вызывается сочетанием клавиш Shift+Alt+Space. В отличие от автодополнения символов (которое подставляет только уже импортированные типы), эта команда отображает все типы, которые соответствуют указанному префиксу, независимо от того, к какому пространству имен они принадлежат, и автоматически добавляет необходимые директивы импорта.
В файлах кода на C# автодополнение для неимпортированных типов работает для методов расширения после точки и вставляет необходимые директивы using. Автодополнение для неимпортированных типов также удобно использовать для имен тегов в XAML. Также по мере необходимости вставляются директивы импорта пространств имен.
Если список вариантов автодополнения пуст или не содержит ожидаемых элементов, вы всегда можете нажать сочетание клавиш еще раз.
ReSharper добавляет в список автодополнения члены классов (protected, private и internal), символы из сборок, на которые нет ссылок, цепочки вызовов, возвращающие значения ожидаемого типа данных, приведения к ожидаемому типу данных и т. д. Конечно, если вы примените любой из предложенных вариантов, отсутствующие импорты и необходимые ссылки добавляются автоматически.
ReSharper позволяет фильтровать варианты автодополнения по типу символа, модификаторам доступа и другим характеристикам. Набор применяемых фильтров можно изменить при каждом вызове автодополнения или оставить неизменными.
ReSharper умеет исправлять трудноуловимые опечатки при написании кода на C#.
Например, если вы случайно напечатали MethodName (.)
, ReSharper автоматически заменит текст на MethodName ().
, и вы сможете дальше вводить цепочку вызовов, не тратя время на исправление синтаксической ошибки.
Аналогично ReSharper исправит неправильно введеный префикс @$
на $@
при интерполяции строк.
Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.