问题描述
今天,我想编辑遵循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.
contactId
和isActive
并不是真正的varchars,我可以用'\d+'
的正则表达式找到它们,但我不知道如何将游标设置为每个点键盘命令或快捷方式。你会怎么做?
解决方法
如何在所有RegEx发现的末尾放置多个光标
ALT + ENTER 是您要追求的(感谢 Mark )。
要查找此或类似的键绑定,请打开Keyboard Shortcuts并搜索findWidget
以查找与CTRL
+ F
一起使用的命令,或搜索searchViewlet
以查找与{ CTRL
+ SHIFT
+ F
。
这些keybinding对于VSCode和Azure Data Studio都是有用的,并且可以自定义。
针对您的情况的完整示例
对于您的示例,您可以通过以下键盘命令执行此操作:
- CTRL + F (查找)
- ALT + R (
toggleFindRegex
命令) -
'\d+'
(查找内容) - ALT + ENTER (添加光标;
editor.action.selectAllMatches
命令)
-或-
- CTRL + SHIFT + L (添加光标;
editor.action.selectHighlights
命令) - 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.