Visual Studio Code 中的重复行
Posted
技术标签:
【中文标题】Visual Studio Code 中的重复行【英文标题】:Duplicate line in Visual Studio Code 【发布时间】:2016-12-08 04:45:48 【问题描述】:我正在尝试在 Visual Studio Code 中找到复制一行的快捷方式(我使用的是 1.3.1)我尝试了明显的 CTRL + D 但这并没有似乎不起作用。
【问题讨论】:
How do I duplicate a line or selection within Visual Studio Code?的可能重复 Ctrl+D 用于行重复并不那么明显:例如,它在 Notepad++ 中工作,但它删除 Eclipse 中的当前行:) 查看Contextual Duplicate 扩展 默认情况下,CTRL + D
只需选择与其他 IDE 相比选择的下一个匹配项。
@kol 之前使用过 Visual Studio,并且 VSCode 是 MS 产品,我认为 VSCode 继承了很多东西。 CTRL+D 在 Visual Studio 2019 中运行良好。
【参考方案1】:
点击文件 > 首选项 > 键盘快捷键:
在您的键盘快捷键中搜索copyLinesDownAction
或copyLinesUpAction
通常是SHIFT+ALT + ↓
Ubuntu 更新:
似乎 Ubuntu 隐藏了该快捷方式,不让 VSCode 看到(即它可能自己使用它)。 GitHub 上有一个关于此的问题。
为了在 Ubuntu 中工作,您必须定义自己的快捷方式,例如使用 ctrl+shift+alt+j 和 CTRL + 复制行SHIFT + ALT + k 你可以像这样使用keybindings.json
:
[
"key": "ctrl+shift+alt+j", "command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly" ,
"key": "ctrl+shift+alt+k", "command": "editor.action.copyLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
]
【讨论】:
在 Mac 上:代码 > 首选项 > 键盘快捷键。 Shift+Option+向下箭头。 @DAXaholic 答案是正确的,如果您需要简单的解决方案,只需将光标保持在要复制的行上,然后按 ctrl+c 和 ctrl+v。它工作正常 在 Ubuntu 16.04 上,默认情况下,Ctrl
+ Shift
+ Up Arrow
/ Down Arrow
快捷方式映射到将窗口移动到不同的工作区。您可以在Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigation
中更改此设置,然后按Backspace
删除不需要的快捷方式。
我的绑定到 Ctrl+Shift+Alt+DownArrow,但是当我点击这些按钮时它实际上并没有做任何事情。
在 Ubuntu 20.04 上是 Ctrl
+ Alt
+ Shift
+ Numpad 2
/ Numpad 8
。【参考方案2】:
可以通过CTRL+C和CTRL+V实现复制未选择任何内容。
【讨论】:
我没有投反对票,但我想这对于 OP 来说是不可接受的,因为这会将行复制到剪贴板,这是想要一个“重复行”命令的一个很好的理由复制/粘贴命令。 如果editor.emptySelectionClipboard
选项设置为false
(我的首选配置),这将不起作用。
这把我剪贴板里的东西吹走了
我在这个方法中注意到的一个有趣的事情是,按下'C'后不需要释放Ctrl键(释放V后才释放)
这破坏了即时行复制的整个目的。【参考方案3】:
您可以根据您的操作系统使用以下内容:
Windows:
Shift+ Alt + ↓ 或 Shift+ Alt + ↑
苹果机:
Shift + Option + ↓ 或 Shift +Option + ↑
Linux:
Ctrl+Shift+Alt+↓ 或 Ctrl+Shift+Alt+↑
注意:对于某些 linux 发行版,使用数字键盘箭头
【讨论】:
注意小键盘箭头真的很有帮助!【参考方案4】:Ubuntu:
重复排队:Ctrl + Alt + Shift + 8 重复行向下:Ctrl + Alt + Shift + 2【讨论】:
对我来说工作得很好。谢谢你的回答。 这实际上是一个很好的解决方案(适用于 Ubuntu 20 和 19),不需要对默认设置进行任何更改。可能看起来不是很直观,但 8 和 2 是数字键盘中的实际上下【参考方案5】:苹果机:
重复行向下:shift + option + ↓
重复排队:shift + option + ↑
【讨论】:
【参考方案6】:在键盘快捷键中搜索 copyLinesDownAction
或 copyLinesUpAction
通常是SHIFT+ALT+↓
【讨论】:
【参考方案7】:使用以下命令:Shift + Alt+(↓ 或 ↑)
【讨论】:
【参考方案8】:v1.40 中有一个新命令:editor.action.duplicateSelection
unbound to any keybinding。
重复选择
我们添加了一个名为“重复选择”的新操作。执行时, 当前选择将被复制,结果将是 选择。当没有选择时,当前行将是 复制,全部不写入系统剪贴板。
来自https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_40.md
有些人可能会发现它在某些情况下很有帮助。
【讨论】:
【参考方案9】:您可以根据您的操作系统使用以下内容:
Windows:
Shift + Alt + ↓
或 Shift+ Alt + ↑
苹果机:
Shift + Option + ↓
或 Shift +Option + ↑
【讨论】:
【参考方案10】:可以创建仅在 Vim for VSCode 开启并处于特定模式(即“正常”、“插入”或“可视”)时才有效的键绑定。
为此,请使用 Ctrl + Shift + P 打开 VSCode 的命令面板,然后搜索“首选项:打开键盘快捷键(JSON)"--选择此选项将打开 keybindings.json。在这里,可以添加自定义绑定。
例如,这里是用于移动/复制行的经典 VSCode 命令,这些命令经过调整以便在 Vim 中使用......
[
"key": "alt+j",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
,
"key": "alt+shift+j",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
,
"key": "alt+k",
"command": "editor.action.moveLinesUpAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
,
"key": "alt+shift+k",
"command": "editor.action.copyLinesUpAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
,
]
现在我们可以在 VSCode 中使用这些对 Vim 友好的命令了!
Alt + J 向下移动一行 Alt + K 向上移动一行 Shift + Alt + J 向下复制一行 Shift + Alt + K 复制一行【讨论】:
【参考方案11】:另外 2 个非常有用的快捷方式是上下移动选定的行,就像 sublime text 一样...
"key" : "ctrl+shift+down", "command" : "editor.action.moveLinesDownAction",
"when" : "editorTextFocus && !editorReadonly"
,
和
"key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
"when" : "editorTextFocus && !editorReadonly"
【讨论】:
错了。你不需要select
ST 中的一行来复制它。
快捷方式是移动选中的“行”【参考方案12】:
VC 代码版本:1.22.2 转到:代码 -> 首选项 -> 键盘快捷键(cmd + K;cms + S); 更改(编辑):“将选择添加到下一个查找匹配”:“cmd + 你想要的”//对我来说这是“cmd + D”,我 pur cmd + F; 转到“Copy Line Down”:“cmd + D” //编辑它并设置 cmd + D 例如 对我而言,仅此而已 - 我使用 mac;
【讨论】:
【参考方案13】:如果 Ubuntu 用户仍想使用 ↑ 和 ↓ 而不是另一组键,更新可能会对他们有所帮助。
我刚刚在 Ubuntu 18.04 LTS 上安装了新版本的 VSCode,我对 Add Cursor Above
和 Add Cursor Below
有重复的命令
Original Keybindings
我刚刚删除了使用 Ctrl 的绑定并添加了我自己的以下内容
Copy Line Up
Ctrl + Shift + ↑
Copy Line Down
Ctrl + Shift + ↓
New Keybindings
【讨论】:
【参考方案14】:Windows:
重复行向下:Ctrl + Shift + D
【讨论】:
对我来说,这会触发内置调试器。 你的回答是正确的,非常感谢,我在我的ubuntu中使用它。以上是关于Visual Studio Code 中的重复行的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio CODE中的折叠和展开代码[重复]
如何在 Visual Studio Code 中格式化 PHP 文件中的 HTML [重复]
使用 Emmet 在 Visual Studio Code 中包装 HTML 元素 [重复]
如何将终端更改为 Visual Studio 代码中的当前目录? (热键)[重复]