Resharper可以直接在现有区域中创建方法吗?

时间:2012-03-28 13:22:02

标签: c# resharper region

很多时候我发现类最终会出现一些小的“帮助”方法,这些方法通常在类中常用,但其实现不太可能经常更改。

我倾向于将这些放在靠近课程底部的区域,有用地称为辅助方法。当我想要一个新的时,我只需输入我需要使用它的方法名称,让Resharper的Create method函数提取定义。

默认情况下,这是在当前方法下面添加的,无论在哪里,都以throw new NotImplementedException();为主体。有没有办法告诉Resharper将这个新方法直接放入我的帮助区域?我环顾四周,没找到任何东西。

我希望Create method in region...可以提供类*中区域的选择列表,这将有助于更快地组织事情。毕竟,这就是这些地区的用途。

*是的,我意识到你可以在任何你喜欢的地方定义区域,因此许多区域不适合方法。我想说这是一个实现细节。

1 个答案:

答案 0 :(得分:0)

首先,+1给brgerner。这是最明显的方法,并且可以说这是唯一的方法(writing your own ReSharper plug-in除外),如果这些辅助方法不遵循某种命名约定。

但是,如果它们遵循命名约定,您可以modify the default type member layout,这将允许您在每个代码清理运行的区域中重新排列这些方法。

假设,如果您的帮助方法名称始终具有Helper前缀,则可以将以下条目作为Pattern标记中的最后一个条目:

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

现在,您可以在每次运行Full Cleanup时重新排列辅助方法,或者甚至可以create a separate code cleanup profile只应用自定义类型成员布局规则,并且不会触及其他任何内容