Visual Studio "重命名" 重构

4

目前我需要在VS2012中编写C#代码(之前是Java(Eclipse,IDEA))。

也许我是一个奇怪的人,但我喜欢类名==类文件名。

为什么在VS2012中没有与重命名类名称相同的选项重命名类文件?(或者我找不到它)

我知道C#编译器不关心匹配类名和类文件名,但我想这样做。如果它们不同,我无法通过文件名找到类,这让我非常烦恼。

请帮帮我,我已经厌倦了在VS之后完成工作。


4
有些情况下,如果你重命名一个文件,它会提示你同时重命名其中的类。建议先重命名文件,再重命名类。 - Rawling
一个文件中可以有多个类,因此VS不总是自动将随机类重命名为与文件名匹配,这样做也说得通。 - Nolonar
@Rawling 谢谢!您可以添加答案,我会接受它。 - Artem Zinnatullin
@ Artem 已完成,很高兴能够帮忙 ^^ - Rawling
5个回答

3
如果您先重命名文件,Visual Studio通常会提示您将类重命名以匹配新名称。
我不确定确切的情况是什么,但是如果您一个文件只有一个类,它大多数时间都可以正常工作。

1
您可以使用ReSharper。该插件具有将文件重命名为与类名匹配的选项。

你想让我为了重命名重构而购买ReSharper吗? :) 我知道它是一个很棒的工具,但我不需要它。我是Java开发人员,C#只是一个项目。 - Artem Zinnatullin
如果只是短时间使用,你可以使用试用版或 ReSharper 早期访问计划(尽管并不总是可用)。 - Dawid Dziadkiewicz

0

这是一个遗憾的功能,VS没有提供。您可以使用一些重构插件,如Resharper、CodeRush或Refactor! Pro...

它们都有自己的价格和粉丝群体。据我所知,CodeRush有一个免费版本,但功能非常有限,但也许“重命名文件”就在其中,您需要尝试一下。

另一个选择是找到一个扩展(或开发一个)来为您完成此操作,只需前往Visual Studio Gallery即可找到。=)


0

你只需要指向你想要改变的对象,右键点击并使用Refactor -> Rename。一个弹出的重构窗口将会出现。选择你的选项,然后点击“确定”。


弹出窗口没有询问新名称或旧名称。这应该如何工作? - xr280xr
只有从解决方案资源管理器中执行此操作才有效,这并不是最理想的方法。 - crush

0

针对Rawling's的回答中的这一句话(由于我没有足够的声望来发表评论):

我不确定确切的情况是什么,但如果您坚持每个文件一个类,它将大多数时间工作

为了澄清,只要类在命名空间内定义,Visual Studio就会在更改文件名时提供重命名和重构类的选项。如果您选择不使用命名空间,则无法使用此IDE功能。这适用于至少VS 2017 Pro(截至本回答时最新版本)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接