2013-11-27 60 views
9

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

+7

如果您首先重命名该文件,您应该也会收到一个问题,以便您也要更改类名称。 –

+2

文件名和类名是独立的 - 它们不需要匹配 – 2013-11-27 13:51:54

+4

@mehow:将文件与类名 –

回答

11

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

enter image description here

如果重命名类,那么 - 事实上,这并不在默认情况下发生的。请注意,这两者并无实际需要匹配。但最终,重命名只是一个f2而已。

+0

遇到这个问题是因为在下载了一个在VS 2015中创建的示例项目,但在VS 2013中打开它之后,当我重命名文件时,您提到的对话框没有出现。(在VS 2013中从零开始创建项目时,它会按预期发布)我还在打开下载的项目(来自信誉良好的源代码)时收到安全警告。也许我所描述的症状会帮助有相同问题的人找到答案。 – mdisibio

+0

不要与VS 2015一起工作 –

+0

@LeoNguyen看起来很奇怪,他们会在某些版本中删除它,但它绝对适用于VS2017。我80%+肯定它在VS2015中也能正常工作,但是:我不打算重新安装它,只是为了检查。你确定你没有安装扩展它的扩展? (我用香草VS) –

-2

如果您“重构”某个内容,那么在该文本或名称已被使用的地方,该名称将被更改,因此您不必在每次使用该名称时都跟着更改名称。但是,您无法使用项目之外的对象执行此操作,例如:文件名。

+2

现在我发现,这个工作,当你重命名文件。但是,当您重命名文件内部的类时,所有引用都会改变而不是文件名。这是我的问题。 – xMichal

1

安装称为Reshaper的真棒视觉工作室插件。 它这样做和其他好东西的负载。 免费30天然后它的成本,但绝对是值得的。

+0

关闭,它是Resharper。 – DevOhrion

0

这似乎工作时复制的文件是在同一文件夹类名是相同的(这将是,如果你只是复制的文件)。我认为推理可能是重命名不会在新复制的文件中的类与原始文件之间进行区分(请参阅下面的@xMichal注释)。

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

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

相关问题