在Visual Studio中将内联类,接口或枚举移动到它自己的文件的最有效方法

时间:2012-05-26 07:51:23

标签: c# visual-studio-2010 ide

有时候,当我正在开发时,我可能更喜欢在构建新设计时或在测试夹具中快速内联类,接口和/或枚举。但是,我发现打断我的思维过程以创建新的代码文件,将内联写入的类/接口/枚举复制并粘贴到新文件以及在它们之间导航所需的所有时间都不方便。

我正在寻找一个扩展,宏或隐藏的快捷键组合,它将自动为突出显示的或选定的内联类/接口/枚举创建一个文件,如果可能的话,复制使用列表以便可以构建它(但删除& sort会在以后清理它)。

我对扩展,宏或隐藏的快捷键持开放态度。建议?

编辑#1: ReSharper看起来很棒,是的,它似乎完全符合我的需要,但我想找到一个免费的解决方案,如果它存在,那并没有让我感动回200美元。

编辑#2:在您提供有用的意见后,我正在推动我的开发团队全部运行ReSharper试用版,并在几周内重新评估增值是否值得。我们希望保持扩展使用的一致性,所以我希望我们都认为它同样值得。

示例:我想转此(IExample.cs):

using System.Linq;

public interface IExample
{
}

public class Example : IExample
{
}

public enum ExampleType
{
}

...进入这些:

IExample.cs:

using System.Linq;

public interface IExample
{
}

Example.cs

using System.Linq;

public class Example : IExample
{
}

ExampleType.cs

using System.Linq;

public enum ExampleType
{
}

4 个答案:

答案 0 :(得分:3)

内置的重构工具没有一种简单的方法可以将类提取到自己的文件中,所以如果你没有像ResharperRefactor! Pro那样的重构工具,这是最简单的方法。确实如此:

  1. 将课程复制到内存中。
  2. 添加一个包含班级名称的新文件。
  3. 将班级粘贴到新文件。

答案 1 :(得分:2)

ReSharper提供功能Move to another file to match type name,ALT + Enter快捷键可让您的工作更快。

答案 2 :(得分:1)

Devexpress Refactor!pro可以成为您的解决方案....例如您发布,重构! Pro会在您要移动的类名称底部显示一个快速操作菜单。 在这个Actionmenu中,你只需要“移动到文件”选项......

答案 3 :(得分:1)

编辑: 显然,这个方法确实将类型移动到它自己的文件中,但仍然保持与前一个类的关系,所以除了生成一个单独的文件之外,它实际上不会改变任何东西。类型仍然会以相同的方式嵌套。

这是一个很老的问题,我刚刚遇到了同样的问题。 在 Visual Studio 2019 中(也可能在 2017 年,虽然我没有检查), 您可以选择整个类 -> 右键单击​​ -> 快速操作和重构 -> 将类型移动到其自己的文件。 它也更正了对所述类型的所有引用。 非常好用!