需先安装Arduino CLI并配置核心工具链,再在VSCode中安装官方扩展、指定CLI路径、设置板卡与串口,接着通过命令初始化项目,最后授权USB驱动并上传代码及启用串口监视器。

如果您希望在 Visual Studio Code 中高效进行 Arduino 嵌入式开发,但尚未配置好官方扩展环境,则可能面临板卡识别失败、串口无法通信、代码无法上传等基础问题。以下是完成 Arduino for VSCode 全流程配置与调试的关键步骤:
本文运行环境:MacBook Air M2,macOS Sequoia。
一、安装 Arduino CLI 与核心工具链
Arduino for VSCode 不依赖 Arduino IDE 图形界面,而是通过命令行工具链(Arduino CLI)实现编译与烧录。必须先独立安装 CLI 并注册常用开发板核心,否则后续所有操作将因缺少编译器或板定义而中断。
1、访问 https://github.com/arduino/arduino-cli/releases 下载对应 macOS 的最新 arduino-cli 二进制文件。
2、将下载的 arduino-cli 文件移至 /usr/local/bin/ 目录,并执行 chmod +x /usr/local/bin/arduino-cli 赋予可执行权限。
3、在终端中运行 arduino-cli config init 初始化配置文件,生成默认 ~/.arduino-cli.yaml。
4、执行 arduino-cli core update-index 更新板卡索引。
5、安装 Arduino AVR 核心:运行 arduino-cli core install arduino:avr;如需 ESP32 支持,额外执行 arduino-cli core install esp32:esp32。
二、配置 VSCode 扩展与工作区设置
VSCode 本身不内置 Arduino 支持,需启用官方扩展并手动指定 CLI 路径与开发板参数。若未正确绑定 CLI 可执行路径,扩展将始终显示“Arduino CLI not found”错误提示。
1、在 VSCode 扩展市场中搜索并安装 Arduino 扩展(发布者为 Microsoft)。
2、打开一个空文件夹作为 Arduino 工作区,点击左下角齿轮图标选择 Settings (UI),搜索 arduino.path,将其值设为 /usr/local/bin/arduino-cli。
3、在工作区根目录创建 .vscode/settings.json 文件,写入以下内容:
{"arduino.defaultBoard": "arduino:avr:uno", "arduino.defaultPort": "/dev/cu.usbmodem14301"}
4、重启 VSCode,确保状态栏右下角显示已识别的板型(如 UNO)与串口号。
三、创建与验证第一个 .ino 项目
VSCode 不提供图形化新建项目向导,必须通过命令面板触发 CLI 初始化流程。跳过该步骤直接新建 .ino 文件将导致编译时无法解析 #include
1、按下 Cmd+Shift+P 打开命令面板,输入并选择 Arduino: Initialize...。
2、在弹出的选项中依次选择目标板卡(如 Arduino Uno)、Sketch 名称(如 Blink)和保存位置。
3、VSCode 将自动生成包含 Blink.ino 与 platformio.ini(若启用了 PlatformIO 模式)的结构化项目目录。
4、打开 Blink.ino,确认首行存在 #include
四、上传代码到物理开发板
上传失败常源于串口权限不足、驱动缺失或板卡复位时机不当。macOS Sequoia 默认禁用第三方 USB 驱动加载,需手动授权,否则上传过程会在 “Connecting to programmer…” 步骤无限挂起。
1、将 Arduino Uno 板通过 USB 线连接 Mac,观察系统报告是否识别为 cu.usbmodem* 设备(可在终端运行 ls /dev/cu.* 查看)。
2、如未列出设备,前往 系统设置 → 隐私与安全性 → 安全性,点击 允许 按钮以启用 CH340 或 CP210x 驱动。
3、在 VSCode 编辑器中打开 Blink.ino,点击右下角板卡标识旁的 Upload 图标(向上箭头)。
4、上传成功后,终端输出窗口将显示 Sketch uses 928 bytes (2%) of program storage space...,Uno 板载 LED 开始闪烁。
五、启用串口监视器实时调试
串口监视器是嵌入式调试的核心工具,用于接收传感器数据或打印调试信息。VSCode 内置监视器不支持自动换行与十六进制显示,且默认波特率与代码中 Serial.begin() 不一致时将输出乱码。
1、在代码中确保已调用 Serial.begin(9600)(或其它明确波特率),并在 loop() 中添加 Serial.println("Hello");。
2、点击 VSCode 左下角状态栏中的 Select Serial Port,选择与开发板匹配的 /dev/cu.usbmodem* 项。
3、再次点击状态栏,选择 Open Serial Monitor,右侧将弹出终端窗口。
4、在监视器输入框中输入字符后按回车,可向开发板发送指令;勾选 Auto Scroll 和 Show Timestamp 提升可读性。










