如何使用单个键盘快捷键在 VS Code 的源代码管理视图中聚焦 git 提交消息输入?

问题描述 投票:0回答:3

如何从源代码管理视图调用提交输入消息框(使用一个命令/快捷方式)?

git.commitall
调用浮动提交消息窗口。

我想要源代码管理中的一个的原因是它提供了带有箭头键的提交历史记录,并且还向您显示了下面的更改。

git visual-studio-code key-bindings vscode-keybinding
3个回答
0
投票

将其放入 keybindings.json 中,您可以使用

命令面板中的 
Preferences: Open Keyboard Shortcuts (JSON) 命令打开

{
    "key": "", // TODO
    "command": "runCommands",
    "args": {
        "commands": [
            "workbench.scm.focus",
            "list.focusFirst",
            "list.focusDown",
            "list.select",
        ],
    },
    "when": "gitOpenRepositoryCount >= 1",
},
{
    "key": "", // TODO can put the same thing as above
    "command": "runCommands",
    "args": {
        "commands": [
            "workbench.scm.focus",
            "list.focusFirst",
            "list.select",
        ],
    },
    "when": "gitOpenRepositoryCount == 1",
},

注意:我独立提出了这个解决方案,然后在发布它后,决定寻找可能的重复目标,发现Mark已经在here发布了类似问题的类似答案(除了那里的问题没有) “一个键盘快捷键”约束,所以我不会标记这两个问题之间的重复)。然而,当有多个打开的存储库时,我的答案可以处理,而马克的答案则不能。我的答案也不需要安装任何扩展(Mark的答案是在

runCommands
还不存在的时候写的)。


-1
投票
  • 可以使用快捷键

    Ctrl + Shift + G G
    打开源码 从活动的 VS Code 窗口进行控制。

  • 您还可以通过按

    Ctrl + K Ctrl + S
    (
    File > Preferences > Keyboard Shortcuts
    ) 查找键盘快捷键列表,或者您可以使用 Windows 网络上的 VS Code 备忘单

  • 此外,您可以通过编辑命令并指定您自己的快捷键来为命令提供您自己的键绑定。

更新

如何定义自己的按键绑定?

1- 按

Ctrl + K
Ctrl + S

打开键盘快捷键

2- 搜索命令

workbench.view.scm
Source Control

3- 您可以通过单击编辑图标(将鼠标悬停在行上时看到编辑图标)或双击特定命令的 Keybindings 列单元格(在本例中为

workbench.view.scm)来定义自己的键绑定
)。

4- 将出现一个弹出窗口,标题为“按所需的组合键,然后按 ENTER”。在这里您可以从键盘上按所需的键,例如如果我立即按

ctrl + shift + M
,然后按 Enter,这将是我用于源代码控制的新键绑定(键盘快捷键)


-1
投票

一个可能的解决方法是调用源代码控制视图本身:

Ctrl+Shift+G,然后作为单独的键:G

您将直接进入“消息”字段,准备输入提交消息。


通过另一个命令直接切换到该消息字段似乎不存在:因此

File > Preferences > Keyboard Shortcuts
不会提出任何其他可能的快捷方式定义。
上面提到的当前 Ctrl+Shift+G(命令
workbench.view.scm
)足以满足您的用例。

但是,正如评论的那样

不幸的是,G似乎不允许我立即输入消息。
它只是“选择”该框,但不会将光标放在框内

要立即输入消息,只有“全部提交”才允许,因为它将打开

COMMIT_MSG
临时文件,以便您输入(可能是多行)提交消息。
您可以将
git.commitAll
映射到快捷方式。

“Git Commit”(

git.commit
)也可以使用,但要求您首先将文件添加到索引中。

© www.soinside.com 2019 - 2024. All rights reserved.