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

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


当前回答

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

与公认的答案相比,我更喜欢这个,因为它只需要一只手来做这个,而且感觉更自然。

公认的答案可能对大多数人都适用,但键盘的另一边是“下”。 所以你有两个选择,使用双手(左手:L Shift+L Alt+右手:上/下),或单手使用右R Shift+R Alt+上/下。在我看来,第二种选择很奇怪。我宁愿使用手自然地放在键盘上的选项,如果是一只手,那就更好了。

其他回答

按Ctrl + c + v这些键在一起,而不是分开的窗口

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


ctrl + D

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

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

你要找的命令是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的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快捷方式(如果你之前做过),否则重复选择可能会出错。