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

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


当前回答

它错过了这个问题的答案,“如何复制代码的选择”类似于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快捷方式(如果你之前做过),否则重复选择可能会出错。

其他回答

对于从WebStorm/PhpStorm迁移的用户,

你可以安装IntelliJ IDEA Keybindings来继续使用几乎所有的键盘快捷键,就像你在Webstorm/Phpstorm中所做的那样。

So,

重复的行=> CTRL + D 移动一行/选择的代码向上/向下=> Ctrl + Shift +向上/向下


另外,这里有一个推荐的VS Code扩展列表,可以让你从WebStorm/Phpstorm过渡得更容易。

你可以找到快捷键

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

默认的快捷键是,

向下复制行动作:shift+alt+向下

动作:shift+alt+向上

移动队列动作:alt+向上

向下移动线条动作:alt+向下

或者你可以覆盖键盘快捷键从

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

编辑keybindings.json

例子:

[
    {
        "key": "ctrl+d",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+up",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+down",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus"
    }
]

只需转到文件->首选项->键盘快捷键 在那里你可以更改任何你喜欢的快捷方式。搜索重复的内容,并将其更改为您在其他编辑器中经常使用的内容。我改为Ctrl+D

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

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

从菜单转到:

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

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

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

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