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

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


当前回答

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

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

其他回答

你要找的命令是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。

如果你来自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

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

从vscode市场安装插件重复选择或行

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

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

注意:快捷方式也重复行,所以如果你安装它,删除你之前的copyLinesDownAction上的ctrl+d快捷方式(如果你之前做过),否则重复选择可能会出错。

在VScode中,他们称之为向上复制行和向下复制行

从菜单转到:

文件>首选项>键盘快捷方式

检查已经分配的键盘快捷键,或调整你的。

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

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

CMD + shift + d现在在vs code中具有相同的结果。