# VSCode 快捷任务配置

在写个人博客时,会频繁在终端使用 Hexo 命令和 git 命令等,手动输入比较麻烦,因此,可以通过 VScode 配置 task任务 的形式将常用的命令操作简化,这种方法还可以将博客源文件快捷推送到 githubgitee 等远程仓库上,实现手动备份,而无需复杂的 workflow 自动化配置。

VScode 中 task任务 有许多属性,可以自行百度了解,此处用到的主要属性及语义如下:

属性语义
label任务名称
type任务类型,分为 shellprocess 两种,安装插件也可以支持其他类型
command需要执行的命令,包括 shell 命令或者外部程序命令
options配置 cwd(当前工作目录)、env(环境变量)和 shell 的值

首先,打开博客目录所在工作区,在 .vscode 文件夹下创建一个 tasks.json 名称的文件,向其中写入以下内容:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        // 本地启动博客
        {
            "label": "本地启动",
            "type": "shell",
            "command": "hexo cl && hexo g && hexo s",
            "options": {
                "cwd": "${workspaceFolder}/MyBlog"
            }
        },
        // 博客发布到 gitee、github
        {
            "label": "发布博客",
            "type": "shell",
            "command": "hexo deploy",
            "options": {
                "cwd": "${workspaceFolder}/MyBlog"
            }
        },
        // 博客源文件备份到 github
        {
            "label": "博客备份",
            "type": "shell",
            "command": "git add . && git commit -am \"博客源文件备份\" && git push github main",
            "options": {
                "cwd": "${workspaceFolder}/MyBlog"
            }
        }
    ]
}

复制上述任务配置内容后,需要注意 cwd 属性中的任务工作目录配置, ${workspaceFolder} 表示工作区根目录, MyBlog 则是个人博客文件夹的名称,组合起来就是任务运行时的工作路径,所以使用前要根据具体的博客文件夹的路径来替换这里的内容。另外在 博客备份 任务配置的 command 命令中, github 是本地仓库绑定的远程备份仓库名称, main 是分支名称,根据需要更改。

任务配置完成后,可以在 VScode 左上角的 工具栏 中点击 终端 ,选择 运行任务 ,即可看到已配置好的任务,点击任务名称即可执行相应命令操作。

# task 任务绑定快捷键

为 task 任务绑定相应的快捷键可以更方便的操作。在 VScode 上方搜索栏中输入 keybindings.json , 可以在文件内容的末尾添加以下内容:

{
    "key": "alt+s",
    "command": "workbench.action.tasks.runTask",
    "args": "本地启动"
},
{
    "key": "alt+d",
    "command": "workbench.action.tasks.runTask",
    "args": "发布博客"
},
{
    "key": "alt+b",
    "command": "workbench.action.tasks.runTask",
    "args": "博客备份"
}

其中 key 属性代表所绑定的快捷键; command 属性为快捷键执行的命令类型,不要更改; args 属性则是快捷键执行参数,此处即对应的任务名称 label

注意,要将内容添加在文件默认的 [] 内,另外多个快捷键绑定内容间要以英文逗号间隔,最后一个快捷键绑定内容后面则无需逗号。

除了通过快捷键快速运行任务以外,还可以在 VScode 扩展商店中搜索 tasks 安装扩展插件,该插件会将配置好的任务显示在 VScode 下方的状态栏中,点击即可一键使用。如果任务过多,可以查看点击安装的 task 扩展查看说明,隐藏一部分任务。