有可能像Sublime Text一样启用多行编辑吗?

例如,按Ctrl键可以放置额外的游标插入符号,并且可以同时在文档中的多个位置进行写入/删除操作。


当前回答

我认为这取决于你的Visual Studio Code版本。

我的是Linux版本Visual Studio Code 1.7.2。

{ "key": "ctrl+shift+up",         "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+up",          "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "ctrl+shift+down",       "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+down",        "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" }

关键是所有机器的快捷方式都不一样,所以您应该检查您的配置。进入菜单:

菜单文件→首选项→键盘快捷键

搜索editor.action.insertCursorAbove和editor.action.insertCursorBelow并查看当前配置。如果它们与操作系统的快捷键冲突,您可以更改它们。

其他回答

在窗口中,您可以通过按下下面/前面的行创建额外的光标:

Ctrl + Alt + Shift +下/上

错过Shift会让你的屏幕翻转。

创建额外的游标将允许您一次编辑多行。

@maxime的解决方案使用SHIFT + ALT +我为我工作,当我需要快速编辑文件中的~20k行。大多数提到的其他快捷键只对有限的一行有用。选择你想要列编辑的区域,然后按SHIFT + ALT + i是最有效的处理方法。

但我无意中发现(这里还没有提到),“光标编辑模式”有10k行的限制(有一个开放的Github功能请求来增加它)。这意味着对于非常大的文件,编写脚本编辑可能比手动编辑更好。

对于像@ sample这样必须使用快捷键CTRL + SHIFT + L(默认绑定为Select all occurrences of current selection)来完成此操作的用户,您应该检查是否安装了键图扩展。您可以通过在扩展窗格中搜索@recommended:keymaps来检查,转到File > Preferences > keymaps (CTRL+K CTRL+M)。

默认的[Windows]键图可以在这里以PDF形式找到,或者你可以去文件>首选项>键盘快捷键找到/修改当前的绑定。这里还有更深入的键绑定文档。

对我来说,工作解决方案是首先选择需要编辑的文本,然后使用CTRL + F2选择页面中所有匹配的数据。 你也可以按照@lesterCovax的建议使用CTRL+Shift+L

请注意:上面的解决方案使用VSCode编辑器固有的能力在整个页面中选择类似的文本,因此,要小心。

对我来说,上面的Ctrl + ALT +箭头键的解决方案没有工作,因为它导致屏幕改变其显示方向,反对在VSCode中选择行。

1.43版(2020年2月)

你现在可以切换列选择模式,改变鼠标手势和方向键,通过:

菜单栏>选择>选择列的方式 Ctrl+Shift+P (Show All Commands) >切换列选择模式 绑定命令"editor.action.toggleColumnSelection"的键

注:激活后状态栏有“列选择”面板,按下可再次禁用。

好吧,我用Alt键选择我想编辑的行,就是这样。 或者,如果要编辑的东西在上面或下面,我们可以使用Ctrl + Alt + UP/DOWN箭头。