You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code中向终端发送上箭头按键以重跑命令?

在VS Code中配置快捷键重跑终端上一条命令

在VS Code中,若要编写快捷键向终端发送命令,可在~/.config/Code/User/keybindings.json中配置,示例如下:

{
    "key": "alt+p",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
        "text": "git push\u000D"
    }
},

其中\u000D是回车的Unicode编码,用于触发命令执行。

需求:配置快捷键实现「调用上一条命令并执行」

需要实现的效果是:按下快捷键后,等效于在终端按「上箭头」再按回车,快速重跑上一条命令。

目前有两个临时方案:

方案一:利用Shell的!!命令(仅兼容类Unix系统)

{
    "key": "shift+alt+1",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
        "text": "\u0021\u0021\u000D"
    }
},

\u0021是!的Unicode编码,发送!!再回车后,在bash等类Unix Shell中,!!会自动展开为最近执行的命令并执行。但该方案仅适用于类Unix系统,Windows的CMD/PowerShell不支持!!语法,无法兼容。

方案二:复制粘贴上一条命令(跨平台但会覆盖剪贴板)

{
    "key": "shift+alt+1",
    "command": "runCommands",
    "args": {
        "commands": [
            "workbench.action.terminal.copyLastCommand",
            "workbench.action.terminal.paste",
            {
                "command": "workbench.action.terminal.sendSequence",
                "args": {
                    "text": "\u000D"
                }
            }
        ]
    }
},

通过runCommands组合三个动作:复制终端最后一条命令、粘贴、发送回车执行。该方案能跨平台使用,但会覆盖剪贴板原有内容,存在副作用。


内容的提问来源于stack exchange,提问作者Jake Levi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:19:59