问题描述
我在 VSCode (cmd-d
/ctrl-d
) 中经常使用多个游标。
要退出多光标模式并进入正常的单光标模式,可以使用esc
。
但是,这会将光标移回第一个选定的单词。 我希望光标停留在最后选定的单词上。
是否有快捷方式/设置可以做到这一点?
示例:
L01 foobar = 42
...
L99 foobar = 99
当我从 L01 开始时,foobar 上的 ctrl-d
,再次 ctrl-d
我在 L01 和 L99 上有多个光标。在 esc
之后,我将在 L01 上有单个光标。我想在 L99 上有单光标。
注意:How to navigate back to the last cursor position in Visual Studio Code? 对我没有帮助(它不适用于多个游标)
解决方法
使用扩展 Traversable
v1.3.1 和命令 moveby.calculation
,您可以计算光标的新位置。通过使用 VSC 的折叠功能,您只剩下 1 个光标。
定义这个键绑定
{
"key": "ctrl+i escape","when": "editorTextFocus","command": "moveby.calculation","args": {
"lineNrEx": "selections[selections.length-1].start.line","charNrEx": "selections[selections.length-1].start.character"
}
}