【问题标题】:Resharper Shortcuts for Create Class and Move Class To New File用于创建类和将类移动到新文件的 Resharper 快捷方式
【发布时间】:2010-09-28 09:02:36
【问题描述】:

Resharper 4 的快捷键是什么

  1. 从使用中创建一个类?例如我输入“var p = new Person();”,现在我想创建 person 类。

  2. 将这个类移动到它自己的文件中?当 Person 类存在于我的 Order 类旁边的同一文件中时,移动它的快捷方式是什么。

我似乎在cheatsheetInternet 上找不到这些快捷方式。

【问题讨论】:

  • 刚刚发现“Move class to new file”也有复数形式!右键单击解决方案资源管理器中的文件 -> 重构 -> 将类型移动到匹配的文件中。在重构具有多种类型的遗留代码文件时非常有用。抱歉 - 此命令也没有快捷方式...

标签: .net resharper


【解决方案1】:

输入一行:

var p = new Person();

Person 将被 ReSharper 以红色突出显示为错误。将插入符号放在上面并按 ALT+ENTER 以调用快速修复上下文菜单。选择创建类“Person”

然后光标将位于新类的名称上,因此再次按 ALT+ENTER 以调用上下文相关的快速-再次修复菜单并选择移动到另一个文件以匹配类型名称

这只是 两个 操作 - 非常快速和简单。一段时间后,它(就像大多数 R# 命令一样)变成了肌肉记忆。喜欢开车、走路或嚼口香糖。

积分奖励
以上就是你想要做的所有事情,但你可以更进一步:

  1. 如果您希望将类移动到不同的命名空间,您可以按 SHIFT+CTRL+R 并选择修改命名空间...

  2. 如果您希望将课程完全移至另一个项目,您可以按 SHIFT+CTRL+R 并选择 移动到文件夹...

很棒的是 - ReSharper 将对命名空间进行所有必要的更改,以确保仍然可以编译。有一个问题 - 仅当您将类 移至 的项目被您移动它们 的项目引用时。你有两个选择

  1. 继续重构并使用 ReSharper 快速修复来一次性添加引用 导入命名空间(如果它是一个新类,我会这样做,因为它将是仅限使用)。
  2. 在移动它们之前手动添加参考,它会为您完成这一切。

【讨论】:

  • 我认为“这很糟糕”会更好地表达为“我可能会向 JetBrains 发送功能请求”。我不会说它“太多”,它只是一个额外的快速修复(三个按键)。为快速修复配置默认操作会很好,但考虑到替代方法是自己手动完成,我知道我会选择什么。
  • 它在 Eclipse 中“更好”,因为 Java 在这件事上没有给你任何选择 - 每个类都是它自己的文件。 C# 让您选择。如果类相当小并且密切相关(例如组合或策略),则将它们组合在同一个文件中是有意义的。
  • 当我通过 ReSharper 8.1 在 VS 2012 中尝试 Shift + Ctrl + R 时似乎没有做任何事情
  • @CoffeeAddict 我无法解释;它实际上是主要的“重构”命令。转到 Tools->Options->Keyboard 并搜索“ReSharper.ReSharper_RefactorThis”并查看它映射到的击键。也许您有另一个扩展正在接管?
  • 如果你完全限定了你的类名 var p = new Models.Person(); 你可以 1) alt-enter 创建新类 - 这将在 Models 命名空间中创建它 2) alt-enter 将其分解为自己的文件 - 对我来说,这会打开该新文件 3) 然后 alt-enter 并将其移动到项目中的正确位置,基于命名空间
猜你喜欢
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-04
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
相关资源
最近更新 更多