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

如何让VS Code记住自定义构建任务的上次输入字符串?

实现VS Code构建任务记住上次输入的目标名称

原生VS Code的promptString输入类型本身不支持自动保存并填充上次输入的内容,但可以通过以下两种方式实现需求:

方法1:使用VS Code扩展

  • 安装Input History扩展,它会自动记录你在VS Code各类输入框中的历史内容,包括任务输入的目标名称。触发任务输入时,按上下箭头即可调出之前输入过的内容,无需重复手动输入。

方法2:自定义脚本存储上次输入值

如果不想依赖扩展,可以通过脚本实现输入值的保存与自动填充:

  1. 创建一个名为get_target.sh的shell脚本(放在项目根目录):
    #!/bin/bash
    LAST_TARGET_FILE=".last_build_target"
    # 读取上次保存的目标值
    if [ -f "$LAST_TARGET_FILE" ]; then
        LAST_TARGET=$(cat "$LAST_TARGET_FILE")
    else
        LAST_TARGET="FooApp" # 设置初始默认值
    fi
    # 提示用户输入,默认显示上次的值
    read -p "Target: [$LAST_TARGET] " INPUT_TARGET
    # 若用户未输入,使用上次的值;否则用新输入的值
    TARGET=${INPUT_TARGET:-$LAST_TARGET}
    # 保存本次输入的目标值
    echo "$TARGET" > "$LAST_TARGET_FILE"
    # 输出目标值供构建任务使用
    echo "$TARGET"
    
  2. 给脚本添加执行权限:
    chmod +x get_target.sh
    
  3. 修改tasks.json,移除原有的inputs配置,更新任务的command:
    {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "buildsys",
                "command": "buildsys build $(./get_target.sh)",
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "options": {
                    "env": {
                        "PATH": "${env:PATH}:/Dev/BuildSystem/bin"
                    }
                },
                "problemMatcher": ["$gcc"],
                "detail": "My custom build task"
            }
        ]
    }
    
    后续执行任务时,脚本会自动填充上次输入的目标名称,直接回车即可复用,输入新值也会自动保存为下次的默认填充值。

内容的提问来源于stack exchange,提问作者Rob N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:52:20