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 元素 [重复]

在 Visual Studio 中剪切/粘贴的最有效方法是啥?

Visual Studio Code 中的方法列表

Visual Studio Code 中的 Plantuml // 配置文件