普通的idf工程在vscode下直接打开的时候,会发现很多头文件都是报错的,一些函数/类型等的定义也无法找到,比较影响阅读:
因此在vscode上开发esp32的时候,最好为这个工程提供vscode的支持,以下是三种实现的方法
通过vscode的"ESP-IDF:Show Examples Project"页面中新建工程。
参考我之前的文章<在ubuntu 20.04中,通过vscode的插件来搭建ESP32-S3的开发环境>中的第三节
将普通esp-idf工程升级成esp-vscode工程
从一个有效的esp-vscode工程中复制.vscode和.devcontainer文件夹,到当前的esp-idf工程文件夹内,就可以了。
原理可以通过对比下图中,找到vscode新建的工程与esp-idf/examples/protocol/socket内的原始版本的不同点:
新增加的.vscode文件夹内记录的信息,给vscode实现代码包含/编译/烧录的。
而.devcontainer文件夹则是通过之前自动安装的Dev Containers插件生成的,看说明是用来做docker容器的,虽然不知道怎么用,但也加上吧…
通过"ESP-IDF:New Project"创建新工程
在vscode中按F1打开"Command Palette",输入"new proj"选中"ESP-IDF:New Project"
依次设置:项目名,存储路径,板子类型,串口号。最后点击右下角的"Choose Template"
选中"ESP-IDF"
点击"wifi" - “scan"标签,再点击"Create project using template scan”。就创建出新的工程了。
创建成功后,左下角会有弹窗提示是否打开新的工程,也可以直接通过菜单栏的file-open floder打开对应的工程。
需要注意的是,在打开或者保存工程位置的窗口里,就算手动用鼠标点中了"esp_project"标签,但"esp32_network123"文件夹有高亮显示,所以这里点击"open"后,实际选中的是"esp32_network123"文件夹。