使用Microsoft的Visual Studio Code,如何复制一行代码然后上下移动? (类似于Sublime< kbd> cmd + shift + d 行为)
这是我经常使用的一项功能,如果没有它,我正在努力使用Visual Studio Code。
答案 0 :(得分:892)
您要查找的命令是editor.action.copyLinesDownAction
和editor.action.copyLinesUpAction
。
您可以通过选择以下内容来查看相关的键绑定:文件>偏好>键盘快捷键
Windows:
Shift + Alt + Down 和 Shift + Alt + 向上
<强>的Mac:强>
Shift + 选项 + 向下和 Shift + 选项 向上
<强> Linux的:强>
Ctrl + Shift + Alt + Down 和 Ctrl + 移 + 替代 + 向上
(可能需要使用numpad Down 和 Up for Linux)
此外,命令editor.action.moveLinesUpAction
和editor.action.moveLinesDownAction
是移动线条的命令,它们绑定到 Alt + Down 和 Alt在Windows和Mac上 + 向上和 Ctrl + 向下和 Ctrl + 向上< / kbd>在Linux上。
答案 1 :(得分:142)
您可以从
找到键盘快捷键档案&gt;偏好&gt;键盘快捷键
默认键盘快捷键是,
复制换行: shift + alt + down
复制排队行动: shift + alt + up
向上移动行动: alt + 向上
向下移动行动: alt + 向下
或者您可以从
覆盖键盘快捷键档案&gt;偏好&gt;键盘快捷键
编辑 try
{
conn.Open();
pendingStatusList = cmdPendingStatus.ExecuteReader();
if (pendingStatusList.HasRows)
{
while (pendingStatusList.Read())
{
lstPendingRequestId.Add(pendingStatusList["ColumnName"]);
}
}
}
示例:的
keybindings.json
答案 2 :(得分:23)
在VScode中,他们称之为Copy Line Up
和Copy Line Down
从菜单中,转到:
档案&gt;偏好&gt;键盘快捷键
检查已指定的键盘快捷键,或调整您的。
有时默认分配的快捷方式可能不起作用,主要是因为操作系统。
在我的Ubuntu中,我将其调整为: Ctrl + Shift + D
答案 3 :(得分:17)
它错过了这个问题的答案,“如何重复选择代码” 类似于Sublime的 cmd / ctrl + shift + d 或Jetbrains的 cmd / ctrl + d 行为。
从VS Code Marketplace安装插件重复的选择或行
此扩展为 ctrl + d (Windows / Linux)和 cmd + d (MacOS)提供了绑定)。要自定义键盘快捷键首选项->键盘快捷键:
{
"mac": "cmd+d",
"key": "ctrl+d",
"command": "geeebe.duplicateText",
"when": "editorTextFocus"
}
注意:快捷方式也会执行重复的行,因此,如果安装了该重复行,请删除{{1上的以前的 ctrl + d }}(如果您之前做过),否则重复选择可能会出错。
答案 4 :(得分:15)
尝试 ALT + SHIFT + UP / DOWN
它对我有用!
答案 5 :(得分:10)
在 VSCode 中, Ctrl + C Ctrl + V 复制整行在下面。
我更喜欢这个答案,因为它只需要一只手就能做到,而且感觉更自然。
对于大多数人来说,可接受的答案可能会做到这一点,但是 Down 位于键盘的另一侧。 因此,您有两个选择,双手都可以使用(左手: L Shift + L Alt +右手:上/下),或者单手使用右 R Shift + R Alt + 上/下。我认为第二种选择很奇怪。我宁愿使用我的手自然放在键盘上的选项,如果用一只手,甚至更好。
答案 6 :(得分:9)
请注意,对于Ubuntu用户(&lt; = 17.4),Unity使用CTRL
+ ALT
+ SHIFT
+ Arrow Key
来跨虚拟工作区移动程序,这与VS Code快捷方式。您需要重新绑定editor.action.copyLinesDownAction
和editor.action.copyLinesUpAction
以避免冲突(或更改工作区键绑定)。
对于使用GNOME的Ubuntu 17.10+,根据其文档似乎GNOME does not use this keybinding in the same way,但如果有人在17.10上使用vanilla工作区可以证实这一点,那么对未来的求职者来说可能会有所帮助。
答案 7 :(得分:9)
只需转到文件->首选项->键盘快捷键 您可以在此处更改所需的任何快捷方式。搜索重复项并将其更改为您在其他编辑器中始终使用的内容。我改为ctrl + D
答案 8 :(得分:5)
如果您来自Sublime Text并且不想重新学习新的键绑定,则可以将此扩展用于Visual Code Studio。
VS代码的Sublime文本键映射
此扩展程序将最受欢迎的Sublime Text键盘快捷键移植到Visual Studio Code。安装扩展程序并重新启动VS代码后,您可以使用Sublime Text中最喜欢的键盘快捷键。
https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
答案 9 :(得分:5)
对于以前使用过任何聪明的 Jetbrains IDE 组成的人来说,没问题,这些捷径已迁移到vscode,这没问题。
只需安装(Preferred is no. 2 extension
):
1) JetBrains IDE键盘映射:Extension
2) vscode-intellij-idea-keybindings Extension
键盘映射涵盖了VS Code的大多数键盘快捷键,并使VS Code更像“ JetBrains IDE ”。
以上扩展名将快捷键从JetBrains导入到VS Code。安装扩展并重新启动VS Code后,您可以像 IntelliJ IDEA,Webstorm,PyCharm 等一样使用VS Code。
答案 10 :(得分:3)
如果未选择任何内容或复制所选单词,此键盘映射将复制当前行。
访问:
文件/首选项/键盘快捷键
在右上角,点击打开键盘快捷键 (JSON)。
插入此键映射:
{
"key": "shift+alt+d",
"command": "editor.action.duplicateSelection"
}
使用alt+向上/向下箭头移动线(VS Code的默认行为)。
答案 11 :(得分:2)
直接行复制(没有剪贴板步骤)由Contextual Duplicate扩展名提出。
它映射在 ctrl + K D
答案 12 :(得分:1)
对于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 + PgUp。
现在fedora29中的重复快捷键较少,所有vscode shortcuts for linux都可以正常工作
答案 13 :(得分:1)
您可以像在Webstorm / Phpstorm中一样安装 IntelliJ IDEA Keybindings 以继续使用几乎所有键盘快捷键。
所以
此外,这是 recommended VS Code extensions 的列表,这将使您从WebStorm / Phpstorm的过渡更加容易。
答案 14 :(得分:1)
问题
Ubuntu上原始的“复制行向下”快捷方式似乎存在问题,主要是由于与操作系统上已经存在的与工作空间相关的快捷方式冲突。
解决方法
但是,一个简单的解决方法是简单地ctrl+c
(复制整个行)和ctrl+v
(将复制的行粘贴到新行上)...有效地,为您提供相同的最终结果
答案 15 :(得分:0)
重复行:alt + shift + △/▽
上移/下移:alt + △/▽
答案 16 :(得分:0)
对于Linux用户:我注意到您在Linux上经常需要使用 win 密钥。对于Windows组合是:
ctrl + shift + alt + up
然后对于Linux来说一样,只需添加 win 键:
ctrl + shift + win + alt + up
我注意到现在有几个连击。说 ctrl + alt + L 锁定Linux,但是 ctrl + win + < kbd> alt + L 用于Intellij格式代码。在Windows下,只需 ctrl + alt + L 即可格式化代码。
答案 17 :(得分:0)
对于 Windows :
要复制-> shift + alt +向上
要向下复制-> shift + alt +向下
对于 mac :
要复制-> Shift + Option +向上
要向下复制-> Shift + Option +向下
对于 linux :
要复制-> ctrl + shift + alt + 8
要向下复制-> ctrl + shift + alt + 2
注意:您可以更改Visual Studio代码的键盘快捷键绑定 按下 ctrl + shift + p ,然后在托盘中键入打开键盘快捷键,然后按Enter 因此将打开新文件(键盘快捷方式文件) 您可以查看其所有快捷方式,并可以通过以下方式更改快捷键:在相应的快捷键上单击两次,然后输入自己的快捷键,最后按Enter。
希望这对某人有帮助!
答案 18 :(得分:-1)
在我的上一版本Visual Studio Code 1.30.2中 它将自动更改为
ctrl + D