如何在 VS Code 中移动到下一个/上一个变量引用?

Qui*_*ckz 9 typescript visual-studio-code

在 Visual Studio 中,使用 C# 时,我可以单击变量,按住CTRL+SHIFT并使用当前打开的脚本内的箭头键(向上和向下)在其引用之间移动。

在使用 TypeScript 时,如何在 VS Code 中执行此类操作?

sou*_*ned 9

我不会将它们称为引用,因为该术语通常用于编辑器中的其他内容,您可以使用以下任何一种:


无范围

editor.action.nextMatchFindAction默认F3

editor.action.previousMatchFindAction默认SHIFT+F3

如果findInputFocussed满足条件(意味着您已积极关注find输入(CTRL+ F),您可以简单地使用Enter输入来转到下一场比赛,使用SHIFT+Enter来参加上一场比赛,或者您可以继续使用相同的F3绑定;它们可以和谐地工作。

您也可以将它们重新映射到您正在使用的内容,不必保留它F3

此方法需要注意的是,如果未选择您的单词 并且已经存在与单词 不同的现有查询,则必须清除您的查找输入值才能使其工作。但是,如果您选择了单词,它会自动将单词放入查找输入框中 - 这实际上与当光标位于单词中时按CTRL+相同F


基于范围

与上面类似,没有查找/替换小部件,也没有那么多限制,但它仅限于“区域”。

此方法无限循环并且区分大小写。

editor.action.wordHighlight.next默认F7

editor.action.wordHighlight.prev默认SHIFT+F7


专门针对一种语言

如果您愿意,您可以覆盖这些以使用您习惯的CTRL+ SHIFT+Navigation,除了在中指定语言 id 以便仅when expression在打字稿中工作之外,在工作区中使用相同的键绑定以保持连续性可能会更好,因为这些按键绑定对于其他场景是相同的,例如当您在终端中时,经销商的选择;也各有各的。

keybindings.json这是一个快捷方式设置示例(如果您想复制,则必须输入您的快捷方式设置):

{
    "key": "ctrl+shift+down",
    "command": "editor.action.nextMatchFindAction",
    "when": "editorTextFocus && editorLangId == 'typescript'"
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


使用符号

Typescript 支持符号,因此如果您想根据范围进行搜索,可以使用:

workbench.action.gotoSymbol默认值Ctrl+ Shift+O


CTRL另一种相关的方法是使用+将下一个查找匹配添加到选择中D,这会添加下一个找到的匹配并选择它进行编辑(考虑多个光标)

命令ID:editor.action.addSelectionToNextFindMatch