我有这种简单的情况。我想重构角色变量的名称:
看起来Visual Studio Code足够聪明,可以知道不应触摸URL中的“角色”。
我只想在单个文件中,单个作用域中重构变量的名称,而不是整个文件,也绝对不能重构多个文件!
如果使用Ctrl+ H,它将带我进入菜单,默认情况下,该菜单将在多个文件或整个单个文件中重构名称,但我只想在单个函数作用域中重构名称!
Answers:
使用重命名符号代替标准的查找/替换。F2默认情况下,重命名绑定。
重命名符号将知道仅触摸roles
您示例中的本地引用。Visual Studio Code附带了对JavaScript和TypeScript的重命名支持。其他语言可能需要安装语言扩展。
a.SomeValue:string
,b.SomeValue:number
并SomeValue
使用ctrl + F2更改a的属性,则它还将重命名该属性的b,即使它们是不同的类型,“重命名符号”也只会重命名该类型的属性
使用重命名符号。默认情况下使用Ctrl+定义F2。
但是,请记住,要更改的变量,定义,函数等将在文件本身而不是范围中进行更改。Visual Studio Code暂时没有实现在范围内重命名变量(例如,函数内部的变量)的实现。所以记住这一点。
要打开用户和工作区设置,请使用以下Visual Studio Code菜单命令:
在Windows / Linux上:菜单文件→首选项→设置。在macOS上:代码→首选项→设置。
您也可以使用“首选项”从命令面板(Ctrl+ Shift+ P)打开“设置”编辑器,打开“设置”或使用键盘快捷键(+ )。Ctrl,
在搜索栏中,输入settings.json
,然后在下面的代码中添加以下代码:
{
"command": "editor.action.changeAll",
"key": "ctrl+f2",
"when": "editorTextFocus && !editorReadonly"
}
和
{
"command": "editor.action.rename",
"key": "f2",
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
}
在绑定中。
F2似乎适用于所有文件,而Ctrl+F2仅适用于当前文件。
keybindings.json
而不是settings.json
?