使用 VisualStudio 代码重构局部变量名

我有一个简单的情况,我想重构 role 变量的名称:

Enter image description here

看起来 VisualStudio 代码足够聪明,知道不应该触及 URL 中的“角色”。

我只想在单个文件中重构变量的名称,在单个作用域中,而不是整个文件,更不是多个文件!

如果我使用 Ctrl + H,它会把我带到一个菜单,默认情况下重构的名称在多个文件或整个单一的文件,但我只想重构的名称在一个单一的功能范围!

136149 次浏览

默认情况下,使用 重命名符号而不是标准的 find/place. Rename 绑定到 F2

重命名符号将知道只接触示例中的本地 roles引用。VisualStudio 代码附带对 JavaScript 和 TypeScript 的重命名支持。其他语言可能需要安装语言扩展。

使用 重命名符号。它默认使用 Ctrl + F2定义。

但是,请记住,您正在更改的变量、定义、函数等等将在文件本身中更改,而不仅仅是范围。VisualStudioCode 目前没有重命名作用域中变量的实现(例如,函数中的变量)。记住这一点。

VisualStudio 代码-更改所有事件

对于 macOS 用户: 使用 Fn + + F2重命名代码块内的变量。

若要打开用户和 工作区设置,请使用以下 VisualStudio 代码菜单命令:

Windows/Linux: 菜单 档案偏好设定

你也可以使用 偏好从命令面板(Ctrl + Shift + P)打开设置编辑器,打开 设定或者使用快捷键(Ctrl + ,)。

Enter image description here

在搜索栏中,输入 keybindings.json,并添加以下代码:

{
"command": "editor.action.changeAll",
"key": "ctrl+f2",
"when": "editorTextFocus && !editorReadonly"
}

还有

{
"command": "editor.action.rename",
"key": "f2",
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
}

在键盘上。

F2似乎可以跨所有文件工作,而 Ctrl + F2只能在当前文件中工作。