【发布时间】:2018-03-02 16:49:05
【问题描述】:
在 vs 代码中我有以下文件
1
2
3
a
b
c
现在我执行以下步骤
- 剪切 a b c 行。
- 选择第 1、2、3 行,然后进入多光标模式(shift、alt I)。
- 到每个数字的末尾按并输入 a ,然后粘贴。
结果是
1, a
b
c
2, a
b
c
3, a
b
c
但我想要的结果是
1, a
2, b
3, c
【问题讨论】:
在 vs 代码中我有以下文件
1
2
3
a
b
c
现在我执行以下步骤
结果是
1, a
b
c
2, a
b
c
3, a
b
c
但我想要的结果是
1, a
2, b
3, c
【问题讨论】:
也请查看 Mark 的好答案。他提到也应该考虑对 VS Code 进行一些更新。
使用Shift+Alt+I,您还需要在多光标模式下剪切文本:
1回车2回车3回车输入a输入b输入c
Shift+↑↑
Shift+Alt+I
Shift+←
Ctrl+X
↑↑↑↑→
,
Ctrl+V
从1.23.1 April update 开始,可以使用更方便的鼠标中键选择。
使用光标和键盘, 在多光标模式下按住 Ctrl+Shift 的同时,不要像往常一样剪切线条,而是从光标的末尾选择到开头。使用 Ctrl+X 剪切文本后,按住 Ctrl+Shift 再次使用多个光标进行选择。然后,键入 , 并按照您的描述使用 Ctrl+V 进行粘贴。
您也可以使用 Ctrl+Alt+Shift 和方向箭头来选择多个光标,
【讨论】:
不久前显然添加了此功能。您可以简单地剪切到剪贴板,然后粘贴到多个光标 - 如果剪贴板上的行数与多个光标相同 - 每个光标将从剪贴板中获取一行。
您不再需要在多光标模式下进行剪切,或者将文本放到剪贴板上。 剪掉就好了。
演示:
不幸的是,gif在选择1,2,3,后截断了完整的命令。然后,您要做的是在所选内容的每一行末尾放置一个光标。命令:Add Cursors to Line Ends Shift+Alt+I。
VSCode 1.39 添加了这个设置:
编辑器:多光标粘贴
当粘贴文本的行数与 光标计数。
"editor.multiCursorPaste": "spread"
它会做你想做的。
还有第二个选项full,每个光标都将获取整个剪贴板文本。见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_39.md#new-option-for-multi-cursor-pasting。 full 选项的演示:
来自multi-cursor paste release notes:
多光标粘贴的新选项
过去,当从剪贴板粘贴多行文本时,VS Code 将检查剪贴板文本行数是否与光标数匹配, 如果是这样,它会将每一行“分发”/“传播”到游标。 此行为现在可以通过 editor.multiCursorPaste 设置进行调整, 可以有以下值:
spread - Each cursor pastes a line of text (default).
full - Each cursor pastes the full clipboard text.
【讨论】:
Shift+Alt+I。将光标添加到所选内容的行尾。