博主最近在尝试复现小智桌面屏幕, 本人的开发环境是在虚拟机Ubuntu22.04中搭建esp-idf开发环境和samba服务器, 并且在windows主机上使用vscode ssh remote远程开发.
如图所示, 本来是正常的, 可能是载入项目的时候因为某种位置情况影响, 导致我的VS从的无法正确读取到对应的头文件, 这样搞得整个IDE的很多功能瘫痪了, debug什么的完全不方便, 后面发现是

vscode 自己有一个IntelliSense 功能, 是专门用来智能实现语法检查, 代码补全之类的功能的
1. 首先确保环境变量正确, 输入 echo $IDF_PATH :

2. 删除或修正 VSCode 的旧配置
VSCode 使用 c_cpp_properties.json 文件配置 IntelliSense。可以通过以下方式修正:
- 打开 VSCode 命令面板
Ctrl+Shift+P。 - 运行命令
C/C++: Edit Configurations (JSON),确认头文件路径和工具链。 - 也可以
Ctrl+P搜索c_cpp_properties.json
如果找不到的话可以自行在.vscode文件夹下添加c_cpp_properties.json,如果.vscode文件夹也没有的话直接在项目文件夹下创建就好啦.
这里我直接指定了项目的includePath 和 browse:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/esp-idf/components/**",
"${workspaceFolder}/esp-idf/components/esp32/include"
],
"defines": [],
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64",
"browse": {
"path": [
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
},
"compileCommands": "${workspaceFolder}/proj/DesktopScreen-debug/build/compile_commands.json"
}
],
"version": 4
}
3. (IntelliSense 正确配置必须!)使用 compile_commands.json
选择正确的 compile_commands.json 解决 IntelliSense 问题:
- 打开命令面板
Ctrl+Shift+P,选择C/C++: Select IntelliSense Configuration。 - 选择项目生成的
compile_commands.json文件路径,如:Use ${workspaceFolder}/proj/DesktopScreen-debug/sample_project/build/compile_commands.json 回车后显示这个画面:

直接选择第一个, 回车, 就指定了编译路径, 然后就搞定了, 其实也就是在c_cpp_properties.json中加入了一段配置.
"compileCommands": "${workspaceFolder}/proj/DesktopScreen-debug/build/compile_commands.json"
TIPS: 后面测试了一下, 发现这段compileCommands是一定要的, 不然IntelliSense就没法找到对应esp-idf 的一些依赖, 会报错.
1万+





