如何在Visual Studio代码中复制行或选择?

时间:2015-05-13 00:38:41

标签: editor visual-studio-code keyboard-shortcuts

使用Microsoft的Visual Studio Code,如何复制一行代码然后上下移动? (类似于Sublime< kbd> cmd + shift + d 行为)

这是我经常使用的一项功能,如果没有它,我正在努力使用Visual Studio Code。

19 个答案:

答案 0 :(得分:892)

您要查找的命令是editor.action.copyLinesDownActioneditor.action.copyLinesUpAction

您可以通过选择以下内容来查看相关的键绑定:文件>偏好>键盘快捷键

Windows:

Shift + Alt + Down Shift + Alt + 向上

<强>的Mac:

Shift + 选项 + 向下 Shift + 选项 向上

<强> Linux的:

Ctrl + Shift + Alt + Down Ctrl + + 替代 + 向上

(可能需要使用numpad Down Up for Linux)

此外,命令editor.action.moveLinesUpActioneditor.action.moveLinesDownAction是移动线条的命令,它们绑定到 Alt + Down Alt在Windows和Mac上 + 向上 Ctrl + 向下 Ctrl + 向上< / kbd>在Linux上。

答案 1 :(得分:142)

您可以从

找到键盘快捷键
  

档案&gt;偏好&gt;键盘快捷键

默认键盘快捷键是,

复制换行 shift + alt + down

复制排队行动 shift + alt + up

向上移动行动 alt + 向上

向下移动行动 alt + 向下

或者您可以从

覆盖键盘快捷键
  

档案&gt;偏好&gt;键盘快捷键

编辑 try { conn.Open(); pendingStatusList = cmdPendingStatus.ExecuteReader(); if (pendingStatusList.HasRows) { while (pendingStatusList.Read()) { lstPendingRequestId.Add(pendingStatusList["ColumnName"]); } } }

示例:

keybindings.json

答案 2 :(得分:23)

在VScode中,他们称之为Copy Line UpCopy Line Down

从菜单中,转到:

  

档案&gt;偏好&gt;键盘快捷键

检查已指定的键盘快捷键,或调整您的。

有时默认分配的快捷方式可能不起作用,主要是因为操作系统。

在我的Ubuntu中,我将其调整为: Ctrl + Shift + D

enter image description here

答案 3 :(得分:17)

它错过了这个问题的答案,“如何重复选择代码” 类似于Sublime的 cmd / ctrl + shift + d 或Jetbrains的 cmd / ctrl + d 行为。

从VS Code Marketplace安装插件重复的选择或行

Duplicate selection or line VS Code plugin

此扩展为 ctrl + d (Windows / Linux)和 cmd + d (MacOS)提供了绑定)。要自定义键盘快捷键首选项->键盘快捷键:

{
  "mac": "cmd+d",
  "key": "ctrl+d",
  "command": "geeebe.duplicateText",
  "when": "editorTextFocus"
}

注意:快捷方式也会执行重复的行,因此,如果安装了该重复行,请删除{{1上的以前的 ctrl + d }}(如果您之前做过),否则重复选择可能会出错。

答案 4 :(得分:15)

尝试 ALT + SHIFT + UP / DOWN

它对我有用!

答案 5 :(得分:10)

VSCode 中, Ctrl + C Ctrl + V 复制整行在下面。

我更喜欢这个答案,因为它只需要一只手就能做到,而且感觉更自然。

对于大多数人来说,可接受的答案可能会做到这一点,但是 Down 位于键盘的另一侧。 因此,您有两个选择,双手都可以使用(左手: L Shift + L Alt +右手:上/下),或者单手使用右 R Shift + R Alt + 上/下。我认为第二种选择很奇怪。我宁愿使用我的手自然放在键盘上的选项,如果用一只手,甚至更好。

答案 6 :(得分:9)

请注意,对于Ubuntu用户(&lt; = 17.4),Unity使用CTRL + ALT + SHIFT + Arrow Key来跨虚拟工作区移动程序,这与VS Code快捷方式。您需要重新绑定editor.action.copyLinesDownActioneditor.action.copyLinesUpAction以避免冲突(或更改工作区键绑定)。

对于使用GNOME的Ubuntu 17.10+,根据其文档似乎GNOME does not use this keybinding in the same way,但如果有人在17.10上使用vanilla工作区可以证实这一点,那么对未来的求职者来说可能会有所帮助。

答案 7 :(得分:9)

只需转到文件->首选项->键盘快捷键 您可以在此处更改所需的任何快捷方式。搜索重复项并将其更改为您在其他编辑器中始终使用的内容。我改为ctrl + D

答案 8 :(得分:5)

如果您来自Sublime Text并且不想重新学习新的键绑定,则可以将此扩展用于Visual Code Studio。

  

VS代码的Sublime文本键映射

     

此扩展程序将最受欢迎的Sublime Text键盘快捷键移植到Visual Studio Code。安装扩展程序并重新启动VS代码后,您可以使用Sublime Text中最喜欢的键盘快捷键。

https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings

答案 9 :(得分:5)

对于以前使用过任何聪明的 Jetbrains IDE 组成的人来说,没问题,这些捷径已迁移到vscode,这没问题。

只需安装(Preferred is no. 2 extension):
1) JetBrains IDE键盘映射Extension
2) vscode-intellij-idea-keybindings Extension

  • 键盘映射涵盖了VS Code的大多数键盘快捷键,并使VS Code更像“ JetBrains IDE ”。

  • 以上扩展名将快捷键从JetBrains导入到VS Code。安装扩展并重新启动VS Code后,您可以像 IntelliJ IDEA,Webstorm,PyCharm 等一样使用VS Code。

答案 10 :(得分:3)

如果未选择任何内容或复制所选单词,此键盘映射将复制当前行

  1. 访问:

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

  2. 在右上角,点击打开键盘快捷键 (JSON)

  3. 插入此键映射:

     {
       "key": "shift+alt+d",
       "command": "editor.action.duplicateSelection"
     }
    
  4. 使用alt+向上/向下箭头移动线(VS Code的默认行为)。

答案 11 :(得分:2)

直接行复制(没有剪贴板步骤)由Contextual Duplicate扩展名提出。

它映射在 ctrl + K D

答案 12 :(得分:1)

对于Fedora 29工作站(Gnome 3.30.2)和Ubuntu用户。

取消绑定不必要的左右工作区键盘组合,按终端列出

$ gsettings list-recursively | grep -E "org.gnome.desktop.wm.keybindings move-to-workspace-|org.gnome.desktop.wm.keybindings switch-to-workspace-"

解除绑定

$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "[]"

重置重复的快捷方式

  • Super + Pgdown / PgUp,Ctrl + Alt + DownArrow / UpArrow
  • Super + Shift + PgDown / PgUp,Ctrl + Alt + Shift + DownArrow / UpArrow

通过“设置”>“设备”>“键盘”中的一个快捷键,可以轻松重置它们以使用 仅以“移至上方工作区”为例再次输入Super + PgUp。

enter image description here

现在fedora29中的重复快捷键较少,所有vscode shortcuts for linux都可以正常工作

答案 13 :(得分:1)

对于那些从WebStorm / PhpStorm迁移的人,

您可以像在Webstorm / Phpstorm中一样安装 IntelliJ IDEA Keybindings 以继续使用几乎所有键盘快捷键。

所以

  • 重复的行=> CTRL + D
  • 上移/下移代码= / Ctrl + Shift + UP / DOWN

此外,这是 recommended VS Code extensions 的列表,这将使您从WebStorm / Phpstorm的过渡更加容易。

答案 14 :(得分:1)

问题

Ubuntu上原始的“复制行向下”快捷方式似乎存在问题,主要是由于与操作系统上已经存在的与工作空间相关的快捷方式冲突。

解决方法

但是,一个简单的解决方法是简单地ctrl+c(复制整个行)和ctrl+v(将复制的行粘贴到新行上)...有效地,为您提供相同的最终结果

答案 15 :(得分:0)

重复行:alt + shift + /

上移/下移:alt + /

答案 16 :(得分:0)

对于Linux用户:我注意到您在Linux上经常需要使用 win 密钥。对于Windows组合是:
ctrl + shift + alt + up

然后对于Linux来说一样,只需添加 win 键:
ctrl + shift + win + alt + up

我注意到现在有几个连击。说 ctrl + alt + L 锁定Linux,但是 ctrl + win + < kbd> alt + L 用于Intellij格式代码。在Windows下,只需 ctrl + alt + L 即可格式化代码。

答案 17 :(得分:0)

对于 Windows

要复制-> shift + alt +向上

要向下复制-> shift + alt +向下

对于 mac

要复制-> Shift + Option +向上

要向下复制-> Shift + Option +向下

对于 linux

要复制-> ctrl + shift + alt + 8

要向下复制-> ctrl + shift + alt + 2

注意:您可以更改Visual Studio代码的键盘快捷键绑定 按下 ctrl + shift + p ,然后在托盘中键入打开键盘快捷键,然后按Enter 因此将打开新文件(键盘快捷方式文件) 您可以查看其所有快捷方式,并可以通过以下方式更改快捷键:在相应的快捷键上单击两次,然后输入自己的快捷键,最后按Enter。

希望这对某人有帮助!

答案 18 :(得分:-1)

在我的上一版本Visual Studio Code 1.30.2中 它将自动更改为


ctrl + D