visual-studio-code - 使用唯一 ID 自动执行构建任务
问题描述
我已经编写了一些嵌入式代码(使用 VS-Code 作为我的 IDE),可以部署到许多不同的设备上。
该代码包含一个config.h
定义唯一device_id
需要为每个设备更改的唯一性。
我有一个文件unique_ids.csv
,其中包含我需要使用的所有唯一 ID。
VS-Code 可以自动构建我的项目并创建一个名为project_name.bin
.
如何设置一个脚本,自动从我的 CSV 文件中获取 uniqe id 并构建一个特定的device_id.bin
为每个文件构建一个特定的文件?
我怀疑这可能需要以某种方式使用 Visual Studio 任务。这是我目前的tasks.json
:
任务.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"name": "make",
"isShellCommand": true,
"showOutput": "always",
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}/mbed-os"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"args": ["-j"],
"linux": {
"command": "make"
},
"osx": {
"command": "make"
},
"windows": {
"command": "make.exe"
}
}
解决方案
考虑另一种方法,我可能不会直接回答。
如果您将 csv 用于发布而不是用于调试,为什么要在 VS 中构建发布?我宁愿在 VS 中构建我的调试,并使用带有批处理脚本的命令行构建我的不同版本。
像这样的批处理伪代码
set id_list=unique_ids.csv
set id=
for %%a in (%id_list%) do (
set "id=%%~na"
replace in config.h device_id by device_%id%
make your_project
)
推荐阅读
- javascript - 反应:应用程序多次请求相同的端点
- javascript - 单击按钮后,文本区域输入未设置为空字符串,并且文本区域光标未从头开始
- java - Android - 从 uri 加载照片
- python - 在 OpenSSL 或 Python 中使用给定密钥解密 AES-256 文件
- grails - 无法使用 Java 11 运行 Grails 4.0.1 cli - 在堆栈跟踪中出现空指针错误
- c# - 双斜杠在字符串 C# 中无法正常工作
- angular - app.module.ts 中声明的 Angular 子 html 引用组件
- codeblocks - 我需要在 Code::Blocks 中更改工作区的颜色
- c# - 有没有办法在 c# 中将参数与访问器一起使用
- python - 如何正确使用 Keras 添加层?