Может ли Resharper создать метод непосредственно в существующем регионе? - PullRequest
0 голосов
/ 28 марта 2012

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

Я склоняюсь к тому, чтобы поместить их в область около нижней части класса, озаглавленную вспомогательные методы . Когда я хочу новый, я просто набираю имя метода, где мне нужно его использовать, и позволяю функции Resharper Create method извлечь определение.

По умолчанию это добавляется ниже текущего метода, где бы он ни был, с throw new NotImplementedException(); в качестве тела. Есть ли способ сказать Resharper, чтобы поместить этот новый метод непосредственно в мою область помощника? Я осмотрелся вокруг и ничего не нашел.

Я бы ожидал, что Create method in region..., который может предоставить список областей в классе *, поможет организовать вещи немного быстрее. В конце концов, для этого и нужны регионы.

* Да, я понимаю, что вы можете определять регионы где угодно, поэтому многие из них не будут подходящими местами для методов. Я бы сказал, это деталь реализации.

1 Ответ

0 голосов
/ 29 марта 2012

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

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

Скажем, если имена ваших вспомогательных методов всегда имеют префикс Helper, вы можете поместить следующую запись в качестве последней записи в теге Pattern:

        <!--Helper methods-->
        <Entry>
            <Match>
                <And>
                    <Kind Is="method"/>
                    <Name Is="Helper.*" IgnoreCase="true" />
                </And>
            </Match>
            <Group>
                <Name Region="Helper methods"/>
            </Group>
        </Entry>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...