2010-02-01 2 views
34

Я довольно часто использую команду ReSharper «Clean Up Code» для форматирования моего кода в нашем стиле кодирования, прежде чем проверять его на исходный элемент управления. Это хорошо работает в целом, но некоторые биты кода лучше форматируются вручную (например, из-за правил отступов в ReSharper, такие вещи, как цепные методы linq или многострочные тернарные операторы, имеют странный отступ, который толкает их вправо).Есть ли способ разметки кода, чтобы сказать ReSharper не форматировать его?

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

EDIT:

Я нашел this пост от ReSharper форумах, что говорит, что генерироваться секции кода (как определено на странице параметров ReSharper) игнорируются в коде очистки. Попробовав это, он, похоже, не игнорируется.

+4

Вы действительно хотите «загрязнить» свой код с помощью специальной разметки R #? Yuck yuck yuck ... – Oded

+5

@Oded: Не совсем, нет - но я бы предпочел, чтобы код был нечитаемым из-за его компоновки. – adrianbanks

+0

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

ответ

3

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

21

ReSharper> Функции> Языки> C#> Форматирование Стиль> Другое>

Uncheck «Отступ тела анонимный метод» и «Отступ массив объектов и коллекция initilizer блоков» и что-нибудь еще, что поражает ваше воображение.

+0

Опция «анонимный метод тела» работает (показывает пример с немного странным методом DoSomethog() », но R # все еще форматирует другие блоки с большими отступами. – adrianbanks

+0

@adrianbanks - сняв флажок «Исходные массивы, объекты и коллекции инициализационных блоков», мои массивы и инициализаторы оставлены в покое. Не уверен, что такое DoSomethog(), о котором вы говорите. –

+0

@adrianbanks - также, если ваши блоки уже вытолкнуты из предыдущего переформатирования, r # собирается оставить их в покое. Установите первую открытую скобку там, где вы хотите, CTRL-D, чтобы отформатировать остальную часть, а последующая очистка кода не коснется ее. –

2

Заканчивать этот вопрос, я спросил, что включает в себя один и тот же вопрос: Resharper formatting code into a single line

Ответ, который я получил там работать очень хорошо для меня.