If you are specifically looking to rerun the last shell command, see Make a keybinding to run previous or last shell commands
Older answer (see above)
So this is a little funky because for the workbench.action.acceptSelectedQuickOpenItem command to work, the command palette must be open. So it will flash open briefly whenever you use the macro keybinding.
Using the macrosRe extension:
"macros": {
"rerunCommand": [
"workbench.action.showCommands",
"workbench.action.acceptSelectedQuickOpenItem"
]
}
I assume you have "workbench.commandPalette.history": 50, set to at least one so that the most recently used command is at the top of the command palette. [I think that setting always puts the last command at the top and selects it.]
And then some keybinding:
{
"key": "ctrl+;",
"command": "macros.rerunCommand"
},