Visual Studio Code中的多行编辑

是否可以像崇高文本中那样启用多行编辑?

例如,按Ctrl放置额外的光标插入符号,并能够一次在文档中的多个位置写入/删除。

880505 次浏览

在Windows上,按住Ctrl+Alt,同时按下向上或向下箭头键以添加光标。

Mac:选择+Cmd+/

Linux:Shift+Alt+/

请注意,第三方软件可能会干扰这些快捷方式,阻止它们按预期工作(特别是Windows上的英特尔HD图形软件;有关更多详细信息,请参阅注释)。

如果遇到此问题,您可以禁用Intel/其他软件热键,或修改VS Code快捷方式(如下所述)。

Esc重置为单个光标。

Visual Studio Code中的多行游标

或者,正如伊西多·尼科利奇所指出的,您可以按住Alt并左键单击以任意放置光标。

在Visual Studio Code中任意放置的多行游标

您可以通过以下方式查看和编辑键盘快捷键:

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

文档:

https://code.visualstudio.com/docs/customization/keybindings

官方VS Code键盘快捷键备忘单:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

您可以只Alt+单击其他光标。如前所述,Ctrl+Alt+

在Mac上是:

选项+命令同时按下向上或向下箭头键。

(Windows 10 pro x64)这里有一些方法!

  1. Alt+点击

  2. Alt+按Ctrl+up/down

  3. 键绑定:Ctrl+click(???它不起作用!)

在此处输入图片描述

我认为这取决于您的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.insertCursorAboveeditor.action.insertCursorBelow并查看您当前的配置。如果它们与操作系统的快捷键冲突,您可以更改它们。

框选择

Windows:转变+alt+鼠标左键

macOS:转变+选项+点击

这与Visual Studio Code是否具有框选择/多行编辑?中提到的相反。

我正在使用vScodevim扩展,所以我不确定这是否是一个常见的问题。但是,我遇到了Ctrl+Alt+向上箭头颠倒屏幕的问题。

看看Visual Studio代码基础(我不知道他们是否在最近的更新中改变了这一点),它说使用:

Ctrl+Alt+Shift+(向上/

版本1.13(2017年5月)开始,您最终可以更改创建多个游标的默认修饰符键(添加到设置):

"editor.multiCursorModifier": "ctrlCmd"

附言:从这一刻起的修饰符“跟踪链接”将是Alt

只需两步即可解决!

  1. Ctrl+F

  2. Alt+输入

它等于Sublime Text的Alt+F3


注意:对于macOS,+F后跟+enter等效于Sublime Text的++G

在此处输入图片描述

如果您使用的是Linux,则可能与Alt+点击冲突,这是“移动窗口”的默认值。

您可以转到菜单设置窗口行为窗口行为行动选项卡

只需删除Alt+(保持),它就会工作。

这是最好的方法,因为你不需要拿着两个+键来完成这样一个简单的任务。

使用Ctrl+D在Windows和Linux中使用相同单词的多单词编辑。

在Mac上使用CMD+D

在Visual Studio Code中,只需按Alt并将光标放在编辑位置(您要编辑的位置)并右键单击以选择。

我想选择多行并点击“某物”以使每个选择行都有一个光标(类似于Sublime Text中的Ctrl+Shift+L)。Visual Studio Code中的此操作称为“将光标添加到行尾”。

这在Visual Studio Code 1.51.1中进行了测试,适用于windowsmac

这里是方法:

  1. 选择要具有多个游标的行。
  2. 只需点击Alt+Shift-

现在每个选定的行都有一个光标。

截至2018年4月(版本1.23)您现在也可以使用鼠标中键进行多行选择/框选择。

步骤1:

选择要替换的单词。


步骤2:

使用Ctrl+F选择它的多次出现。


步骤3:

使用Alt+输入将光标设置在所有找到的事件上。


步骤4:

开始输入新单词。


或者在Mac上:

选择+点击在单击位置上设置光标。

在Windows中,以下组合适合我:

  • Ctrl+Shift+Alt+向下箭头
  • Ctrl+Shift+Alt+向上箭头

我正在使用崇高文本键映射,顶部答案提供的键绑定似乎不起作用:(可能是Visual Studio Code和sublime键映射之间的一些冲突。

推荐的键绑定由@韩为我工作(非常感谢!):

  • 使用Ctrl+Shift+向上/下来输入多行光标模式
  • 退出Esc

(旁注)下面是一个使用Emmet和多行光标的小示例(使用上面列出的这些键绑定启用和禁用):

在此输入图片描述

只需选择+单击即可在Mac上为我工作

在最新版本的Visual Studio Code中,您现在可以在按住选项(Windows上为Alt)的同时拖动光标,以在多行上选择同一列。

要启用此功能,请确保将editor.multiCursorModifier更改为如下所示:

"editor.multiCursorModifier": "ctrlCmd"

从Visual Studio Code发行说明1.32.0:

在以下视频中,选择从常规选择开始,然后按住Alt,直到释放鼠标按钮:

列选择改进示例:

我的设置:Windows 8.1 64位,Visual Studio Code版本1.33.1。

问题:与IntelHDGraphics 4000的键盘快捷键冲突

当我使用Visual Studio Code的默认快捷键(Ctrl+Alt+UPCtrl+Alt+)时,我遇到了一个问题。在我的情况下,这些命令分别以0和180旋转我的屏幕。它的发生是因为我的计算机上安装了图形英特尔应用程序。然后,我只是禁用这个应用程序的快捷键。

这里是帮助某人的教程。

除了所有的答案,还有一种方法。选择您想要的行,然后按:

  • Windows:Shift+Alt+
  • Mac:转变+选项+

这会在所选内容的每一行中放置一个光标。

当我需要快速编辑文件中的20k行时,使用SHIFT + ALT + i来自@最大值的解对我有用。提到的大多数其他键盘快捷键仅对有限数量的行有用。SHIFT选择要编辑列的区域,然后按SHIFT + ALT + i是处理此问题的最有效方法。

不过,我偶然发现的(这里还没有提到)是光标编辑模式下有10k行的限制(有一个开放的GitHub功能请求可以增加它)。这意味着对于非常大的文件,最好编写编辑脚本,而不是手动执行。

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

默认的[Windows]键映射可以在PDF表单这里中找到,或者您可以转到File > Preferences > Keyboard Shortcuts查找/修改当前绑定。还有更深入的键绑定留档这里

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

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

对我来说,上面的解决方案Ctrl+ALT+箭头键不起作用,因为它导致屏幕改变其显示方向,而不是选择VSCode中的行。

在此处输入图片描述

版本1.43(2020年2月)

您现在可以通过以下方式切换列选择模式,该模式会更改鼠标手势和箭头键:

  • 菜单栏>选择>列选择模式
  • Ctrl+Shift+P(显示所有命令)>切换列选择模式
  • 为命令"editor.action.toggleColumnSelection"绑定密钥

在此处输入图片描述

注意:激活后状态栏中有一个“列选择”面板,您可以按下该面板再次禁用它。

在LinuxFedora(我尝试过Fedora 31)和KDE上,转到:

  1. 系统设置
  2. 窗口管理
  3. 窗口行为
  4. 窗口操作
  5. 内窗口、标题栏和帧操作
  6. 点击左键点击框
  7. 选择什么都不做(替换移动/拖动)

现在您可以使用Alt+左键单击选择多行!

我在Windows 10中使用最新版本的VS代码,即1.46.1(2020年5月)。只需在您要选择的行上按Alt+mouse left click。这将让您一次选择多行并让您编辑它们。还按Esc退出它。如果你来自崇高的文本,这真的很有帮助。

对我来说Alt+ Middle Click(滚轮)工作正常你必须点击Alt然后长按 Middle Click然后滚动向上

(没有老鼠)对于macOS,我发现这非常快!

  1. CMD+f要搜索要更改的(单词)。
  2. Option+Enter选择您搜索的所有单词。

只需更新第一个单词,它就会更新所有选定的单词。

在windows…

  1. 选择一条线您要在任何地方进行更改。(用鼠标光标
  2. CTRL+F2,您将立即开始编辑所有线路

窗户上,您可以通过按下:

Ctrl + Alt + Shift + Down/Up

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

创建其他游标将允许您一次编辑多行。

根据 VS 代码1.55.2版本(2021)在 用户 > 常见问题二手部分有一个选项为 Multi Cursor Modifierenter image description here

对于 多光标多光标默认键是 alt,如果你想它可以改为 Ctrl。 此外,对于合适的地方,你可以 等等Middle Mouse button向下移动

  • 在任何文本位置添加多个游标 这是通过使用 Ctrl + Click完成的。首先你必须启用 多光标修饰符。只需在 命令调色板上通过 Ctrl + Shift + P键入此选项即可启用它。

  • 从多个文本位置移除光标。 对光标执行 Ctrl + Click操作。

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

答案很简单:

  1. 为 VisualStudio 代码安装 多线技巧扩展
  2. 选择行并按 Alt+Shift+L(Windows/Linux)或 Option+Shift+L(Mac)