通过


重命名和移动重构

Visual Studio提供了多个重构,用于重命名和重组代码符号和文件。 可以通过 快速操作和重构 菜单(Ctrl+.)访问这些重构。

重命名代码符号

applies to: C#,Visual Basic

此重构可安全地重命名代码符号的标识符,例如字段、局部变量、方法、命名空间、属性和类型。 项目中的所有引用都会自动更新,避免手动查找和替换错误。

  1. 突出显示或放置要重命名的项中的文本光标:

    • C#:

      重命名的突出显示代码 - C# 的屏幕截图。

    • Visual Basic:

      用于重命名的突出显示代码的 Screenshot - Visual Basic.

  2. 接下来,使用键盘或鼠标,如下所示:

    • 键盘
      • Ctrl+R,然后按 Ctrl+R。 (键盘快捷方式可能因所选配置文件而异。
    • 鼠标
      • 选择 “编辑 > 重构 > 重命名”。
      • 右键单击代码并选择“ 重命名”。
  3. 只需键入新名称即可重命名项。

    • C#:

      重命名动画 - C# 的屏幕截图。

    • Visual Basic:

      重命名 - VB 的屏幕截图。

    小窍门

    还可以更新注释和其他字符串以使用此新名称,以及在保存之前 预览更改 ,使用打开下拉菜单时显示的“ 重命名 ”框中的复选框。

  4. 如果对更改感到满意,请选择 “应用 ”按钮或按 Enter 并提交更改。

注解

  • 从 Visual Studio 2019 2019 版本 16.3 开始,重命名与它所在的文件名称匹配的类型时,将显示一个复选框,使你能够同时重命名该文件。 重命名类、接口或枚举时,将显示此选项。 对于具有多个定义的分部类型,不支持此选项。

    使用文件重命名动画的屏幕截图 - C#。

  • 如果使用已存在导致冲突的名称,则 重命名 框会发出警告。

    重命名冲突的屏幕截图。

  • 重命名符号的另一种方法是在编辑器中更改其名称。 然后,使用符号名称中的光标,按 Ctrl+或者只需展开显示的灯泡图标菜单,然后选择“将旧名称重命名<为>新名称<>”。

    编辑器中重命名的屏幕截图。

将类型移到匹配的文件

applies to: C#,Visual Basic

此重构将类型移动到具有相同名称的单独文件中,当一个文件中有多个类型时,可改进代码组织和导航。

  1. 将光标置于在其中定义它的类型的名称内。 例如:

    class Person
    
  2. 接下来,执行下列操作之一:

    • Ctrl+
    • 右键单击类型名称并选择“ 快速操作”和“重构”
  3. 从菜单中选择 “将类型移动到 TypeName.cs ,其中 TypeName 是所选类型的名称。

    该类型将移动到项目中与类型同名的新文件中。

    • C#:

      内联结果 - C# 的屏幕截图。

    • Visual Basic:

      inline 结果的 Screenshot - Visual Basic.

同步类型和文件名

applies to: C#,Visual Basic

此重构将重命名类型以匹配文件名,或重命名文件名以匹配它所包含的类型,使代码保持有序且易于导航。

注释

此重构尚不适用于 .NET Standard 和 .NET Core 项目。

  1. 突出显示或将文本光标置于要同步的类型的名称中:

    • C#:

      同步类型的突出显示代码 - C# 的屏幕截图。

    • Visual Basic:

      同步类型的突出显示代码的 Screenshot - Visual Basic.

  2. 接下来,执行下列操作之一:

    • 键盘
      • Ctrl+。触发“快速操作和重构”菜单,并从“预览”窗口弹出窗口中选择“将文件重命名为 TypeName.cs,其中 TypeName 是所选类型的名称。
      • Ctrl+。触发“快速操作和重构”菜单,并从“预览”窗口弹出窗口中选择“重命名”类型,其中文件名是当前文件的名称。
    • 鼠标
      • 右键单击代码,选择“ 快速操作和重构 ”菜单,然后从“预览”窗口弹出窗口中选择“ 将文件重命名为 TypeName.cs ,其中 TypeName 是所选类型的名称。
      • 右键单击代码,选择“快速操作和重构”菜单,并从“预览”窗口弹出窗口中选择“重命名”类型,其中文件名是当前文件的名称。

    类型或文件已重命名。

    • C#:在下面的示例中, 文件MyClass.cs 重命名为 MyNewClass.cs ,以匹配类型名称。

      内联结果 C# 的屏幕截图。

    • Visual Basic:在下面的示例中,文件Employee.vb重命名为Person.vb以匹配类型名称。

      inline 结果的 Screenshot Visual Basic.

同步命名空间和文件夹名称

适用于: C#

当将文件移动到新文件夹时,此重构将更新命名空间以匹配文件夹结构。

  1. 将光标置于命名空间名称中。

  2. 按 (Ctrl.) 触发“快速操作和重构”菜单。

  3. 选择 “将命名空间更改为 <文件夹名称>”。

    同步命名空间和文件夹名称的屏幕截图。

将声明移至引用附近

applies to: C#,Visual Basic

此重构使变量声明与其用法更接近,提高了可读性和缩小变量范围。

  1. 将光标置于变量声明中。

  2. 接下来,执行下列操作之一:

    • 键盘
      • Ctrl+。触发“快速操作和重构”菜单,并从“预览”窗口弹出窗口中选择“移动”声明。
    • 鼠标
      • 右键单击代码,选择“ 快速操作”和“重构 ”菜单,然后从“预览”窗口弹出窗口中选择“ 在引用附近移动声明 ”。
  3. 如果对更改感到满意,请按 Enter 或单击菜单中的修补程序,并提交更改。

例:

// Before
int x;
if (condition)
{
    x = 1;
    Console.WriteLine(x);
}

// Move declaration near reference

// After
if (condition)
{
    int x = 1;
    Console.WriteLine(x);
}