使用微软的Visual Studio Code,我如何复制一行代码,然后上下移动它?(类似于Sublime的cmd+shift+d行为)
这是一个我经常使用的特性,如果没有它,我很难使用Visual Studio Code。
使用微软的Visual Studio Code,我如何复制一行代码,然后上下移动它?(类似于Sublime的cmd+shift+d行为)
这是一个我经常使用的特性,如果没有它,我很难使用Visual Studio 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。
你可以找到快捷键
文件>首选项>键盘快捷方式
默认的快捷键是,
向下复制行动作: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"
}
]
如果你来自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
在VScode中,他们称之为向上复制行和向下复制行
从菜单转到:
文件>首选项>键盘快捷方式
检查已经分配的键盘快捷键,或调整你的。
有时默认分配的快捷方式可能不起作用,主要是由于操作系统。
在我的Ubuntu中,我将其调整为:Ctrl+Shift+D
注意,对于Ubuntu用户(<= 17.4),Unity使用CTRL + ALT + SHIFT +箭头键在虚拟工作区中移动程序,这与VS Code快捷键冲突。您需要重新绑定editor.action.copyLinesDownAction和editor.action.copyLinesUpAction以避免冲突(或更改您的工作区键绑定)。
对于使用GNOME的Ubuntu 17.10+,根据它的文档,GNOME似乎没有以同样的方式使用这个键绑定,尽管如果在17.10上使用香草工作区的人可以确认这一点,这可能对未来的答案搜索者有帮助。
在VSCode中,Ctrl+CCtrl+V复制下面的整行。
与公认的答案相比,我更喜欢这个,因为它只需要一只手来做这个,而且感觉更自然。
公认的答案可能对大多数人都适用,但键盘的另一边是“下”。 所以你有两个选择,使用双手(左手:L Shift+L Alt+右手:上/下),或单手使用右R Shift+R Alt+上/下。在我看来,第二种选择很奇怪。我宁愿使用手自然地放在键盘上的选项,如果是一只手,那就更好了。
它错过了这个问题的答案,“如何复制代码的选择”类似于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快捷方式(如果你之前做过),否则重复选择可能会出错。
适用于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快捷方式都可以正常工作
Windows操作系统:
复制向上- shift+alt+向上
向下复制- shift+alt+向下
对于mac:
复制向上- shift+选项+向上
向下复制- shift+option+向下
对于linux:
要复制向上- ctrl+shift+alt+8
复制- ctrl+shift+alt+2
注意:您可以更改visual studio代码的键盘快捷键绑定 通过按ctrl+shift+p,然后在托盘中键入打开键盘快捷方式,然后按enter 因此新文件将被打开(键盘快捷方式文件) 您可以在它们的快捷键上方看到所有的快捷键,并且可以通过在相应的键绑定上单击两次,然后输入您自己的键绑定,最后按回车键来更改键绑定。
希望这能帮助到一些人!
对于迁移到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。
对于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来格式化代码。
问题
Ubuntu上原来的“向下重复一行”快捷方式似乎有问题,主要是由于与操作系统上已经存在的与工作区相关的快捷方式冲突。
解决方案
然而,一个简单的解决方法是简单的CTRL+C(复制整行)和CTRL+V(将复制的行粘贴到新的行上)…实际上,给你同样的结果。
对于从WebStorm/PhpStorm迁移的用户,
你可以安装IntelliJ IDEA Keybindings来继续使用几乎所有的键盘快捷键,就像你在Webstorm/Phpstorm中所做的那样。
So,
重复的行=> CTRL + D 移动一行/选择的代码向上/向下=> Ctrl + Shift +向上/向下
另外,这里有一个推荐的VS Code扩展列表,可以让你从WebStorm/Phpstorm过渡得更容易。
如果没有选择任何内容,此键映射将复制当前行或复制所选单词。
访问: 文件/参数/键盘快捷键 在右上角,单击打开键盘快捷键(JSON)。 插入这个keymap: { “关键”:“shift + alt + d”, “命令”:“editor.action.duplicateSelection” } 使用alt+箭头向上/向下移动行(VS Code的默认行为)。