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

这是一个我经常使用的特性,如果没有它,我很难使用Visual Studio Code。


当前回答

问题

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

解决方案

然而,一个简单的解决方法是简单的CTRL+C(复制整行)和CTRL+V(将复制的行粘贴到新的行上)…实际上,给你同样的结果。

其他回答

你要找的命令是editor.action.copyLinesDownAction和editor.action.copyLinesUpAction。

您可以通过选择文件>首选项>键盘快捷键来查看相关的键绑定

窗口:

Shift+Alt+下和Shift+Alt+上

Mac:

Shift+Option+Down和Shift+OptionUp

Linux:

Ctrl+Shift+Alt+Down和Ctrl+Shift+Alt+Up

(可能需要使用numpad向下和向上的Linux)

此外,命令editor.action.moveLinesUpAction和editor.action.moveLinesDownAction是移动行,它们在Windows和Mac上绑定为Alt+Down和Alt+Up,在Linux上绑定为Ctrl+Down和Ctrl+Up。

Windows操作系统:

复制向上- shift+alt+向上

向下复制- shift+alt+向下

对于mac:

复制向上- shift+选项+向上

向下复制- shift+option+向下

对于linux:

要复制向上- ctrl+shift+alt+8

复制- ctrl+shift+alt+2

注意:您可以更改visual studio代码的键盘快捷键绑定 通过按ctrl+shift+p,然后在托盘中键入打开键盘快捷方式,然后按enter 因此新文件将被打开(键盘快捷方式文件) 您可以在它们的快捷键上方看到所有的快捷键,并且可以通过在相应的键绑定上单击两次,然后输入您自己的键绑定,最后按回车键来更改键绑定。

希望这能帮助到一些人!

注意,对于Ubuntu用户(<= 17.4),Unity使用CTRL + ALT + SHIFT +箭头键在虚拟工作区中移动程序,这与VS Code快捷键冲突。您需要重新绑定editor.action.copyLinesDownAction和editor.action.copyLinesUpAction以避免冲突(或更改您的工作区键绑定)。

对于使用GNOME的Ubuntu 17.10+,根据它的文档,GNOME似乎没有以同样的方式使用这个键绑定,尽管如果在17.10上使用香草工作区的人可以确认这一点,这可能对未来的答案搜索者有帮助。

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

访问: 文件/参数/键盘快捷键 在右上角,单击打开键盘快捷键(JSON)。 插入这个keymap: { “关键”:“shift + alt + d”, “命令”:“editor.action.duplicateSelection” } 使用alt+箭头向上/向下移动行(VS Code的默认行为)。

如果你来自Sublime Text,不想重新学习新的键绑定,你可以使用Visual Code Studio的这个扩展。

Sublime Text Keymap for VS Code 这个扩展端口最流行的Sublime文本键盘快捷键到Visual Studio代码。安装扩展和重新启动VS Code你最喜欢的键盘快捷方式从Sublime文本现在可用。

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