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

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


当前回答

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

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

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

其他回答

适用于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/ upparrow Super+Shift+PgDown/PgUp, Ctrl+Alt+Shift+DownArrow/ upparrow

它们可以很容易地重置工作,只有一个快捷方式在设置>设备>键盘 以“移动到上面的工作区”为例,只需再次输入Super+PgUp。

现在在fedora29中有了更少重复的快捷方式,linux上的所有vscode快捷方式都可以正常工作

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


ctrl + D

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

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

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

从菜单转到:

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

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

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

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