【问题标题】:vscode multicursor reorder lines how tovscode多光标重新排序行如何
【发布时间】:2020-10-17 20:51:41
【问题描述】:

我发现 vscode 多光标编辑模式的一个常见问题是如何处理不同长度的“字段”。举个例子:-

我有一个包含多行表单的 sql 文件

INSERT INTO settings (name,value) VALUES('key_for_value', 'value_to_set'); -- a comment about this setting

我想变成什么

UPDATE settings SET name = 'value_to_set' WHERE name = 'key_for_value'; -- a comment about this setting

显然'key_for_value''value_to_set' 在每一行中的长度不同。

它相当容易抓住INSERT INTO... 的第一行,并使用 control-D 从那里获取多个光标,然后编辑这些行以到达 UPDATE settings SET name = 但后来我被卡住了 - 我可以' t 找到一个键绑定(例如)跳转到下一个逗号 - 然后开始选择并跳转下一个右圆括号。然后我可以进行多行剪切,将光标移回行首,再向前移动到 = 符号之后并进行多行粘贴。

这种事情可能吗?

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    你可以用正则表达式搜索替换

    搜索

    INSERT INTO (\w+) \((\w+),(\w+)\) VALUES\('([^']+)', '([^']+)'\);(.*)
    

    替换为

    UPDATE $1 SET $2 = '$5' WHERE $2 = '$4';$6
    

    【讨论】:

    • 我没想到替换选项,这么简洁。但是,如果有一种方法可以使用多个游标,我也想了解一下。我希望在选择打开的情况下跳到下一个单词,然后剪切和粘贴列,可能是通过扩展。
    • @akc42 Ctrl+Arrow 适用于多光标,但某些字符会打断单词,然后您会出现错位
    猜你喜欢
    • 2018-11-25
    • 1970-01-01
    • 2021-02-27
    • 2021-05-07
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多