【问题标题】:VSCode select next occurrence of variableVSCode 选择下一次出现的变量
【发布时间】:2022-07-30 09:00:37
【问题描述】:

在 Mac 上的 VSCode 中,我可以使用键盘快捷键 Cmd + D 来选择我当前突出显示的文本的下一个匹配项。

例如,如果我在以下代码的第 1 行突出显示变量 order,点击 Cmd + D 会导致第 2 行的 order_form 部分突出显示,再次点击 Cmd + D 会导致 order在第 3 行突出显示。

1. order = "Some string"
2. order_form = create_form()
3. return "Here is your order: " + order

但是,我只想在第 1 行和第 3 行选择实际变量 order(即排除作为变量 order_form 一部分的文本)

我可以使用什么键盘快捷键来突出显示第 1 行和第 3 行名为 order 的实际变量?

【问题讨论】:

  • 如果您选择带有Shift_Arrow 然后Ctrl+D 的文本,它将找到该文本的所有出现。如果将光标放在单词order(未选择字符)上并按Ctrl+D,它将选择当前单词,下一个Ctrl+D 将仅选择单词实例

标签: visual-studio-code keyboard-shortcuts


【解决方案1】:

Ctrl+D 功能在“幕后”使用当前的 Find 小部件设置 - 无论 Find 小部件是否可见。

因此,如果在您开始 Ctrl+D'ing 之前首先在该 Find 小部件中启用了 Whole Word 选项,您将获得所需的行为。

或者,正如下面的演示所示,当您将光标放在您想要的单词 order 上时,您可以点击 Alt+W 这将切换 @987654325 @ 选项打开和关闭。请注意编辑器右上角打开的小框,它仅显示“查找”选项。

然后,您使用 Ctrl+D 找到的所有下一个匹配项将仅在 Whole Word 选项仍然启用的情况下找到您想要的。

如果你想跳过这些事件中的任何一个,你可以使用命令

Add Selection To Previous Find Match
editor.action.addSelectionToPreviousFindMatch

(您必须为其制作自己的键绑定)。只需触发该命令即可跳过下一个可能的匹配项 - 所以请遵循以下顺序:

  1. Ctrl+D 在第一个order
  2. Alt+W 启用全词匹配
  3. 触发命令Add Selection To Previous Find Match
  4. Ctrl+D 选择下一个order

这听起来有点麻烦,但它们是要知道的常见命令 - 跳过下一个匹配并切换全字匹配。

[以查找选项打开的那个小框有点小故障,因为它有时似乎也启用了区分大小写选项 - 在您的示例中这不是问题。]

【讨论】:

  • 感谢马克的回答,非常感谢!抱歉,我应该在最初的问题中更清楚地说明这一点,但是是否也可以避免选择第 3 行字符串中包含的文本“order”——即只获取实际变量 order 行1和3?
  • 是的,但是您必须将另一个命令(跳过下一个查找匹配项)合并到您的步骤中。我编辑了答案以显示该命令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 2017-04-02
  • 2014-01-27
  • 2021-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多