如何在 Visual Studio 代码中复制行或选择?
How do I duplicate a line or selection within Visual Studio Code?
使用微软的Visual Studio代码,如何复制一行代码,然后上下移动? (类似于 Sublime 的 cmd+shift+d 行为)
这是我经常使用的一项功能,并且在没有它的情况下使用 Visual Studio 代码时遇到困难。
您正在查找的命令是 editor.action.copyLinesDownAction
和 editor.action.copyLinesUpAction
。
您可以通过选择查看关联的键绑定:文件 > 首选项 > 键盘快捷键
Windows:
Shift+Alt+Down 和 Shift+Alt+向上
Mac:
Shift+Option+Down and Shift+选项向上
Linux:
Ctrl+Shift+Alt+向下 和 Ctrl+Shift+Alt+Up
(可能需要使用小键盘 向下 和 向上 Linux)
此外,命令editor.action.moveLinesUpAction
和editor.action.moveLinesDownAction
是移动行的命令,它们绑定到Alt+Down and Alt+Up on Windows and Mac and Ctrl+向下 和 Ctrl+向上 在 Linux 上。
您可以从
中找到键盘快捷键
File > Preferences > Keyboard Shortcuts
默认键盘快捷键是,
向下复制行操作:shift+alt+down
向上复制行操作:shift+alt+up
上移线动作 : alt+up
向下移动行操作:alt+down
或者您可以覆盖
中的键盘快捷键
File > Preferences > Keyboard Shortcuts
并编辑 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"
}
]
尝试ALT+SHIFT+UP/DOWN
对我有用!
如果您来自 Sublime Text 并且不想重新学习新的键绑定,您可以使用此 Visual Code Studio 扩展。
Sublime Text Keymap for VS Code
This extension ports the most popular Sublime Text keyboard shortcuts to Visual Studio Code. After installing the extension and restarting VS Code your favorite keyboard shortcuts from Sublime Text are now available.
https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
Contextual Duplicate 扩展提议直接复制行(没有剪贴板步骤)。
映射到ctrl+K D
在 VScode 中,他们称此为 Copy Line Up
和 Copy Line Down
从菜单中转到:
File > Preferences > Keyboard Shortcuts
为此检查已分配的键盘快捷方式,或调整您的。
有时默认分配的快捷方式可能不起作用,主要是因为 OS。
在我的Ubuntu中,我将其调整为:Ctrl+Shift+D
请注意,对于 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 上使用香草工作空间可以证实这一点,这可能对未来的答案有所帮助寻求者。
在VSCodeCtrl+CCtrl +V 复制下面的整行。
比起公认的答案,我更喜欢这个,因为它只需要一只手就可以做到,而且感觉更自然。
接受的答案可能适用于大多数人,但是 向下 位于键盘的另一侧。
所以你有两个选择,用双手(左手:L Shift+L Alt+ 右手:Up/Down), 或者单手使用右 R Shift+R Alt+Up/Down。在我看来,第二种选择感觉很奇怪。我宁愿使用我的手自然放在键盘上的选项,如果是一只手,那就更好了。
这个问题没有答案,"How to duplicate selection of code" 类似于Sublime的cmd/ctrl+shift+d 或 Jetbrains 的 cmd/ctrl+d行为。
从 VS 代码市场
安装插件重复选择或行
此扩展程序为 ctrl+d (Windows/Linux) 和 cmd[=41 提供绑定=]+d (MacOS)。自定义键盘快捷键 首选项 -> 键盘快捷键:
{
"mac": "cmd+d",
"key": "ctrl+d",
"command": "geeebe.duplicateText",
"when": "editorTextFocus"
}
注意: 该快捷方式也会重复行,因此如果您安装它,请删除之前的 ctrl+ d copyLinesDownAction
上的快捷方式(如果你以前做过)否则重复选择可能会出错。
在我的上一个版本中 Visual Studio 代码 1.30.2
它将自动更改为
ctrl + D
对于 Fedora 29 工作站 (Gnome 3.30.2) 和 Ubuntu 用户。
取消绑定不必要的 left/right 工作区键盘组合,按终端列出它们
$ 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 "[]"
重置重复的快捷方式
- 超级+Pgdown/PgUp , Ctrl+Alt+DownArrow/UpArrow
- 超级+Shift+PgDown/PgUp , Ctrl+Alt+Shift+DownArrow/UpArrow
只需在“设置”>“设备”>“键盘”中使用一个快捷方式,即可轻松将它们重置为工作
仅以 "Move to workspace above" 为例再次键入 Super+PgUp。
现在在 fedora29 中减少了重复的快捷方式,所有 vscode shortcuts for linux 必须正常工作
对于Windows:
向上复制 - shift+alt+up
向下复制 - shift+alt+down
对于mac:
向上复制 - shift+option+up
向下复制 - shift+option+down
对于linux:
向上复制 - ctrl+shift+alt+ 8
向下复制 - ctrl+shift+alt+ 2
注意 :您可以更改 visual studio 代码的键盘快捷键绑定
按ctrl+shift+p,然后在托盘中输入打开键盘快捷键,然后按回车键
因此将打开新文件 (键盘快捷方式文件)
您可以看到它们的所有快捷方式,并且可以通过在相应的键绑定上单击两次然后输入您自己的键绑定来更改键绑定,最后按回车键。
希望对大家有所帮助!
对于迁移到 VSCode.[=15 的 Jetbrains IDE 用户 =]
安装(任何人):
使用这个 Intellij Darcula Theme
:Extension
keymap覆盖了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 + 向上
我现在在一些连击中注意到了这一点。说 ctrl + alt + L 锁定 Linux,但是 ctrl + win + alt + L 用于 Intellij 格式化代码。 Windows下就是ctrl + alt + L格式化代码。
只需转到文件 -> 首选项 -> 键盘快捷键
在那里你可以改变任何你喜欢的快捷方式。搜索重复项并将其更改为您在其他编辑器中经常使用的任何内容。我改为Ctrl+D
问题
Ubuntu 上的原始“向下复制行”快捷方式似乎有问题,主要是由于与操作系统上已有的工作区相关快捷方式发生冲突。
解决方法
但是,一个简单的解决方法是 CTRL+C(复制整行)和 CTRL+V(将复制的行粘贴到新行上)...有效地为您提供相同的最终结果。
对于那些从 WebStorm/PhpStorm、
迁移的人
您可以安装 IntelliJ IDEA Keybindings 以像在 Webstorm/Phpstorm.
中一样继续使用几乎所有的键盘快捷键
所以,
- 重复行=> CTRL + D
- 移动line/selection的代码Up/Down => Ctrl + Shift + 向上/向下
此外,这里有一份 recommended VS Code extensions 的列表,可以让您从 WebStorm/Phpstorm 过渡得更轻松。
如果未选择任何内容,此键盘映射将复制当前行,或者复制所选单词。
访问:
File/Preferences/Keyboard 快捷方式
在右上角,单击打开键盘快捷键(JSON)。
插入此键盘映射:
{
"key": "shift+alt+d",
"command": "editor.action.duplicateSelection"
}
使用alt+arrows up/down移动线(VS Code的默认行为)。
重复行:alt + shift + △/▽
移动线up/down: alt + △/▽
Ctrl + c + v 将这些键同时按下而不分开 windows
使用微软的Visual Studio代码,如何复制一行代码,然后上下移动? (类似于 Sublime 的 cmd+shift+d 行为)
这是我经常使用的一项功能,并且在没有它的情况下使用 Visual Studio 代码时遇到困难。
您正在查找的命令是 editor.action.copyLinesDownAction
和 editor.action.copyLinesUpAction
。
您可以通过选择查看关联的键绑定:文件 > 首选项 > 键盘快捷键
Windows:
Shift+Alt+Down 和 Shift+Alt+向上
Mac:
Shift+Option+Down and Shift+选项向上
Linux:
Ctrl+Shift+Alt+向下 和 Ctrl+Shift+Alt+Up
(可能需要使用小键盘 向下 和 向上 Linux)
此外,命令editor.action.moveLinesUpAction
和editor.action.moveLinesDownAction
是移动行的命令,它们绑定到Alt+Down and Alt+Up on Windows and Mac and Ctrl+向下 和 Ctrl+向上 在 Linux 上。
您可以从
中找到键盘快捷键File > Preferences > Keyboard Shortcuts
默认键盘快捷键是,
向下复制行操作:shift+alt+down
向上复制行操作:shift+alt+up
上移线动作 : alt+up
向下移动行操作:alt+down
或者您可以覆盖
中的键盘快捷键File > Preferences > Keyboard Shortcuts
并编辑 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"
}
]
尝试ALT+SHIFT+UP/DOWN
对我有用!
如果您来自 Sublime Text 并且不想重新学习新的键绑定,您可以使用此 Visual Code Studio 扩展。
Sublime Text Keymap for VS Code
This extension ports the most popular Sublime Text keyboard shortcuts to Visual Studio Code. After installing the extension and restarting VS Code your favorite keyboard shortcuts from Sublime Text are now available.
https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
Contextual Duplicate 扩展提议直接复制行(没有剪贴板步骤)。
映射到ctrl+K D
在 VScode 中,他们称此为 Copy Line Up
和 Copy Line Down
从菜单中转到:
File > Preferences > Keyboard Shortcuts
为此检查已分配的键盘快捷方式,或调整您的。
有时默认分配的快捷方式可能不起作用,主要是因为 OS。
在我的Ubuntu中,我将其调整为:Ctrl+Shift+D
请注意,对于 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 上使用香草工作空间可以证实这一点,这可能对未来的答案有所帮助寻求者。
在VSCodeCtrl+CCtrl +V 复制下面的整行。
比起公认的答案,我更喜欢这个,因为它只需要一只手就可以做到,而且感觉更自然。
接受的答案可能适用于大多数人,但是 向下 位于键盘的另一侧。 所以你有两个选择,用双手(左手:L Shift+L Alt+ 右手:Up/Down), 或者单手使用右 R Shift+R Alt+Up/Down。在我看来,第二种选择感觉很奇怪。我宁愿使用我的手自然放在键盘上的选项,如果是一只手,那就更好了。
这个问题没有答案,"How to duplicate selection of code" 类似于Sublime的cmd/ctrl+shift+d 或 Jetbrains 的 cmd/ctrl+d行为。
从 VS 代码市场
安装插件重复选择或行此扩展程序为 ctrl+d (Windows/Linux) 和 cmd[=41 提供绑定=]+d (MacOS)。自定义键盘快捷键 首选项 -> 键盘快捷键:
{
"mac": "cmd+d",
"key": "ctrl+d",
"command": "geeebe.duplicateText",
"when": "editorTextFocus"
}
注意: 该快捷方式也会重复行,因此如果您安装它,请删除之前的 ctrl+ d copyLinesDownAction
上的快捷方式(如果你以前做过)否则重复选择可能会出错。
在我的上一个版本中 Visual Studio 代码 1.30.2 它将自动更改为
ctrl + D
对于 Fedora 29 工作站 (Gnome 3.30.2) 和 Ubuntu 用户。
取消绑定不必要的 left/right 工作区键盘组合,按终端列出它们
$ 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 "[]"
重置重复的快捷方式
- 超级+Pgdown/PgUp , Ctrl+Alt+DownArrow/UpArrow
- 超级+Shift+PgDown/PgUp , Ctrl+Alt+Shift+DownArrow/UpArrow
只需在“设置”>“设备”>“键盘”中使用一个快捷方式,即可轻松将它们重置为工作
仅以 "Move to workspace above" 为例再次键入 Super+PgUp。
现在在 fedora29 中减少了重复的快捷方式,所有 vscode shortcuts for linux 必须正常工作
对于Windows:
向上复制 - shift+alt+up
向下复制 - shift+alt+down
对于mac:
向上复制 - shift+option+up
向下复制 - shift+option+down
对于linux:
向上复制 - ctrl+shift+alt+ 8
向下复制 - ctrl+shift+alt+ 2
注意 :您可以更改 visual studio 代码的键盘快捷键绑定 按ctrl+shift+p,然后在托盘中输入打开键盘快捷键,然后按回车键 因此将打开新文件 (键盘快捷方式文件) 您可以看到它们的所有快捷方式,并且可以通过在相应的键绑定上单击两次然后输入您自己的键绑定来更改键绑定,最后按回车键。
希望对大家有所帮助!
对于迁移到 VSCode.[=15 的 Jetbrains IDE 用户 =]
安装(任何人):
使用这个
Intellij Darcula Theme
:Extensionkeymap覆盖了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 + 向上
我现在在一些连击中注意到了这一点。说 ctrl + alt + L 锁定 Linux,但是 ctrl + win + alt + L 用于 Intellij 格式化代码。 Windows下就是ctrl + alt + L格式化代码。
只需转到文件 -> 首选项 -> 键盘快捷键 在那里你可以改变任何你喜欢的快捷方式。搜索重复项并将其更改为您在其他编辑器中经常使用的任何内容。我改为Ctrl+D
问题
Ubuntu 上的原始“向下复制行”快捷方式似乎有问题,主要是由于与操作系统上已有的工作区相关快捷方式发生冲突。
解决方法
但是,一个简单的解决方法是 CTRL+C(复制整行)和 CTRL+V(将复制的行粘贴到新行上)...有效地为您提供相同的最终结果。
对于那些从 WebStorm/PhpStorm、
迁移的人您可以安装 IntelliJ IDEA Keybindings 以像在 Webstorm/Phpstorm.
中一样继续使用几乎所有的键盘快捷键所以,
- 重复行=> CTRL + D
- 移动line/selection的代码Up/Down => Ctrl + Shift + 向上/向下
此外,这里有一份 recommended VS Code extensions 的列表,可以让您从 WebStorm/Phpstorm 过渡得更轻松。
如果未选择任何内容,此键盘映射将复制当前行,或者复制所选单词。
访问:
File/Preferences/Keyboard 快捷方式
在右上角,单击打开键盘快捷键(JSON)。
插入此键盘映射:
{ "key": "shift+alt+d", "command": "editor.action.duplicateSelection" }
使用alt+arrows up/down移动线(VS Code的默认行为)。
重复行:alt + shift + △/▽
移动线up/down: alt + △/▽
Ctrl + c + v 将这些键同时按下而不分开 windows