2

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

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

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

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

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

示例:我想转这个(IExample.cs):

using System.Linq;

public interface IExample
{
}

public class Example : IExample
{
}

public enum ExampleType
{
}

...进入这些:

示例.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

4 回答 4

3

内置的重构工具没有一种简单的方法可以将类提取到自己的文件中,所以如果你没有像ResharperRefactor 这样的重构工具,最简单的方法就是!拥有它的专业人士是:

  1. 将类复制到内存中。
  2. 添加一个具有类名的新文件。
  3. 将类粘贴到新文件中。
于 2012-05-26T07:54:59.360 回答
2

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

于 2012-05-26T07:55:38.987 回答
1

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

于 2012-05-26T08:02:14.313 回答
1

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

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

于 2021-08-09T09:48:15.247 回答