【问题标题】:Can you disable the cut line function of cut shortcut (Ctrl+X) in VSCode?可以在VSCode中禁用剪切快捷键(Ctrl+X)的剪切线功能吗?
【发布时间】:2021-07-20 23:42:38
【问题描述】:

如果您有选择,cut (Ctrl+X) 将复制并删除选择。如果没有,它将复制整行并删除它。

我想禁用后者。它接近save (Ctrl+S),我不想在要保存时删除整行。

可以在VSCode中禁用cut快捷键(Ctrl+X)的切线功能吗?

我尝试过的:

  • when 子句添加到cuteditorHasSelection

    Keyboard Shortcuts 菜单如下所示:

    我的keybindings.json

    [
        {
            "key": "ctrl+x",
            "command": "editor.action.clipboardCutAction",
            "when": "editorHasSelection"
        },
        {
            "key": "ctrl+x",
            "command": "-editor.action.clipboardCutAction"
        }
    ]
    

    保存并重新打开 VSCode 后,cut 仍然可以正常工作。

  • keybindings.json中删除第二个快捷方式:

    我的keybindings.json

    [
        {
            "key": "ctrl+x",
            "command": "editor.action.clipboardCutAction",
            "when": "editorHasSelection"
        }
    ]
    

    Keyboard Shortcuts 菜单更改为:

    保存并重新打开 VSCode 后,cut 仍然可以正常工作。

信息

  • Ubuntu 20.04
  • Visual Studio 代码版本 1.55.2
  • 根据代码重新创建 - Insiders 1.56.0-insider(13f1aff,2021-04-28T04:52:56.570Z)

【问题讨论】:

  • 实际上对我来说似乎是一个错误-您无法以明显且正确的方式禁用clipboardCutAction。但是请参阅此答案以获得有效的解决方案:stackoverflow.com/a/48659458/836330 但他使用的命令不再被识别,也许使用notifications.clearAll 而不是绑定到ctrl+x
  • @Mark 这行得通!使用notifications.clearAll 就像魅力一样。
  • 我提出了一个问题,但现在它被忽略了(9 小时没有响应)。 github.com/microsoft/vscode/issues/122518
  • vscode 团队正在对下周的新版本进行最终测试,因此可能需要一段时间。
  • 您应该添加问题解决方案作为答案。

标签: visual-studio-code


【解决方案1】:

这是一个错误,现已修复并从 1.56.0 (Issue) 开始发布。

alexdima 来自 VSCode 团队的回应是:

ctrl+x 只是特殊的,需要绑定到 no-op 以停止默认值。我添加了一个不执行任何操作的noop 命令。


    {
        "key": "ctrl+x",
        "command": "noop"
    },
    {
        "key": "ctrl+x",
        "command": "editor.action.clipboardCutAction",
        "when": "editorHasSelection"
    }

【讨论】:

    【解决方案2】:

    使用第一个匹配的键绑定。

    首先定义删除键绑定

    [
        {
            "key": "ctrl+x",
            "command": "-editor.action.clipboardCutAction"
        },
        {
            "key": "ctrl+x",
            "command": "editor.action.clipboardCutAction",
            "when": "editorHasSelection"
        }
    ]
    

    【讨论】:

    • 不幸的是,这不起作用。关于“首先定义删除键绑定”,我更新了我的问题,对此进行了更多说明。
    • 确实使用了第一个匹配的键绑定,但它是自下而上评估的。见code.visualstudio.com/docs/getstarted/…
    • @pilgrim 然后使用键盘快捷键调试来查看当您禁用和 ctrl+X 并绑定到不同的组合键时会发生什么
    • @rioV8 我做了键绑定检查,然后它与任何命令都不匹配,但仍然切断了整行??内置的东西覆盖了禁用的尝试 - 这就是为什么我认为这是一个错误。
    • @Mark 也许有硬编码的键绑定,询问 vscode 问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2023-03-27
    • 2017-06-04
    • 2020-12-08
    • 1970-01-01
    相关资源
    最近更新 更多