VSCode运行Arduino项目需手动配置arduino-cli、核心库、串口权限及头文件路径。必须安装arduino-cli并加入PATH,运行arduino-cli version验证;执行core update-index和core install安装对应板卡核心;macOS/Linux需授予权限或添加用户组;VSCode中正确设置arduino.path和c_cpp_properties.json的includePath,避免中文路径。
VSCode 要真正跑起 Arduino 项目,不是装个插件就完事——它本身不带编译器,必须靠
驱动,且核心库、串口权限、板卡定义都得手动对齐,否则必卡在
或
。
arduino-cli 没装好,VSCode 就是空壳
插件只是“遥控器”,
才是真正的编译上传引擎。Windows 用户解压后必须把
所在目录加进系统
;macOS/Linux 要
并软链到
。终端里运行
能返回版本号,才算落地成功。
VSCode 设置里务必确认:
指向的是可执行文件(如
),不是文件夹。别信插件自带的“自动下载”,经常版本陈旧或路径错乱。
核心库没装,连 Arduino.h 都找不到
默认不装任何开发板支持包,选了 Uno 却报
缺失,就是这个原因。
先运行
同步索引
按你用的板子装对应核心:
(Uno/Nano)、
(ESP32)、
(XIAO ESP32C3)
第三方板务必查清其
里的完整 ID,拼错一个字符就失败
注意:
只生成
,不会帮你装核心——它只记你选的
和
。
串口识别失败,90% 是权限或驱动问题
macOS Ventura+ 系统会拦截串口访问,必须进「系统设置 → 隐私与安全性 → 完全磁盘访问」,把 VS Code 加进去;Windows 下 CH340/CP2102 芯片得去官网下驱动,别用“万能驱动”;Linux 用户要执行
,然后**彻底重启 VS Code**(不是 Reload Window)。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
上传前必须手动点右下角
选对端口:
(Win)、
(macOS)、
(Linux)。选错或被其他程序占用,就会报
或
。
智能提示失效,其实是头文件路径没声明
VSCode 不像 Arduino IDE 那样自动扫库路径,
插件需要显式告诉它去哪找
和各类库。
检查
中的
,确保包含:
Windows 用户若用默认 Arduino IDE 安装路径,还得补上类似
的条目;macOS/Linux 对应路径也要核对。漏掉任一环节,
就标红,跳转定义也失效。
最常被忽略的其实是路径中的中文字符和空格——Arduino CLI 和 VSCode 插件对中文路径兼容性极差,一旦出现奇怪报错,第一反应该检查工作区和用户文档路径是否全是英文。
arduino-cliNo such file or directory: Arduino.hPort not foundarduino-cliarduino-cli.exePATHchmod +x/usr/local/bin/arduino-cliarduino-cli versionarduino.path/usr/local/bin/arduino-cliarduino-cliArduino.harduino-cli core update-indexarduino-cli core install arduino:avrarduino-cli core install esp32:esp32arduino-cli core install xiaoice:xiaoicepackage_index.jsonArduino: Initializearduino.jsonboardportsudo usermod -a -G dialout $USERSelect Serial PortCOM3/dev/cu.usbserial-XXXX/dev/ttyUSB0avrdude: ser_open(): can't open devicePermission deniedC/C++Arduino.h.vscode/c_cpp_properties.jsonincludePath["${workspaceFolder}/**", "${env:LOCALAPPDATA}/Arduino15/packages/**"]C:/Program Files (x86)/Arduino/hardware/**Serial.println()