繁体   English   中英

Visual Studio Code 中的多行编辑

[英]Multiline editing in Visual Studio Code

是否可以像Sublime Text那样启用多行编辑?

例如,按Ctrl键可以放置额外的 cursor 个插入符,并且可以一次在文档的多个位置写入/删除。

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

Mac: ⌥ Opt + ⌘ Cmd + /

Linux: Shift + Alt + /

请注意,第三方软件可能会干扰这些快捷方式,从而阻止它们按预期工作(尤其是 Windows 上的英特尔高清显卡软件;有关更多详细信息,请参阅评论)。

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

Esc重置为单个光标。

Visual Studio Code 中的多行光标

或者,正如 Isidor Nikolic 指出的那样,您可以按住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

只需两步即可解决!

  1. Ctrl + F

  2. Alt + Enter

它等于 Sublime Text 的Alt + F3

在此处输入图像描述

您只需Alt + 单击即可获得其他光标。 如前所述, Ctrl + Alt +

框选

Windows: shift + alt +鼠标左键

macOS: shift + option +单击

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

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

这是在 Visual Studio Code 1.51.1 中测试的,适用于WindowsMac

这是方法:

  1. 选择要具有多个光标的行。
  2. 只需按 Alt + Shift - I

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

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

对于 Mac 使用CMD + D。

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

"editor.multiCursorModifier": "ctrlCmd"

PS:从这一刻起,修饰语“关注链接”将是Alt

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

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

"editor.multiCursorModifier": "ctrlCmd"

从 Visual Studio Code 发行说明 1.32.0:

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

改进的列选择示例:

在 Mac 上是:

Option + Command同时按向上或向下箭头键。

步骤1:

选择要替换的单词。


第2步:

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


第 3 步:

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


第4步:

只需开始输入新单词。


或者在 Mac 上:

⌥ Opt +单击以将光标设置在单击位置上。

我正在使用vscodevim扩展,所以我不确定这是否是一个常见问题。 但是,我遇到了Ctrl + Alt + UpArrow将我的屏幕倒置的问题。

查看Visual Studio Code Basics (我不知道他们是否在最近的更新中更改了这一点),它说要使用:

Ctrl + Alt + Shift +(/

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

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

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

在此处输入图像描述

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

  1. Alt +单击

  2. Alt + Ctrl +/

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

在此处输入图像描述

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

1.43 版(2020 年 2 月)

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

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

在此处输入图像描述

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

  • 在任何文本位置添加多个光标 这是通过使用Ctrl + Click完成的。 首先,您必须启用Multiple-Cursor Modifier 只需通过Ctrl + Shift + P命令面板上键入此选项即可启用它。

  • 从多个文本位置删除光标。 执行Ctrl +单击光标。

根据用户 > 常用部分下的 VS Code 1.55.2 版本(2021),有一个选项为Multi Cursor Modifier 见下图。 在此处输入图像描述

对于多光标默认键是alt如果你想要它可以更改为Ctrl 此外,对于合适的位置,您可以按住Middle Mouse button并向下移动

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

  • Windows: Shift + Alt + i
  • Mac: shift + option + i

这会在选择的每一行中放置一个光标。

在 Windows 中,以下组合对我有用:

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

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

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

(无鼠标)对于 macOS,我发现这非常快!

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

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

如果您使用的是 Linux,则可能与Alt + click发生冲突,这是“移动窗口”的默认设置。

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

只需删除Alt +左键(按住)即可。

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

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

我正在使用Sublime Text键映射,而最佳答案提供的键绑定似乎不起作用:( Visual Studio Code 和 sublime 键映射之间可能存在一些冲突。

@Han推荐的键绑定对我有用(非常感谢!):

  • 使用Ctrl + Shift + Up / Down进入多行光标模式
  • Esc退出

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

在此处输入图像描述

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

问题:与 Intel HD Graphics 4000 的键盘快捷键冲突

我在使用 Visual Studio Code 的默认快捷方式( Ctrl + Alt + UPCtrl + Alt + DOWN )时遇到了问题。 就我而言,这些命令分别将我的屏幕旋转 0º 和 180º。 它正在发生,因为我的计算机上安装了 Graphic Intel 应用程序。 然后,我只是禁用此应用程序的快捷方式。

是一个帮助某人的教程。

windows 上,您可以通过按以下方式在下一行/上一行上创建额外的光标:

Ctrl + Alt + Shift +向下/向上

错过Shift会翻转你的屏幕。

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

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

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

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

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

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

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

在 Windows 上..

  1. 选择您要随处更改的一行 用鼠标光标
  2. CTRL + F2 ,您将立即开始编辑所有行

简单答案:

  1. 为 Visual Studio Code 安装多行技巧扩展
  2. Select 行并按Alt+Shift+L (Windows/Linux) 或Option+Shift+L (Mac)

在带有 KDE 的 Linux Fedora(我尝试使用 Fedora 31)上,转到:

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

现在您可以使用Alt + Left Click选择多行!

IMO,最简单的步骤是

Ctrl + F2

这对我有用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM