Помощь при написании кода

ReSharper предоставляет большой набор функций для получения дополнительной информации о коде, выбора и подсветки структурных блоков кода, а также применения локальных преобразований.

Подсветка синтаксиса C#

Подсветка синтаксиса

ReSharper расширяет стандартную подсветку синтаксиса в Visual Studio за счет специализированной подсветки элементов кода на разных языках. В частности, вы сможете легко различать локальные переменные и поля в коде. Чтобы включить подсветку ReSharper, перейдите в меню ReSharper | Options | Code Inspection | Settings и выберите пункт Color Identifiers. Вы можете отдельно настроить цвет любого элемента.

Контекстные действия в ReSharper

Контекстные действия

Контекстные действия ReSharper избавят вас от необходимости много печатать, позволяя быстро вносить незначительные изменения в код на месте: например, вы можете изменить модификаторы доступа, сгенерировать проверку на null, преобразовать оператор foreach в цикл for и обратно — и все это за пару нажатий клавиш. Если в текущем положении курсора доступно одно или несколько контекстных действий, появится значок молотка Индикатор контекстного действия ReSharper. Чтобы выбрать нужное действие, кликните по значку либо нажмите Alt+Enter.

Разные сценарии для функции автодополнения операторов

Автодополнение оператора

ReSharper подставляет необходимые синтаксические элементы (фигурные скобки, точки с запятой и т.д.) и перемещает курсор в начало следующего оператора — не нужно лишний раз делать это вручную. По умолчанию для вызова этой функции работает сочетание клавиш Ctrl+Shift+Enter.

Функция Complete Statement (также известная как Smart Enter) полезна в разных ситуациях: она обеспечивает автоподстановку закрывающих скобок и точек с запятой, автодополнение операторов if, while и for и т.д.

Языковые вставки в ReSharper

Языковые вставки

Если строковый литерал (а также тег или атрибут в XML-подобном языке) содержит вставку на другом формальном языке, например, HTML, CSS, JavaScript, JSON или регулярное выражение, ReSharper предоставит для этого фрагмента инспекции, быстрые исправления, автодополнение, контекстные действия и другие возможности с учетом особенностей этого языка.

Когда наличие формального языка внутри строкового литерала не удается определить автоматически, вы можете вручную пометить литерал как содержащий определенную языковую вставку, используя меню (Alt+Enter) или добавив перед строковым литералом следующий комментарий: /*language=javascript|html|regexp|jsregexp|json|css*/.

Валидатор регулярных выражений

Помощь при написании регулярных выражений

ReSharper предоставляет богатый набор инструментов для работы с регулярными выражениями в коде на C#, JavaScript и TypeScript. Можно быстро проанализировать существующие выражения, найти и исправить ошибки. Автодополнение и валидация кода помогут при написании новых выражений.

Выберите пункт меню ReSharper | Tools | Validate Regular Expression, чтобы ввести различные примеры строк и посмотреть, как регулярное выражение соответствует этим строкам. Используя это диалоговое окно, вы сможете исправить выражение и убедиться, что получите ожидаемое совпадение.

Информация о параметрах

Информация о параметрах

С ReSharper эта часть функциональности Visual Studio IntelliSense тоже предоставляет больше возможностей. При вызове метода, функция Parameter Info показывает все доступные сигнатуры и параметры метода с соответствующей документацией в виде всплывающей подсказки. Подсказка появляется автоматически при вводе текста, или вы можете вызвать ее, нажав Ctrl+Shift+Пробел. При добавлении новых аргументов ReSharper скроет все несовместимые сигнатуры.

Подсветка границ блоков кода

Подсветка границ блоков кода

В коде на C#, JavaScript или TypeScript, когда вы устанавливаете курсор непосредственно перед/после закрывающей фигурной/квадратной скобки или кавычки, подсвечивается соответствующий открывающий символ, и наоборот (этот параметр настраивается).

Для VB.NET ReSharper подсвечивает операторы Sub и Function, когда курсор помещен внутри или после соответствующих операторов End Sub или End Function. Соответствующее ключевое слово и строка, на которой оно находится, подсвечиваются, когда вы помещаете курсор внутри открывающего ключевого слова (эту функцию тоже можно настроить).

В XML парные теги подсвечиваются ненавязчиво, что позволяет увидеть структуру тегов.
Если соответствующий фрагмент кода уходит за пределы экрана, парный элемент отображается во всплывающем окне.

Автоимпорт пространств имен

Импортирование пространств имен

Когда имя типа не может быть разрешено из-за того, что вы забыли указать соответствующую директиву импорта пространства имен в исходном коде, появится небольшое всплывающее окно, в котором ReSharper предложит один или несколько типов для импорта. Просто нажмите Alt+Enter, и нужная директива импорта будет добавлена автоматически. При этом курсор останется в текущем положении.

Для файлов разметки в веб-приложениях ReSharper может автоматически импортировать пользовательские элементы управления (файлы ascx) на основе использований.

Автоподстановка разделителей

Когда вы вводите знаки (, [, " или ' в редакторе, парный символ подставляется автоматически (когда это необходимо). Эту функцию легко отключить, но не бойтесь случайно поставить лишнюю закрывающую скобку или кавычку: если они уже есть, ReSharper не будет добавлять избыточный знак.
При работе с XML, как только вы введете открывающую кавычку или скобку, закрывающая появится автоматически.

Дублирование строки или выделенного кода

Чтобы быстро продублировать любую строку (блок кода), поместите на нее курсор (или выделите блок) и нажмите Ctrl+D.

Изменение порядка элементов с помощью сочетаний клавиш в ReSharper

Реорганизация кода

ReSharper позволяет быстро изменить порядок элементов кода одним нажатием (правда четырех клавиш): Ctrl+Shift+Alt+Up/Down/Left/Right. Вы можете перемещать блоки вверх и вниз по коду, менять порядок параметров и аргументов, перемещать операторы внутри блока, извлекать операторы из блока и совершать обратное действие, перемещать XML-теги по вертикали и XML-атрибуты по горизонтали и т. д.

Быстрый просмотр документации

Быстрый просмотр документации

Чтобы просмотреть документацию для определенного класса, метода, функции или другого символа прямо в редакторе, поместите курсор на символ и нажмите Ctrl+Shift+F1. Документация отображается во всплывающем окне, из которого можно по ссылкам перейти на другие ресурсы, в частности к документации MSDN.

Добавление/удаление комментариев к коду в ReSharper

Добавление/удаление комментариев к коду

Чтобы быстро добавить или убрать комментарий к блоку кода, выделите его в редакторе и нажмите Ctrl+Alt+/ (для однострочного комментария) или Ctrl+Shift+/ (для блочного комментария).

Вы также можете нажать Ctrl+Alt+/, чтобы быстро добавить или удалить комментарий к строке, на которой находится курсор, если блок кода не выделен. В такой ситуации нажатие Ctrl+Shift+/ добавит открывающий (/*) и закрывающий (*/) символ блочного комментария слева и справа от курсора или удалит эти символы, если курсор находится внутри комментируемого блока кода.

Расширение/сужение области выделения

Расширение/сужение области выделения

Функция Extend Selection помогает последовательно расширять область выделения в блоках кода. Это позволяет легко выделить любое выражение в коде: поместите курсор в любое место внутри выражения и нажмите Ctrl+Alt+Right несколько раз. Чтобы сузить область выделения, нажмите Ctrl+Alt+Left.

Вы также можете быстро выделить элемент, на котором находится курсор, или даже содержащий его тип, нажатием Ctrl+Shift+[.

Разбивка строковых литералов: до

Разбивка строковых литералов

Если вам нужно ввести длинный строковый литерал, ReSharper поможет разбить его на несколько строк, добавив необходимые кавычки и знаки плюса: чтобы разбить строку, не нарушая ее значения, нажмите Enter или Shift + Enter, поместив курсор внутри строкового литерала.

Буфер обмена с несколькими записями

Вставка из истории буфера обмена

В ReSharper есть специальная команда вставки, доступная по нажатию Ctrl+Shift+V, которая предоставляет доступ к истории буфера обмена и позволяет быстро вставить любой элемент, недавно скопированный в буфер обмена из Visual Studio. ReSharper начинает сохранять скопированные объекты в истории буфера обмена, как только вы запускаете Visual Studio, и очищает историю, когда вы закрываете IDE.

Обратите внимание:

Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.