ReSharper 2025.2 Help

JavaScript 的重构

执行重构

  1. 将插入符号放在符号上,选择您想要重构的代码片段,或在工具窗口中选择一个项目。

  2. 执行以下操作之一:

    • 从主菜单中选择 ReSharper | 重构 ,然后选择所需的重构。 此菜单中可用的重构列表取决于当前上下文。 如果 ReSharper 无法为上下文建议任何重构,则整个菜单将被禁用。

    • 在编辑器、 文件结构 窗口或其他 ReSharper 窗口中,右键单击您想要转换的项目,从上下文菜单中选择 重构 ,然后选择所需的重构。

    • 从主菜单中选择 ReSharper | 重构 | 重构此项 ,或按 Control+Shift+R 显示适用的重构列表,然后选择其中一个。 您还可以在选择的上下文菜单中选择 重构

    • 使用分配给特定重构的 默认键盘快捷键 ,或为您喜欢的重构命令 分配自定义快捷键

  3. 如果所选的重构需要用户输入,则会打开重构向导。 请注意,向导的对话框不是模态的,因此您可以在向导打开时编辑代码。

    要回滚重构操作,向导提供了选项  要启用撤销功能,请打开所有有更改的文件进行编辑。 如果您选择此选项,ReSharper 会在新的编辑器选项卡中打开所有修改过的文件,并允许您回滚重构。 在这种情况下,您需要自己保存更改。 如果未选择此选项, ReSharper 会自动保存修改过的文件,而无需打开它们。

  4. 如果重构操作会导致代码冲突(例如重复的名称、可见性冲突等),向导会在应用重构之前的最后一步显示冲突列表。 对于某些冲突,向导还可以建议快速修复。 更多信息请参阅 解决重构中的冲突

在您修改编辑器中的代码后,某些重构会立即可用。 有关更多信息,请参阅 就地重构

引入变量

此重构允许您基于选定的表达式创建一个新的局部变量或常量,用该表达式对其进行初始化,并最终用新引入的变量的引用替换方法中该表达式的所有出现。

您还可以使用专用快捷键 Control+Alt+V 调用此重构。

在下面的示例中,我们使用此重构将同一字符串的两次出现替换为一个变量:

function logError() { alert("Something has failed..."); if (typeof window.console != 'undefined') { console.log("Something has failed..."); } }
function logError() { var message = "Something has failed..."; alert(message); if (typeof window.console != 'undefined') { console.log(message); } }

为子字符串引入变量

此重构可帮助您快速将字符串的一部分移动到单独的变量中。

If the ECMAScript 6 is selected as a language level in ReSharper settings, the refactoring will add a new template argument for the extracted substring. 如果语言级别是 ECMAScript5,则使用字符串连接:

重构前

重构后(ECMAScript 6)

重构后(ECMAScript 5)

var helloWorld = "Hello, World";
let world = "World"; var helloWorld = `Hello, ${world}`;
var world = "World"; var helloWorld = "Hello, " + world;

内联变量

此重构允许您将代码中变量的所有出现替换为其初始值。 请注意,仅当变量值在初始化后保持不变时,才应应用此重构。

您还可以使用专用快捷键 Control+Alt+N 调用此重构。

在下面的示例中,我们使用此重构将 反转 变量内联。

function reverseString(input) { var reversed = input.split("").reverse().join(""); return reversed; }
function reverseString(input) { return input.split("").reverse().join(""); }

移至资源

在由 Visual Studio 模板(例如 Apache Cordova)创建的 JavaScript 项目中,ReSharper 允许将字符串字面量移动到 资源文件中。 ReSharper 可以选择在所需范围内查找所有相同的字符串,并将它们替换为资源的使用。 要执行此重构,您的项目中需要至少有一个资源文件(通常具有 .resjson 扩展名)。

您还可以使用专用快捷键 F6 调用此重构。

重命名

此重构允许您更改解决方案中任何符号或项目的名称。 所有对该符号的引用和使用都会自动更新。

您还可以使用专用快捷键 F2 调用此重构。

您可以使用此重构重命名以下 JavaScript 实体:对象字面量、对象字面量的属性、函数、函数参数、变量

最后修改日期: 2025年 9月 27日