在Visual Studio中一步重命名具有文件名的类

时间:2013-11-27 13:44:56

标签: c# visual-studio-2010 refactoring rename

我是一名长期的Java程序员,但目前我用C#编写代码。我习惯了,当我更改文件名时,类名也会改变,反之亦然。这在我的Visual Studio中不起作用。我必须分别重命名类名和文件名,这对我来说有时很烦人,因为我总是忘记它,所以结果是我有不同的类和文件名。 Visual Studio中是否有选项可以将重命名放在一个步骤中?

6 个答案:

答案 0 :(得分:17)

重命名文件工作正常 - 它将提供更改代码以匹配:

enter image description here

如果重命名该类,那么 - 实际上,默认情况下不会发生这种情况。注意,没有实际需要匹配的两个。但最终,重命名只是 f2

答案 1 :(得分:5)

Visual Studio 2015 Preview 5开始,“快速操作和重构”上下文菜单包含“将文件重命名为[class] .cs”命令。

答案 2 :(得分:1)

当复制的文件位于同一文件夹并且类名相同时(如果您刚刚复制文件,它将会是 ) 。我认为推理可能是重命名不会在新复制文件中的类和原始文件之间进行描述(请参阅@xMichal下面的评论)。

快速解决方案是将文件(我使用ctrl + drag)复制到附近的文件夹中,重命名,然后将其移回。

另一个选项(可能是Resharper特定的)是重命名复制文件中的类(和构造函数),然后使用工具提示选择性地重命名文件以匹配。

答案 3 :(得分:0)

ReSharper在“重构”上下文菜单上具有“ MoveTypesIntoMatchingFiles”菜单选项,这似乎可以解决问题。只是如果您在同一文件中有多个类,它们也将被移动到单独的文件中,但这在大多数情况下还是一件好事。

答案 4 :(得分:-1)

如果您“重构”某些内容,则在使用该文本或名称的任何地方都会更改名称,因此您无需在每次使用时更改名称。但是,您无法使用项目之外的对象执行此操作,例如:文件名。

答案 5 :(得分:-1)

安装名为Reshaper的awesome visual studio插件。 它做到这一点和其他很好的东西。 免费30天,然后它的成本,但绝对是值得的。