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

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

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

在此处输入图像描述

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

从Visual Studio 2015 Preview 5开始 ,“Quick Actions and Refactorings”上下文菜单包含“将文件重命名为[class] .cs”命令。

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

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

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

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

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