Стиль кода

ReSharper помогает поддерживать единый стиль кода по всей кодовой базе. Настройки стиля по умолчанию основаны на общепринятых стандартах и передовых практиках. Однако, если у вас есть свои предпочтения или в вашей компании приняты другие стандарты, вы можете настроить индивидуальный стиль кода, как для постоянной работы c ReSharper, так и для отдельного решения и поделиться настройками с командой.

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

Нарушения стиля кода отслеживаются при помощи инспекций и мгновенно устраняются благодаря быстрым исправлениям и механизму Code Cleanup.

Использование функции Сode Сleanup для применения настроек стиля кода

Code Cleanup

Code Сleanup (Очистка кода) — функция, которая помогает мгновенно устранять нарушения выбранного стиля кода в одном или нескольких файлах, во всем проекте или решении одним нажатием Ctrl+E, C.

Две стандартные опции — Full Cleanup (применяет все настройки стиля кода, кроме именования символов) и Reformat Code (применяет только ваши правила форматирования) — могут быть дополнены пользовательскими вариантами, актуальными для конкретной задачи.

Изменение форматирования выбранного кода

Форматирование кода

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

Для контекстной настройки правил форматирования выделите код, который необходимо переформатировать, и нажмите Alt+Enter. Выберите из списка действие Format Selection | Configure, чтобы просмотреть все правила форматирования, которые относятся к выбранному коду.

Вы также можете использовать функцию Сode Сleanup, чтобы исправить форматирование.

Замена явного объявления типа ключевым словом var

Явная/неявная типизация

Использование неявно типизированных локальных переменных (ключевое слово var), введенных в C# 3.0, стало довольно популярным, поскольку улучшает читаемость кода. По умолчанию ReSharper предлагает использовать ключевое слово var.

Однако вы можете изменить настройки и использовать объявление типа в явной форме.

Для принудительного использования неявной или явной типизации можно применить команду Сode Сleanup.

Использование автоматической реализации свойств

Автоматическая реализация свойств

Функция автоматической реализации свойств (также известная как автосвойства) позволяет упростить объявление свойств типа, которые не имеют дополнительной логики. По умолчанию ReSharper рекомендует использовать автосвойства, но это поведение можно настроить.

Вы можете преобразовать свойства с резервными полями в автосвойства с помощью быстрого исправления или функции Сode Сleanup.

Быстрое исправление для добавления модификатора readonly

Использование модификаторов C#

Модификаторы типов и членов типов в C# можно писать в любом порядке. Однако, код, в котором модификаторы используются единообразно, легче читать. ReSharper поможет определить нужный порядок, найти неотсортированные модификаторы и автоматически расположить их как надо.

Кроме того, ReSharper помогает реализовать ваши предпочтения по использованию модификаторов private и internal явно.

Часто имеет смысл использовать модификатор readonly для полей, назначенных в объявлении или в конструкторе и доступных только для чтения. По умолчанию ReSharper предлагает сделать поле доступным только для чтения, если выполняются вышеуказанные условия.

Все настройки модификаторов можно изменить и применять с помощью быстрых исправлений и функции Code Сleanup.

Удаление избыточного кода в выбранной области

Удаление избыточного кода (только для C#)

В ReSharper предусмотрены десятки инспекций, проверяющих наличие избыточного кода.

Большая часть избыточного кода может быть удалена без вмешательства пользователя благодаря быстрым исправлениям и функции Сode Сleanup.

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

Расширенные настройки именования

Правила именования

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

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

Все несоответствия настройкам именования подсвечиваются в редакторе, и их легко исправить.

Кроме того, с помощью функции Find Code Issues в окне Inspection Results вы можете просматривать и быстро исправлять нарушения стандарта именования, обнаруженные по всему решению или в более узкой области.

Настройка использования директив using

Настройки импорта пространств имен

Чтобы код было проще читать, вы можете удалить избыточные директивы using и/или заменить полные имена на краткие в C# и VB.NET-файлах. Более того, ReSharper реализует разные подходы к импорту пространств имен: можно добавить директивы using/import или использовать полные имена типов, поместить директивы в начало файла или внутри пространства имен и т.д.

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

Использование ключевых слов для встроенных типов C# вместо имен типов CLR

Настройки именования встроенных типов C#

Для встроенных типов C# можно использовать как ключевые слова C#, так и имена типов .NET Framework (CLR). Если вы предпочитаете придерживаться одного стиля именования встроенных типов, ReSharper поможет вам в этом.

Предпочтения легко настраиваются, и вы можете применить их с помощью Сode Сleanup.

Автоматическое разделение нескольких атрибутов C#

Оформление атрибутов C#

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

ReSharper также поддерживает разные правила форматирования для атрибутов и позволяет применить все выбранные настройки с помощью Сode Сleanup.

Удаление избыточных квалификаторов членов

Стили для необязательных квалификаторов членов

В C # для квалификации членов экземпляра класса используется ключевое слово this, а статические члены могут быть квалифицированы именем типа или именем базового типа. Такие квалификаторы помогают предотвратить неоднозначность, если члены скрыты локальными переменными или параметрами метода. Во всех остальных случаях модификаторы необязательны, и вы сами можете решить, использовать их или нет. По умолчанию ReSharper рассматривает все необязательные квалификаторы как избыточные и предлагает их удалить.

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

Удаление лишних скобок

Удаление необязательных скобок

Скобки в выражениях часто бывают необязательны. Иногда они помогают уточнить приоритет операций, например if ((a & b) | c), а порой превращают код в недостижимый: var d = a + (b + c);. ReSharper поможет определить, в каких случаях необязательные скобки могут быть полезны, уберет лишние, а также поставит уточняющие скобки там, где порядок предшествования операций неочевиден.

Организация членов типов

Организация файлов и типов (только для C#)

ReSharper может автоматически изменять порядок членов файлов и типов в коде на C#. Члены будут отсортированы, сгруппированы, обернуты в указанные блоки region и т. п. в соответствии с их видом и модификаторами доступа. По умолчанию ReSharper предоставляет два шаблона расположения (набора правил изменения порядка) и умный визуальный редактор.

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

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