如何在每个查找结果的VSCode中设置多个光标 如何在所有RegEx发现的末尾放置多个光标针对您的情况的完整示例

问题描述

今天,我想编辑遵循Regex模式的sql INSERT中的所有停靠点。我意识到,如果我可以使用Visual Studio Code中的multi cursor功能,那么我可以一次进行大量更改。

例如,在以下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','Belleville','K8N 5B9','0')
-- etc.

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

解决方法

如何在所有RegEx发现的末尾放置多个光标

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

要查找此或类似的键绑定,请打开Keyboard Shortcuts并搜索findWidget以查找与CTRL + F一起使用的命令,或搜索searchViewlet以查找与{ CTRL + SHIFT + F

这些keybinding对于VSCode和Azure Data Studio都是有用的,并且可以自定义。

针对您的情况的完整示例

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

  1. CTRL + F (查找)
  2. ALT + R toggleFindRegex命令)
  3. '\d+'(查找内容)
  4. ALT + ENTER (添加光标; editor.action.selectAllMatches命令)

-或-

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

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

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','Belleville','K8N 5B9','0'?)
-- etc.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...