当我们在Ubuntu中用vscode打开ESP32的例程时,发现头文件处有红色的波浪线,不能够进行正常的编译,这时候怎么办呢?
这是因为我们没有配置头文件的路径,所以第一步呢,我们需要配置下整个工程的头文件路径。又因为SDK和编译器代码是分开的,所以我们需要手动指定路径头文件。
打开vscode,先Ctrl+Shift+P打开命令,也可以在左上角点击查看-命令面板打开命令。然后输入configuration,点击第一个即可。
接着呢,在includePath中添加ESP32头文件的具体路径,我的文件路径为
/home/eric/esp/esp-idf/**
更改代码如下:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/home/eric/esp/esp-idf/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
此时,点击保存后,发现红色的波浪线已经完全消失了!说明我们的头文件已经配置成功了!好的开始是成功的一半!
我们在使用keil时,编译51、stm32的代码十分方便,那么esp32能不能以快捷的方式进行一键编译呢?当时是行的!
第一步,先进行任务配置。
首先按下Ctrl+Shift+P打开命令窗口,输入task,这时会出现如下选项:
我们选择第一个,然后选择tasks.json文件,选择others,然后用如下代码对源代码全部进行替换。
{
"version": "2.0.0",
"tasks": [
{
"label": "build app", // f5
"type": "shell",
"command": "cd ${fileDirname} && cd ../ && make -j8",
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "flash app", // f6
"type": "shell",
"command": "cd ${fileDirname} && cd ../ && make -j8 flash"
},
{
"label": "monitor", // f7
"type": "shell",
"command": "cd ${fileDirname} && cd ../ && make monitor"
},
{
"label": "clean app", // f8
"type": "shell",
"command": "cd ${fileDirname} && cd ../ && make clean",
},
{
"label": "erase flash", // f9
"type": "shell",
"command": "cd ${fileDirname} && cd ../ && make erase_flash",
},
{
"label": "menuconfig", // f10
"type": "shell",
"command": "cd ${fileDirname} && cd ../ && make menuconfig"
},
]
}
第二步进行快捷键配置
首先按下Ctrl+Shift+P打开命令窗口,输入preference,选择第一个,然后打开keybindings.json。
然后用如下代码进行全部替换
[
{
"key": "f5",
"command": "workbench.action.tasks.runTask",
"args": "build app"
},
{
"key": "f6",
"command": "workbench.action.tasks.runTask",
"args": "flash app"
},
{
"key": "f7",
"command": "workbench.action.tasks.runTask",
"args": "monitor"
},
{
"key": "f8",
"command": "workbench.action.tasks.runTask",
"args": "clean app"
},
{
"key": "f9",
"command": "workbench.action.tasks.runTask",
"args": "erase flash"
},
{
"key": "f10",
"command": "workbench.action.tasks.runTask",
"args": "menuconfig"
}
]
完成后点击保存,这个时候我们就可以在主函数界面选择相应的快捷键进行编译,下载,监控,擦除,配置等操作啦~