方案一:Arduino Maker Workshop
20250705
差不多一年多都没用 Arduino IDE 了,记得 2023 年的时候就有 2.x 版本,和 1.x 版本有明显特性变化,好用多了,快捷键和 VScode 基本都一样了,界面布局都很像,不知道是不是基于同样的框架开发的,只是 Arduino IDE 还是显得烂,相比于 VScode。
注释、语法提示经常失效,VScode 就正常稳定
ARduino IDE 对于项目多文件呈现也不好,会一次性全部打开项目中的文件
而不能像 VScode 那样根据需要打开,平时呈现树状文件结构
而且 VScode 支持使用插件,可扩展性强,比如 AI 辅助代码补全。昨天晚上我就开始找可以支持 Arduino 的 VScode 插件,发现微软开发的 Arduino 插件也停更了,今天试了 Arduino Maker Workshop,感觉没啥大问题,可以正常编译和上传程序。
安装
直接在 VScode 的扩展菜单里搜索 Arduino Maker Worksho 安装即可
安装后打开设置
这个路径设置为和 Arduino IDE 首选项里一致(如果 Arduino IDE 没改过的话,Arduino Maker Workshop 的这个路径就是一致的,不需要改,我这里是改过的)。
这样就可以用 Arduino IDE 来在线安装需要的开发板工具链、三方库,平时开发调试就用 VScode,VScode 可以找到 Arduino IDE 安装的文件
使用
创建一个项目文件夹,用 VScode 打开文件夹,创建一个 .ino 扩展名的文件
然后选择下自己的开发板和端口
Compile:编译
Compile(Clean):清空已编译的目标文件,全部重新编译
Upload:上传到开发板
方案二:PlatformIO
20250706
用 Arduino IDE 编译 Arduino 开发板的程序还好,编译 ESP32 的程序那就太慢了。昨晚上折腾一番,尝试了下 Platform,编译速度比使用 Arduino 快多了,创建项目的时候可以选择 Arduino 框架,这样就可以使用 Arduino IDE 丰富多样的库。也可以不使用 Arduino 框架,可以选择各芯片厂商自己的原生框架。
我对硬件层面不是很了解,就用 Arduino 框架,不需要配置寄存器什么的,只需要解决软件层面的工作逻辑,用代码表示出来即可,Arduino 的三方库也多,非常方便。
安装
直接在 VScode 扩展里搜索安装即可
大陆地区最好配置下代理,在 VScode 设置搜索 proxy,设置到自己的代理服务器即可,这样保证后续的依赖文件可以快速下载
使用
在主侧栏可以看到蚂蚁头图标,首次使用会准备相关资源,需要额外花一些时间,加载好以后显示下面页面
点 Pick a folder 打开已有的 PlatformIO 项目,点 Create New Project 创建新项目,点后者跳到 PlatformIO 的主页面
点 New Project 新建项目,设置项目名称,选择开发板,框架可以用 Arduino,选择项目路径(默认路径是在文档目录下),点 Finish 完成创建。如果这种开发板是首次创建项目,会花一定时间下载相关工具链,所以前面说大陆地区最好配置代理,直连下载速度有可能惨不忍睹。
创建完成后,用 VScode 打开创建的项目文件夹
源文件放在 src 目录下,头文件放在 include 目录下,main.cpp 是入口文件,语法上和 Arduino 基本一样
在已经打开 PlatformIO 项目的情况下,打开 PlatformIO 菜单栏,可以进行 Build 构建、Upload 上传等操作
使用 Arduino 库
可以把 Arduino 的库放到项目录下的 lib 文件夹中
或者直接在当前项目的 platformio.ini 文件中指定 lib_extra_dirs 的值为 Arduino IDE 的库路径,这样 Arduino IDE 安装好的库,直接使用即可,避免再复制一份
在 PlatformIO 中可以查看到 Arduino IDE 库
修改新项目默认路径
在 PlatformIO 中,左下方的 Quick Access -> Miscellaneous -> New Terminal,点击打开新终端
在终端执行命令修改
pio settings set projects_dir 新路径
比如我这里要修改为 D:\work\development\Arduino\PlatformIO执行
pio settings set projects_dir D:\work\development\Arduino\PlatformIO
修改后,关闭 VScode,再重新打开生效