有没有一种方法可以在Visual Studio Code中的一个命令中保存所有文件,提交和上传

时间:2018-08-15 15:10:01

标签: visual-studio-code vscode-settings

我发现自己对代码进行了大量修补程序,因此我必须在远程计算机上进行测试。在Visual Studio代码中,有没有一种方法可以设置将

  1. 保存所有打开的文件
  2. 提交更改(带有空白或随机提交消息)
  3. 上传所有提交

谢谢!

3 个答案:

答案 0 :(得分:1)

为此,您需要一次运行多个命令,因此需要扩展。使用ryuta46.multi-command和此配置,Ctrl+Alt+S将保存并推送您的所有文件

settings.json(Ctrl+,):

{
    "multiCommand.commands": [{
        "command":"multiCommand.syncAllFiles",
        "sequence": [
            "workbench.action.files.saveAll",
            {
                "command": "workbench.action.tasks.runTask",
                "args": "syncAll"
            },
            "workbench.action.terminal.toggleTerminal"
        ]
    }]
}

我添加了一条命令,可在运行命令后切换终端,以使它不会在每次运行命令时保持打开状态。不幸的是,即使终端已经打开,它也会发生,因此,如果您不希望这样做,只需删除该行即可。

keybindings.json(Ctrl+K Ctrl+S):

[
    {
        "key":"ctrl+alt+s",
        "command": "multiCommand.syncAllFiles"
    }
]

tasks.json:

{
    "tasks": [
        {
            "label": "syncAll",
            "type": "shell",
            "command": "git add .;git commit -m 'Automatic Commit';git pull;git push",
        }
    ]
}

答案 1 :(得分:0)

我认为您可以设置一个任务来为您完成工作https://code.visualstudio.com/docs/editor/tasks

如果这还不够,请告诉我,我可以写一个例子。 任务中最好的事情是,您可以将它们绑定到热键

答案 2 :(得分:0)

不保存文件:

keybindings.json

{
    "key": "ctrl+alt+s",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
        "text": "git add . && git commit -a -m 'Update' && git push\u000D"
    }
}

关于sendSequencehttps://code.visualstudio.com/docs/editor/integrated-terminal#_send-text-from-a-keybinding


保存文件:

MoreThanTom的{​​{3}}已调整:

(使用answer

settings.json

"multiCommand.commands": [
    {
        "command": "multiCommand.syncAllFiles",
        "sequence": [
            "workbench.action.files.saveAll",
            {
                "command": "workbench.action.terminal.sendSequence",
                "args": {
                    "text": "git add . && git commit -a -m 'Update' && git push\u000D"
                }
            }
        ]
    }
]

keybindings.json

{
  "key": "ctrl+alt+s",
  "command": "extension.multiCommand.execute",
  "args": { "command": "multiCommand.syncAllFiles" },
}

不需要tasks