使用微软的Visual Studio Code,我如何复制一行代码,然后上下移动它?(类似于Sublime的cmd+shift+d行为)
这是一个我经常使用的特性,如果没有它,我很难使用Visual Studio Code。
使用微软的Visual Studio Code,我如何复制一行代码,然后上下移动它?(类似于Sublime的cmd+shift+d行为)
这是一个我经常使用的特性,如果没有它,我很难使用Visual Studio Code。
当前回答
适用于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快捷方式都可以正常工作
其他回答
在VScode中,他们称之为向上复制行和向下复制行
从菜单转到:
文件>首选项>键盘快捷方式
检查已经分配的键盘快捷键,或调整你的。
有时默认分配的快捷方式可能不起作用,主要是由于操作系统。
在我的Ubuntu中,我将其调整为:Ctrl+Shift+D
在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来格式化代码。
直线复制(没有剪贴板步骤)是由上下文复制扩展提出的。
它被映射到ctrl+K D
问题
Ubuntu上原来的“向下重复一行”快捷方式似乎有问题,主要是由于与操作系统上已经存在的与工作区相关的快捷方式冲突。
解决方案
然而,一个简单的解决方法是简单的CTRL+C(复制整行)和CTRL+V(将复制的行粘贴到新的行上)…实际上,给你同样的结果。