JavaScript 的重构
执行重构
将插入符号放在一个符号上,选择您想要重构的代码片段,或在工具窗口中选择一个项目。
执行以下操作之一:
如果所选的重构需要用户输入,则会打开重构向导。 请注意,向导的对话框不是模态的,因此您可以在向导打开时编辑代码。
要回滚重构操作,向导提供了选项 要启用撤销,请打开所有包含更改的文件进行编辑。 如果您选择此选项,ReSharper 会在新的编辑器选项卡中打开所有已修改的文件,并允许您回滚重构。 在这种情况下,您需要自行保存更改。 如果未选择此选项, ReSharper 会自动保存已修改的 文件,而无需打开它们。
如果重构操作会导致代码冲突(例如重复的名称、可见性冲突等),向导会在最后一步显示冲突列表,然后您再应用重构。 对于某些冲突,向导还可以建议快速修复。 更多信息,请参阅 解决重构中的冲突。
在您修改编辑器中的代码后,某些重构功能会立即可用。 有关更多信息,请参阅 就地重构
引入变量
此重构允许您基于选定的表达式创建一个新的局部变量或常量,用该表达式对其进行初始化,并最终用新引入变量的引用替换方法中所有出现的该表达式。
您还可以使用专用快捷键 Control+Alt+V 调用此重构。
在下面的示例中,我们使用此重构将同一字符串的两次出现替换为一个变量:
为子字符串引入变量
此重构帮助您快速将字符串的一部分移动到单独的变量中。
如果在 ReSharper 设置中将 ECMAScript 6 选为语言级别,则重构将为提取的子字符串添加一个新的模板参数。 如果语言级别是 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 调用此重构。
在下面的示例中,我们使用此重构内联了 reversed 变量。
移至资源
在由 Visual Studio 模板(例如 Apache Cordova)创建的 JavaScript 项目中,ReSharper 允许将字符串字面量移动到 资源文件中。 ReSharper 还可以选择在所需范围内查找所有相同的字符串,并用资源的使用替换它们。 要执行此重构,您的项目中需要至少有一个资源文件(通常具有 .resjson 扩展名)。
您还可以使用专用快捷键 F6 调用此重构。
重命名
此重构允许您更改解决方案中任何符号或项目的名称。 所有对该符号的引用和使用都会自动更新。
您还可以使用专用快捷键 F2 调用此重构。
您可以使用此重构重命名以下 JavaScript 实体:对象字面量、对象字面量的属性、函数、函数参数、变量