Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 使用Visual Studio代码重构局部变量名_Visual Studio Code - Fatal编程技术网

Visual studio code 使用Visual Studio代码重构局部变量名

Visual studio code 使用Visual Studio代码重构局部变量名,visual-studio-code,Visual Studio Code,我的情况很简单。我想重构角色变量的名称: 看起来VisualStudio代码足够聪明,知道URL中的“角色”不应该被触碰 我只想在单个文件、单个范围内重构变量的名称,而不是整个文件,当然也不是多个文件 如果我使用Ctrl+H,它会将我带到一个菜单,默认情况下,该菜单会在多个文件或整个单个文件中重构名称,但我只想在单个函数范围中重构名称 使用而不是标准的查找/替换。默认情况下,重命名绑定到F2 在您的示例中,Rename symbol将知道仅接触本地角色引用。VisualStudio代码附带对J

我的情况很简单。我想重构角色变量的名称:

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

我只想在单个文件、单个范围内重构变量的名称,而不是整个文件,当然也不是多个文件

如果我使用Ctrl+H,它会将我带到一个菜单,默认情况下,该菜单会在多个文件或整个单个文件中重构名称,但我只想在单个函数范围中重构名称

使用而不是标准的查找/替换。默认情况下,重命名绑定到F2

在您的示例中,Rename symbol将知道仅接触本地
角色
引用。VisualStudio代码附带对JavaScript和TypeScript的重命名支持。其他语言可能需要安装语言扩展。

使用重命名符号。默认情况下,它是通过Ctrl+F2来定义的

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


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

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

在Windows/Linux上:菜单文件→ 偏好→ 设置。在macOS上:代码→ 偏好→ 设置

也可以使用首选项从命令选项板(Ctrl+Shift+p)打开设置编辑器,打开设置或使用键盘快捷键(Ctrl+,)

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

{
“命令”:“editor.action.changeAll”,
“键”:“ctrl+f2”,
“当”:“EditorExtFocus&&!editorReadonly”
}

{
“命令”:“editor.action.rename”,
“键”:“f2”,
“当”:“editorHasRenameProvider&&EditorExtFocus&&!editorReadonly”
}
在键绑定中


F2似乎可以在所有文件中使用,而Ctrl+F2仅在当前文件中使用。

man,有没有比F2键更简单的方法?那真的很难用。为什么没有更多的右键单击选项?右键单击符号。它应该在那里。您也可以将此设置为所需的任何键盘快捷键。如果当前语言服务器不支持此功能,则上下文菜单项不会显示。在我的示例中,上下文菜单项为CTRL+F2。我目前使用的是1.30.2版本,注意“更改所有事件”与“重命名符号”不同。“更改所有事件”似乎仅限于当前文档,“重命名符号”在项目中传播。除此之外,“更改所有事件”还将愉快地重命名不同对象的属性,如果它们的名称相同(例如,如果您有两个对象
a.SomeValue:string
b.SomeValue:number
,并使用ctrl+F2更改a的
SomeValue
属性,它也会重命名b的属性,即使它们是不同的类型。“重命名符号”将仅重命名该类型的属性。不知道在发布此答案后是否对其进行了更改,但当前有两个不同的命令:重命名符号(F2)和更改所有引用(Ctrl+F2)。聪明的一个,如果是我所知的第一个。只是补充一句,使用这个时要小心,我只是使用了它,它改变了整个项目中的每个实例,不仅仅是我正在处理的文件,vscode无法反转它,它只是出现了一个错误,说重构失败。感谢上帝,我只能说Git。你是说
keyb吗indings.json
而不是
settings.json
?谢谢。它在mac上对我有效。对我来说,只要
Fn+F2