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

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


当前回答

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

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

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

其他回答

对于迁移到VSCode的Jetbrains IDE用户。 安装(人):

JetBrains IDE Keymap:扩展 扩展(首选)

使用这个Intellij Darcula主题:扩展 键图涵盖了VS Code的大部分快捷键,使VS Code更像JetBrains IDE。 以上扩展从JetBrains导入到VS Code的键绑定。安装扩展并重新启动VS Code后,您可以像IntelliJ IDEA, Webstorm, PyCharm等一样使用VS Code。

在MacOS中,我通常使用:

复制上面的行shift + option +↑ 复制行下面的shift + option +↓

对于Linux用户:我注意到在Linux上你经常需要使用win键。Windows组合为: CTRL + shift + Alt + up

Linux也一样,只需要添加win键: CTRL + shift + win + Alt + up

我注意到现在有几个组合是这样的。说ctrl + alt + L锁定Linux,但ctrl + win + alt + L为Intellij格式的代码。在Windows下只需按ctrl + alt + L来格式化代码。

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

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

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