基于VS CODE 的esp32 IDF开发,部分函数无法跳转问题

文章主要针对ESP32开发中遇到的部分函数无法跳转到源文件的问题,提供了解决方案。通过调整SDK包的位置,创建个人工程文件夹,并使用ESP-IDF工具,可以实现函数的跳转,尽管可能影响VSCode的编译功能,但可以通过CMD工具进行编译和烧录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文不是介绍头文件无法找到的问题,介绍的是关于组件中部分函数无法跳转到源文件的问题(若是头文件无法找到,请参考https://blog.csdn.net/weixin_42131637/article/details/121726213(这种方法大部分时候需要再配置一下自己的环境,小编的环境已经很混乱了,所以还有部分头文件显示找不到,小白建议不要随便乱配置),或者直接利用vs code里面的ESP-IDF explorer工具直接生成)

很多进行ESP32开发的用户都使用过vs code里面的ESP-IDF explorer工具生成过工程,此时,工程中需要的函数大部分都可以跳转,且运行正常,头文件也能找到,但是,还有部分函数或宏定义可正常使用,看网上别人也能找到定义,但自己跳转就显示:未找到“xxxxx”的定义。为此小编也苦恼了很久,之后找到了解决方法,但强迫症患者建议不使用下面的方法。

首先,因为我们安装ESP-IDE工具的时候,会自动下载SDK包,我们先找到安装ESP-IDE工具的安装位置里的代码包位置esp-idf-v5.0.1(如图)

其实我们也可以将SDK包从中取出,单独建立一个文件夹,但每次需要跳转会比较麻烦,因此建议就放在工具链的SDK包里。或者将工具链的其实位置修改。如图:

此处存在两个坑:1.此时如果sdk包你觉得难找,修改了工具链上层的文件夹名称,那么ESP-IDF工具将无法使用(自己不会配置的建议不要修改)2.工具链的起始位置和代码包不能保存在两个不同的电脑盘,因为根目录是电脑盘(C:\;D:\....),工具是无法跨盘跳转的

之后我们在代码包文件夹下创建一个自己的工程文件夹

然后在example下找到自己想要的demo

将自己选择的demo复制到自己的工程文件夹,此时工程创建基本完成

此时进行编辑,采用vs code 打开整个SDK包(此时会出现2个问题)

  1. 头文件会再次变红,小编建议不管

  1. 此时工程加载较慢,可呢能还是有函数找不到的情况,无法跳转则在左侧搜索,搜不到多搜索几遍,实在搜不到就是原厂封装住了(此功能和电脑性能有关,电脑越好越容易查找)。

或者,就是先跳转到头文件,然后找到源文件(就和h文件名字类似的c文件,打开即可快速搜索到)

此时,文件可正常跳转,且不影响使用(当然,用vs code是编译不了了)。

此时,对于工程的编译,采用ESP-IDF 5.0 CMD工具,打开之后,由于SDK包目录就是起始位置,只需要在工具初始化完成后,打开自己新建的文件夹下找到对应工程的CMakeLists.txt同级文件夹下运行idf.py build即可编译,之后烧录,查看

根据引用\[1\]中的描述,PlatformIO是一个开发环境,可以与VS Code结合使用,提供了强大的编辑和构建能力。它支持ESP32 S3开发,并可以替代Arduino IDE,提供自动补全、函数跳转函数提示等功能。从Arduino IDE切换到PlatformIO相对简单,只需要稍作修改文件结构即可。然而,引用中也提到了PlatformIO切换例程稍显麻烦。 根据引用\[2\]中的描述,安装完成PlatformIO后,可以通过点击左下角的蚂蚁头logo图标打开PlatformIO IDE主页。然后可以选择+New Project创建工程,填写项目名称、选择开发板和框架,并选择保存路径。完成后,可以打开工程文件夹,编辑src目录下的main.cpp文件。 根据引用\[3\]中的描述,如果创建ESP32S3文件的过程比较慢,可能是由于网络原因导致的。在创建工程时,需要从网络上下载一些文件,如果网络不稳定或速度较慢,就会导致创建过程变慢。在这种情况下,建议耐心等待,或者尝试使用更稳定和快速的网络环境。 综上所述,如果PLATFORMIO创建ESP32S3文件慢,可能是由于网络原因导致的。建议耐心等待或尝试使用更稳定和快速的网络环境。 #### 引用[.reference_title] - *1* *2* [ESP32 S3 的VS Code + PlatformIO 开发环境搭建](https://blog.csdn.net/CNCTECHENT/article/details/125335358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [[ESP32][esp-idf] esp32s3 快速搭建LVGL V7.9](https://blog.csdn.net/qq_29246181/article/details/125931457)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值