使用 Microsoft 的 Visual Studio Code,我如何复制一行代码,然后上下移动它? (类似于 Sublime 的 cmd+shift+d 行为)
这是我经常使用的功能,并且在没有它的情况下很难使用 Visual Studio Code。
您要查找的命令是 editor.action.copyLinesDownAction
和 editor.action.copyLinesUpAction
。
您可以通过选择查看相关的键绑定:文件 > 首选项 > 键盘快捷键
视窗:
Shift+Alt+向下和 Shift+Alt+向上
苹果电脑:
Shift+Option+Down 和 Shift+OptionUp
Linux:
Ctrl+Shift+Alt+向下和 Ctrl+Shift+Alt+向上
(对于 Linux,可能需要使用 numpad Down 和 Up)
此外,命令 editor.action.moveLinesUpAction
和 editor.action.moveLinesDownAction
是移动行的命令,它们绑定到 Alt+Down 和 Alt+Up 在 Windows 和 Mac 上,Ctrl+Down 和 Ctrl+Up 在 Linux 上。
您可以从以下位置找到键盘快捷键
文件 > 首选项 > 键盘快捷键
默认键盘快捷键是,
向下复制行操作:shift+alt+down
复制行向上操作:shift+alt+up
向上移动线动作:alt+up
下移行动作:alt+down
或者您可以覆盖键盘快捷键
文件 > 首选项 > 键盘快捷键
并编辑 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 + L
(命令 expandLineSelection)将选择一行。重复 ctrl + L 选择其他行,使块选择变得容易。或者您可以使用鼠标进行粗略的块选择,然后按 ctrl+L 以包括末端。
ctrl+D
并删除冲突的其他快捷方式。
它错过了这个问题的答案,“如何复制代码选择”类似于 Sublime 的 cmd/ctrl+shift+d 或 Jetbrains 的 cmd/ctrl+d 行为。
从 VS Code Marketplace 安装插件重复选择或行
https://i.stack.imgur.com/7wP0f.png
此扩展为 ctrl+d (Windows/Linux) 和 cmd+d (MacOS) 提供绑定。要自定义键盘快捷键首选项 -> 键盘快捷键:
{
"mac": "cmd+d",
"key": "ctrl+d",
"command": "geeebe.duplicateText",
"when": "editorTextFocus"
}
注意: 该快捷方式也会重复行,因此如果您安装它,请删除您之前在 copyLinesDownAction
上的 ctrl+d 快捷方式(如果您以前做过)否则重复选择可能会出错。
在 VScode 中,他们称之为 Copy Line Up
和 Copy Line Down
从菜单中转到:
文件 > 首选项 > 键盘快捷键
为此检查已分配的键盘快捷键,或调整您的快捷键。
有时默认分配的快捷方式可能不起作用,主要是因为操作系统。
在我的 Ubuntu 中,我将其调整为:Ctrl+Shift+D
https://i.stack.imgur.com/b7akn.png
在 VSCode 中 Ctrl+CCtrl+V 复制下面的整行。
与公认的答案相比,我更喜欢这个,因为它只需要一只手就可以做到,而且感觉更自然。
对于大多数人来说,公认的答案可能会这样做,但是 Down 位于键盘的另一侧。因此,您有两个选择,使用双手(左手:L Shift+L Alt+右手:上/下),或单手使用右 R Shift+R Alt+上/下。在我看来,第二个选项感觉很奇怪。我宁愿使用我的手自然放在键盘上的选项,如果是一只手,那就更好了。
尝试 ALT+SHIFT+UP/DOWN
它对我有用!
对于迁移到 VSCode 的 Jetbrains IDE 用户。
安装(任何人):
JetBrains IDE Keymap:扩展 vscode-intellij-idea-keybindings 扩展(首选)
使用这个 Intellij Darcula 主题:扩展
键盘映射覆盖了 VS Code 的大部分键盘快捷键,使 VS Code 更像 'JetBrains IDE'。
以上扩展将键绑定从 JetBrains 导入到 VS Code。安装扩展并重新启动 VS Code 后,您可以像 IntelliJ IDEA、Webstorm、PyCharm 等一样使用 VS Code。
ctrl
-D
快捷方式。
对于 Windows:
向上复制 - shift+alt+up
向下复制 - shift+alt+down
对于 mac:
向上复制 - shift+option+up
向下复制 - shift+option+down
对于 Linux:
向上复制 - ctrl+shift+alt+8
向下复制 - ctrl+shift+alt+2
注意:您可以通过按 ctrl+shift+p 更改 Visual Studio 代码的键盘快捷键键绑定,然后在托盘中键入 open 键盘快捷键,然后按 Enter,这样将打开新文件(键盘快捷键文件),您可以看到所有快捷键,可以通过在相应的键绑定上单击两次,然后输入您自己的键绑定,最后按 Enter 来更改键绑定。
希望这会对某人有所帮助!
VS Ccode 1.49.2
(Electron
9.2.1、Chrome
83.0.4103.122、Node.Js
12.14.1、Linux
5.11.0-36-generic)。我想知道 VS Code
有时是否可以成为移动目标。
请注意,对于 Ubuntu 用户 (<= 17.4),Unity 使用 CTRL + ALT + SHIFT + 箭头键用于跨虚拟工作区移动程序,这与 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 工作区可以确认这一点,它可能对未来的寻求答案的人有所帮助。
只需转到文件 -> 首选项 -> 键盘快捷键 在那里您可以更改任何您喜欢的快捷键。搜索重复项并将其更改为您在其他编辑器中经常使用的任何内容。我改成 Ctrl+D
Duplicate Selection
(editor.action.duplicateSelection)
重复行:alt + shift + △/▽
上/下移动线:alt + △/▽
如果您来自 Sublime Text 并且不想重新学习新的键绑定,则可以将此扩展用于 Visual Code Studio。
VS Code 的 Sublime Text 键盘映射 此扩展将最流行的 Sublime Text 键盘快捷键移植到 Visual Studio Code。安装扩展并重新启动 VS Code 后,您最喜欢的 Sublime Text 键盘快捷键现在可用。
https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
如果未选择任何内容或复制所选单词,此键盘映射将复制当前行。
访问:文件/首选项/键盘快捷键 在右上角,单击打开键盘快捷键 (JSON)。插入此键盘映射: { "key": "shift+alt+d", "command": "editor.action.duplicateSelection" } 使用 alt+箭头向上/向下移动行(VS Code 的默认行为)。
问题
Ubuntu 上原始的“重复行向下”快捷方式似乎存在问题,主要是由于与操作系统上已经存在的与工作区相关的快捷方式发生冲突。
解决方法
但是,一个简单的解决方法是简单地 CTRL+C(复制整行)和 CTRL+V(将复制的行粘贴到新行上)...有效地为您提供相同的最终结果。
Ctrl + c + v 将这些键一起按下,Windows 不分开
对于从 WebStorm/PhpStorm 迁移的用户,
您可以安装 IntelliJ IDEA Keybindings 以继续使用几乎所有的键盘快捷键,就像在 Webstorm/Phpstorm 中一样。
所以,
重复行 => CTRL + D
向上/向下移动一行/选择代码 => Ctrl + Shift + UP/DOWN
此外,这里有一个 recommended VS Code extensions 列表,可以让您更轻松地从 WebStorm/Phpstorm 过渡。
对于 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/UpArrow
超级+Shift+PgDown/PgUp , Ctrl+Alt+Shift+DownArrow/UpArrow
它们可以很容易地重置为仅使用“设置”>“设备”>“仅键盘”中的一个快捷方式,再次键入 Super+PgUp 以“移至上面的工作区”作为示例。
https://i.stack.imgur.com/FQDm9.png
现在在 fedora29 中使用较少重复的快捷方式,所有 vscode shortcuts for linux 都必须正常工作
对于 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 来格式化代码。
在我的上一个版本 Visual Studio Code 1.30.2 中,它将自动更改为
Ctrl + D
不定期副业成功案例分享
Alt+Up
或Alt+Down
似乎上下移动了现有的行。好的ctrl+shift+alt+down/up
仅适用于数字键盘箭头键。