Visual Studio Code 中的剪切行快捷方式(VS 中的 Ctrl+L)(不是删除行!)
Posted
技术标签:
【中文标题】Visual Studio Code 中的剪切行快捷方式(VS 中的 Ctrl+L)(不是删除行!)【英文标题】:Cut line shortcut in Visual Studio Code (Ctrl+L in VS) (not delete line!) 【发布时间】:2018-10-26 07:27:32 【问题描述】:Visual Studio 默认有快捷键 Ctrl+l(剪切线)。它将光标所在的行复制到剪贴板并将其删除。
我在 Visual Studio Code 中找不到它。有没有办法将其添加为最终用户?
(我知道删除行有Ctrl+Shift+K,不一样)
【问题讨论】:
CMD/Ctrl+X 不进行选择 【参考方案1】:您正在寻找的是 Cut 命令:
editor.action.clipboardCutAction
如果未选择任何内容,它会剪切(复制到剪贴板然后删除该行)选择或整行。 我用 vscode 1.23.1 测试过
在 Windows 上,此命令默认绑定到 Ctrl + X 以及 Shift + Delete .
当 Editor: Empty Selection Clipboard 首选项启用时,命令会以这种方式工作。默认开启:
"editor.emptySelectionClipboard": true
【讨论】:
哇!它非常直观——甚至比 Ctrl+L 更容易。虽然它有一个缺陷,但它也会在行尾复制新行字符:(。所以当一个人剪切该行然后粘贴它时,一个人会得到一个额外的新行......大部分时间都必须删除:( 所以现在看起来完整的序列:Ctrl+X Ctrl+V Backspace(去掉新行)。 您可以组合这些命令并使用macros extension 将其绑定到单个快捷方式。 虽然宏可以做到 - 这不是很好的解决方案:Ctrl+X 剪切,然后 Ctrl+Something_Else 粘贴(运行宏) - 但 Ctrl+V 是每个人都期望粘贴的。还是谢谢! 如果你来这里是想学习相反的绑定,删除但不复制到剪贴板,它是editor.action.deletelines
。【参考方案2】:
Shift + Delete
在 VS Code 上剪切该行,即将该行复制到剪贴板并将其删除。
我在 Ubuntu 18 上运行 VS Code。
编辑:
Ctrl + X
也以同样的方式工作。
【讨论】:
由于某种原因,keyboard shortcuts
只列出了 ctrlX,但 shiftDelete 也可以使用【参考方案3】:
通过执行以下操作,我能够获得相同的功能(即模仿 Sublime Text 的“剪切选择”功能):
-
由 geddski 添加了“宏”扩展:
-
在我的 settings.json 文件中添加了以下条目(ctrl+shift+p,“首选项:打开设置(JSON)”)
"macros":
"cutLines": [
"expandLineSelection",
"editor.action.clipboardCutAction"
]
-
在我的设置 json 文件中添加了以下内容(ctrl+shift+p,“首选项:打开键盘快捷键”):
"key": "ctrl+x",
"command": "macros.cutLines",
"when": "!editorHasSelection"
,
为了让 VS Code 识别命令,我必须添加卸载并重新安装“宏”扩展。我认为添加条目然后首次安装会产生相同的结果。
出于调试目的,这是我的“Ctrl+x”键绑定屏幕截图,当时我的一切都按我想要的方式工作。通过在命令提示符中键入“打开键盘快捷键”并搜索“Ctrl+x”来比较你的。
【讨论】:
太棒了!谢谢!我将Ctrl + L
绑定到editor.action.deleteLines
,将Ctrl + Shift + L
绑定到macros.cutLines
。我在 VS 中拥有的一个我非常喜欢的设置。我可能会经常使用这个插件。 - VS Code 识别命令没有任何问题,也许更新已修复它。
哈哈,这是我三年前写的。早就修好了。以上是关于Visual Studio Code 中的剪切行快捷方式(VS 中的 Ctrl+L)(不是删除行!)的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 快捷键大全(Windows)
Visual Studio Code 快捷键大全(Windows)
使用 Emmet 在 Visual Studio Code 中包装 HTML 元素 [重复]