有没有一种方法可以在 Visual Studio 代码中用一个命令保存所有文件、提交和上传
Is there a way to save all files, commit and upload in one command in Visual Studio Code
我发现自己对我的代码做了很多修补程序,我必须在远程机器上进行测试。在 visual studio 代码中,有没有办法设置一个宏
- 保存所有打开的文件
- 提交更改(使用空白或随机提交消息)
- 上传所有提交
谢谢!
我认为你可以设置一个任务来为你完成工作https://code.visualstudio.com/docs/editor/tasks
如果这还不够,请告诉我,我可以给你写一个例子。
任务中最好的事情是,您可以将它们绑定到热键
为此,您需要一次 运行 多个命令,因此您需要一个扩展。使用 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": "extension.multiCommand.execute",
"args": { "command": "multiCommand.syncAllFiles" },
},
tasks.json:
{
"tasks": [
{
"label": "syncAll",
"type": "shell",
"command": "git add .;git commit -m 'Automatic Commit';git pull;git push",
}
]
}
不保存文件:
keybindings.json
:
{
"key": "ctrl+alt+s",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "git add . && git commit -a -m 'Update' && git push\u000D"
}
}
关于sendSequence
:https://code.visualstudio.com/docs/editor/integrated-terminal#_send-text-from-a-keybinding
保存文件:
MoreThanTom
的已调整:
(使用 https://marketplace.visualstudio.com/items?itemName=ryuta46.multi-command)
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
.
我发现自己对我的代码做了很多修补程序,我必须在远程机器上进行测试。在 visual studio 代码中,有没有办法设置一个宏
- 保存所有打开的文件
- 提交更改(使用空白或随机提交消息)
- 上传所有提交
谢谢!
我认为你可以设置一个任务来为你完成工作https://code.visualstudio.com/docs/editor/tasks
如果这还不够,请告诉我,我可以给你写一个例子。 任务中最好的事情是,您可以将它们绑定到热键
为此,您需要一次 运行 多个命令,因此您需要一个扩展。使用 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": "extension.multiCommand.execute",
"args": { "command": "multiCommand.syncAllFiles" },
},
tasks.json:
{
"tasks": [
{
"label": "syncAll",
"type": "shell",
"command": "git add .;git commit -m 'Automatic Commit';git pull;git push",
}
]
}
不保存文件:
keybindings.json
:
{
"key": "ctrl+alt+s",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "git add . && git commit -a -m 'Update' && git push\u000D"
}
}
关于sendSequence
:https://code.visualstudio.com/docs/editor/integrated-terminal#_send-text-from-a-keybinding
保存文件:
MoreThanTom
的
(使用 https://marketplace.visualstudio.com/items?itemName=ryuta46.multi-command)
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
.