在vscode中配置任务是一种简化工作流程的有效方法,特别是在处理如golang项目构建这样的任务时。让我们来看看如何在vscode中配置任务以构建golang项目,同时保留原文中的图片位置和格式。
首先,让我们简单介绍一下在VSCode中如何配置任务。
VSCode配置任务的基本步骤如下:
打开命令面板:使用快捷键
Ctrl + Shift + P(Windows/Linux)或
Cmd + Shift + P(Mac)打开VSCode的命令面板。
选择任务配置:在命令面板中输入“Configure Tasks”并选择“Configure Tasks”选项。
选择任务模板:选择“Create tasks.json file from template”,然后选择“Others”来创建一个空的
tasks.json文件。
编辑任务配置:在创建的
tasks.json文件中,添加以下内容以配置Golang构建任务:
{
"version": "2.0.0",
"tasks": [
{
"label": "Golang Build",
"type": "shell",
"command": "./tools/run.sh",
"args": [
"${input:platform}"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
}
],
"inputs": [
{
"id": "platform",
"description": "Target platform",
"default": "darwin",
"type": "promptString"
}
]
}这个配置定义了一个名为“Golang Build”的任务,它使用
run.sh脚本来构建项目,并通过用户输入来指定目标平台(如
darwin、
linux、
windows)。
运行任务:使用快捷键
Shift + Ctrl + B(Windows)或
Shift + Command + B(Mac)来运行配置的任务。
具体的配置详情,请参阅 VSCode任务配置文档。
接下来,让我们看一下Golang构建项目的脚本示例:
以下是脚本的解释和示例:
#!/bin/bash # 以下是配置设置并跳转到项目根目录
projectDir=$(cd "$(dirname "$0")/../"; pwd) cd $projectDir
项目配置
projectName="example" projectDist="./dist/" projectRelease="./release"
服务器项目配置,若不是服务器项目,则无需配置
serverURL="https://www./link/1ce5e897cda6aeb211dffe8d514f4365"
打包配置
platform=$1 # darwin linux windows echo "目标:${platform}"
设置临时环境变量
export GOPATH="${projectDir}/../global:${projectDir}" export CGO_ENABLED=0 export GOOS=$platform export GOARCH="amd64"
开始打包
echo "-> 开始编译..." go build src/main.go
echo "-> 开始打包:" echo " 打包路径:${projectDist}" if [ -d "${projectDist}/" ]; then rm -r "${projectDist}/" fi mkdir "${projectDist}/"
复制资源路径到dist目录,若没有资源,则无需配置
cp -r "conf/" "${projectDist}/conf/"
移动并重命名
echo "-> 移动到dist目录" mv "main" "${projectDist}/$projectName"
授予可执行权限
chmod 777 "${projectDist}/$projectName" echo " 打包完成,程序入口:${projectDist}/$projectName"
压缩备份,方便上传,此步骤不是必须的
if [ ! -d "${projectRelease}/" ]; then mkdir "${projectRelease}/" fi tar -zcvf "$projectRelease/${projectName}-${platform}.tar.gz" "${projectDist}"
执行文件并输出日志
ps -ef|grep "$projectName"|grep -v "grep"|awk '{print $2}'|xargs kill -9 cd $projectDist ./$projectName > std.log 2>&1 &
打开服务器URL,若不是服务器项目,则无需执行该步骤
open $serverURL
这个脚本首先设置项目目录和临时环境变量,然后编译Golang项目,移动和重命名可执行
文件,复制资源文件(如果有),压缩备份,最后运行可执行文件并输出日志。
最后,如果你使用Git来管理项目,记得在
.gitignore文件中添加以下内容以忽略打包生成的目录:
dist/ release/
这样可以确保你的版本控制系统不跟踪这些临时生成的文件。
最后,附上一张可爱的土拨鼠图片吧 ^0^