您好,欢迎访问宜昌市隼壹珍商贸有限公司
400 890 5375不推荐新项目使用Deviot插件,因其依赖已停止维护的PlatformIO Core 4.x,且在Sublime Text 4、Arduino 2.0+及ESP-IDF项目中补全失效;推荐改用Sublime+PlatformIO CLI+ECC组合方案实现真实补全与烧录。
不推荐新项目用 Deviot。它底层依赖已停止维护的 PlatformIO Core 4.x,而当前主流是 PlatformIO Core 6.x;Sublime Text 4 对 Python 3.8+ 插件兼容性变差,Deviot 的自动补全在 Arduino 2.0+ SDK 或 ESP-IDF 项目中常失效,且无法识别 platformio.ini 中自定义的 lib_deps 路径。
核心思路:绕过 Deviot,直接让 Sublime 调用本地已安装的 pio 命令生成 compile_commands.json,再由 EasyClangComplete(ECC)插件读取该文件提供 C/C++ 补全。
platformio:pip install platformio
pio init --ide sublime(会生成
.sublime-project 和 compile_commands.json)EasyClangComplete(通过 Package Control).clang_complete,内容为:-I./.pio/libdeps/uno/ -I./.pio/frameworks/arduino-avr/cores/arduino -I./.pio/frameworks/arduino-avr/variants/standard(路径需按实际
.pio 结构调整)即使配置了 ECC,digitalWrite()、Serial.print() 这类函数仍不提示,通常卡在这几个点:
compile_commands.json 没生成或路径不对 —— 检查是否在正确项目目录下执行了 pio init,且 .sublime-project 中 "folders" 指向的是含 platformio.ini 的根目录.clang_complete 中的 -I 路径必须精确到 cores/arduino 目录,不能只写到 frameworks/arduino-avr
.sublime-project 同级的 .sublime-workspace 文件再重开Sublime 本身不处理烧录,得靠快捷键绑定 pio 命令:
{
"cmd": ["pio", "run", "-t", "upload"],
"working_dir": "${project_path}",
"selector": "source.c, source.cpp",
"shell": true
}保存为 PlatformIO Upload.sublime-build
{"keys": ["ctrl+alt+u"], "command": "build", "args": {"select": true}}
pio run -t upload 会先编译再烧录,但若板子未接入或串口被占,错误信息全堆在 Sublime 底部状态栏,建议先手动跑 pio device list 确认端口
补全只是表象,真正卡住人的永远是路径、权限、串口占用这些细节。