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



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

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

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

编辑#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
{
}

示例.cs

using System.Linq;
public class Example : IExample
{
}

示例类型.cs

using System.Linq;
public enum ExampleType
{
}
内置的

重构工具没有一种简单的方法来将类提取到它自己的文件中,所以如果你没有像Resharper或Refactor这样的重构工具,最简单的办法就是这样做!拥有它的优点是:

  1. 将类复制到内存。
  2. 添加具有类名的新文件。
  3. 将类粘贴到新文件中。

ReSharper 提供了移动到另一个文件以匹配类型名称的功能,ALT+Enter 快捷方式使您的工作更快。

Devexpress Refactor!pro 可以成为您的解决方案。在您发布的示例中,重构!Pro 会在要移动的类名底部显示一个快速操作菜单。在此操作菜单中,有"移动到文件"选项,这就是您所需要的。

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

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

相关内容