5

今天我想编辑遵循 Regex 模式的 SQL INSERT 中的所有站点。我意识到,如果我可以使用 Visual Studio Code 中的多光标功能,我可以一次进行大量更改。

例如,在下面的 SQL

INSERT INTO [dbo].[Location] (key, longName, shortName, oldRegion, contactId, email, city, state, zip, isActive)
VALUES
('GEORG','Georgian College','GEORG','1A','1271','globalint@school.edu','Barrie','ON','L4M 3X9','1'),
('LOYAL','Loyalist College','LOYAL','2A','1271','globalint@school.edu','Belleville','ON','K8N 5B9','0')
-- etc.

contactIdand并不是真正的isActivevarchars,我可以用正则表达式找到它们'\d+',但我不知道如何使用键盘命令或快捷键将光标设置到每个位置。你会怎么做?

4

1 回答 1

22

如何在所有 RegEx 查找结果的末尾放置多个光标

ALT+ENTER是您所追求的(感谢Mark)。

要查找此键绑定或类似键绑定,请打开键盘快捷键并搜索findWidget与 + 一起使用CTRL的命令F,或searchViewletCTRL+ SHIFT+一起使用的命令F

这些键绑定对 VSCode 和Azure Data Studio都很有用,并且可以自定义。

您的案例的完整示例

对于您的示例,您可以通过以下键盘命令执行此操作:

  1. CTRL+ F(查找)
  2. ALT+ RtoggleFindRegex命令)
  3. '\d+'(要找什么)
  4. ALT+ ENTER(添加光标;editor.action.selectAllMatches命令)

-或者-

  1. CTRL+ SHIFT+ L(添加光标;editor.action.selectHighlights命令)
  2. ESCcloseFindWidget命令)

现在下面的文本应该有四个闪烁的光标(在匕首处),您可以在其中编辑您的内容!

INSERT INTO [dbo].[Location] (key, longName, shortName, oldRegion, contactId, email, city, state, zip, isActive)
VALUES
('GEORG','Georgian College','GEORG','1A','1271','globalint@school.edu','Barrie','ON','L4M 3X9','1'),
('LOYAL','Loyalist College','LOYAL','2A','1271','globalint@school.edu','Belleville','ON','K8N 5B9','0')
-- etc.
于 2020-09-11T20:34:05.493 回答