Перейти к содержанию

Настройка ReSharper

1. Основные требования к формату кода

  1. В конце файла без отступа.
  2. Внутри файла отступы по 1 пустой строчке (внутри методов можно в принципе можно и несколько, но лучше по 1).
  3. Стиль именования переменных соответствует стандартному в ReSharper.
  4. Порядок расположения членов класса/прочих структур соответствует стандартному в ReSharper.
  5. Строки длиннее 120 знаков (с учетом отступов) разбивать везде, где возможно, про формат разбивки в «дополнительно».
  6. Все using внутри namespace. Сам namespace, крайне желательно, с ";".
  7. У всего публичного крайне желательна XML-документация (три ///).

2. Быстрая настройка

Только через ReSharper нельзя настроить автоматическое расположение using и namespace, это надо ещё и в самой студии немного повозиться. Описание что надо делать будет ниже.

Вот файл конфигурации ReSharper и архив с языковыми библиотеками:

Файл настроек
Языковые библиотеки
Настройки XAML Styler

Вот инструкция в картинках куда их сувать:

image
image
image
image
image

Для XAML Styler:

image image image image

3. Действия для ручной настройки

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

image

  1. Внутри файла отступы по 1 пустой строчке (внутри методов можно в принципе можно и несколько, но лучше по 1):
    По умолчанию стоит возможность 2 пустых строк в коде, изменить можно тут:

image

Также, по умолчанию в ReSharper не отмечается отсутствие отступов между методами. Чтобы было надо проставить все галочки в "Inspection Severity" -> "Incorrect blank lines":

image

  1. Стиль именования переменных соответствует стандартному в ReSharper.
    По умолчанию ReSharper подстраивается под стандарты именования в проекте, а значит может сбиться сам по себе. Чтобы это отключить, надо убрать галочку тут:

image

  1. Порядок расположения членов класса/прочих структур соответствует стандартному в ReSharper:
    Само по себе сбиться, вроде, не может, но если такое произойдет (или просто захочется) – копаться надо тут:

image

5. Строки длиннее 120 знаков (с учетом отступов) разбивать везде, где возможно, про формат разбивки в «дополнительно»:
По умолчанию стоит 120, если сбилось, то устанавливается тут:

image

  1. Все using внутри namespace. Сам namespace, крайне желательно, с ";":
    Сделать это чисто через ReSharper нельзя, надо ещё и в студии сделать пару настроек:

image

Настройки в студии:

image
image
image

3½. Принудительное комментирование публичных членов

Простого чекбокса для этого нет и в итоге процесс костыльный.
1. Идем в «Inspection severity» => «C#» => «Compiler warnings» и ищем «Missing XML comment for publicly visible type or member» и меняем «Warning» на «Error».

image

2. В свойствах проекта (да, если в решении несколько проектов, надо все протыкать) в «Build», находим чекбокс для создания XML с документацией и проставляем его (путь можно не проставлять)

image

3.      В «ошибки и предупреждения» проставить код нужной ошибки (CS1591) чтобы считать предупреждение за ошибку. Теперь твой проект просто не соберется пока ты не напишешь все доки :3

image

P.S. Это делать прям совсем необязательно, т.к. теперь при сборке будет создаваться дополнительный файл, а чтобы его не было надо вспомнить и отключить чекбокс со второго пункта. Но если хочется посмотреть не забыл ли где комментарий - хорошая проверка.

  1. Мо умолчанию эти предупреждения будут работать только в открытых файлах, но можно включить анализ кода во всём решении. При этом может немного пострадать производительность, но что поделать:

image

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

image

4. Дополнительно

В этом разделе просто набор интересных настроек. Сюда можно свободно добавлять всё что угодно. Часть этих настроек изменена в стандартном файле выше. 1. Выравнивания внутристрочных комментариев (с криком души).

image

  1. Разные настройки переноса длинных строк при вызове/определении всего у чего есть «()»:

image
image
image
image

  1. Отступы для # штук:

image

  1. Отображение предупреждения при неправильной расстановке пробелов перед/в/после скобок:

image

  1. Если хочется сделать конкретное изменение в стиле, но неясно, что на него влияет, можно выделить конкретный кусочек кода, нажать Alt+Enter, перейти в "Reformat and cleanup" -> "Configure code style" и в открывшимся окне будут все настройки, которые влияют на конкретно выделенный кусочек кода.

image
image
image
image

  1. Уточняющие скобки в бинарных/арифметических выражениях могут:
    Сперва надо в "InspectionSeverity" найти нужный пункт и проставить галочку и "Warning" или "Erorr".

image

После чего необходимо в "Syntax Style" проставить галочки у всех нужных операторов.

image

Важно: это только дополнительные, уточняющие скобки, они не будут влиять на функционал.