arduino-cli 是唯一可靠路径,stino 插件已彻底失效;sublime 启动不加载系统 path,必须写死 arduino-cli 绝对路径,fqbn 和串口须完整精确,项目结构需严格匹配(同名文件夹与 .ino 文件),include_dirs 需手动配置以支持头文件跳转。

arduino-cli 是唯一可靠路径,Stino 插件已彻底失效,别浪费时间配置它。
Sublime 启动时根本找不到 arduino-cli,必须写死绝对路径
Sublime Text 启动不加载系统 PATH,哪怕你在终端能跑 arduino-cli version,Build System 里写 "cmd": ["arduino-cli", "compile"] 也必然报 command not found。
- macOS/Linux:把二进制放到
/usr/local/bin/arduino-cli,并执行chmod +x /usr/local/bin/arduino-cli - Windows:解压到无空格路径,比如
C:rduino-clirduino-cli.exe,Build System 中写成"cmd": ["C:\arduino-cli\arduino-cli.exe", "compile"](反斜杠必须双写) - 别用
pip install arduino-cli—— 那是社区旧分支,不支持arduino:avr@2.3.5这类新版核心 - 验证方式:在终端运行
arduino-cli version,再手动执行一次arduino-cli compile -b arduino:avr:uno .(在空 sketch 目录下)
--fqbn 和 --port 是强制参数,漏一个就 Build failed
arduino-cli 不接受模糊写法,也不 fallback,默认值不存在。
- FQBN 必须完整:Uno 是
arduino:avr:uno,Nano 是arduino:avr:nano:cpu=atmega328;写成uno或arduino:uno会报Error: board arduino:uno not found - 串口名必须实时、精确:macOS 用
/dev/cu.usbmodem14301,Linux 用/dev/ttyACM0,Windows 用COM3(注意不是COM3:) - 不能用 shell 通配符:
/dev/cu.usbmodem*在 Build System 里原样传给 CLI,而 CLI 不解析 glob,直接报错 - 拔插板子后务必重跑
arduino-cli board list查真实设备名,别写死一个断开的端口
项目结构不合规,No sketch found 就立刻报错
arduino-cli 对目录和文件名极其敏感,不是“随便放个 .ino 就能编译”。
- 根目录只能有一个
.ino文件,且文件名必须与文件夹名完全一致:比如blink/blink.ino,不能是blink/main.ino - 不能有多个
.ino或.cpp混合;也不能手动新建main.ino然后改名——得同步改文件夹名 - Sublime 不自动补
#include "Arduino.h",也不封装setup()/loop()—— 这些是arduino-cli编译前做的预处理,只认标准结构 - 如果已有非标准命名,先重命名文件夹,再重命名 .ino 文件,确保两者一致
Ctrl+点击跳转 Arduino.h 失效?得手动加 include_dirs
Sublime 默认不知道 Arduino.h 在哪,所以跳转、补全、语法检查全挂。
- 找到你的 arduino-cli 核心安装路径:通常为
~/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino(版本号可能不同) - 在 Build System 的
env或 Sublime 的settings中添加include_dirs,例如:"include_dirs": ["~/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino"] - 注意:路径中不要用
~,替换成完整绝对路径,比如/Users/you/.arduino15/... - 这个路径必须和
arduino-cli core install实际安装的位置一致,否则跳转仍失败
arduino-cli 路径写错、FQBN 少一个冒号、串口名多一个冒号、或者 sketch 文件夹和 .ino 名字差一个字母。这些地方没商量余地,错一点就停。











