news 2026/8/6 5:01:03

树莓派5安装配置VSCode全攻略:ARM64架构优化与远程开发实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树莓派5安装配置VSCode全攻略:ARM64架构优化与远程开发实践

1. 为什么要在树莓派5上折腾VSCode?

如果你刚拿到树莓派5,兴奋地装好了Raspberry Pi OS,打开默认的Thonny或Geany编辑器,可能会觉得差点意思。尤其是当你习惯了在主力电脑上用VSCode那种丝滑的代码补全、集成的终端和丰富的插件生态后,再回到一个相对基础的编辑器,编码体验上确实有落差。我最初也是这么想的,所以决定把VSCode搬到树莓派5上试试。

结果发现,这事儿还真不是“下载安装”那么简单。树莓派5用的是ARM64架构的处理器,虽然性能比前代强了不少,但和咱们常用的x86电脑是两码事。官方提供的.deb安装包,默认是给x86架构的,直接双击安装肯定会碰壁。更关键的是,VSCode本身是个基于Electron的“大家伙”,对内存和CPU有一定要求,在树莓派5的8GB内存版本上跑起来还算流畅,但4GB版本或者更老的型号,就得好好规划一下了。

所以,这篇内容就是把我自己从踩坑到成功在树莓派5上搭建高效VSCode开发环境的过程,完整地记录下来。目标很明确:不只是让你“装上”,而是让你装得“明白”、用得“顺手”。我们会从最稳妥的官方方法开始,一路讲到如何针对树莓派的硬件特性进行优化配置,最后再分享几个提升开发效率的必备插件和技巧。无论你是想用树莓派5学习Python、做嵌入式开发,还是搭建一个小型服务器进行后端编程,这套流程都能让你事半功倍。

2. 安装前的核心准备:系统、源与依赖

在动手安装任何软件之前,打好基础是关键。对于树莓派5上的VSCode安装,准备工作主要集中在三个方面:确保系统是最新且完整的、配置好软件源以加速下载、以及安装必要的底层依赖库。

2.1 系统更新与完整化

首先,请确保你的树莓派5已经通过官方Imager工具烧录了最新的Raspberry Pi OS(64位)。我强烈推荐使用64位版本,它能更好地发挥ARM64架构的性能,并且软件兼容性也更广。开机后,第一件事就是打开终端,执行全面的系统更新:

sudo apt update sudo apt full-upgrade -y sudo apt autoremove -y

这里的full-upgrade比单纯的upgrade更彻底,它会处理一些因依赖关系变化而需要更新的软件包。更新完成后,建议重启一次 (sudo reboot),让所有内核更新生效。

接下来,安装一些基础开发工具链,这些是后续很多操作(包括某些VSCode插件的编译)所必需的:

sudo apt install -y build-essential cmake git curl wget

2.2 配置可靠的软件源

树莓派的默认软件源在国内访问可能速度较慢,这会导致安装VSCode及其依赖时下载缓慢甚至失败。我们可以将其替换为国内的镜像源,例如清华大学的镜像。

编辑APT源列表文件:

sudo nano /etc/apt/sources.list

将文件内容中所有deb http://archive.raspberrypi.org/debian/deb http://raspbian.raspberrypi.org/raspbian/开头的行,将其域名部分替换为mirrors.tuna.tsinghua.edu.cn。例如,替换后可能像这样(具体URL请以清华大学镜像站页面说明为准):

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main contrib non-free rpi deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main

注意:上面的bullseye是Raspberry Pi OS基于的Debian版本代号,请根据你的实际系统版本(如Bookworm)进行修改。可以使用lsb_release -a命令查看。

保存并退出nano(按Ctrl+X,然后按Y,再按回车)。接着更新软件源缓存:

sudo apt update

2.3 安装VSCode的核心依赖

VSCode基于Electron,它需要一些特定的库才能正常运行。虽然通过后面介绍的安装方式会自动解决大部分依赖,但预先安装一些关键库可以避免潜在问题:

sudo apt install -y libx11-xcb1 libxcb-dri3-0 libxtst6 libnss3 libatk-bridge2.0-0 libgtk-3-0 libxss1 libasound2

这些库主要涉及图形界面渲染、音频、系统托盘等功能。全部准备就绪后,我们就可以开始正式的安装之旅了。

3. 三种主流安装方案详解与选型

在树莓派5上安装VSCode,主要有三种途径:通过微软官方提供的ARM64版.deb包安装、使用系统自带的APT包管理器安装、以及通过Snap通用包安装。每种方法各有优劣,适合不同的场景。

3.1 方案一:官方.deb包直装(推荐)

这是最直接、版本最新、也最可控的方法。微软为Linux提供了包括ARM64在内的多种架构的.deb安装包。

首先,访问VSCode官方下载页面。在终端里,我们可以用curl命令直接获取最新的ARM64稳定版.deb包:

cd ~/Downloads curl -L -o code_arm64.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-arm64'

这个命令会在你的Downloads目录下载一个名为code_arm64.deb的安装包。-L参数是为了处理重定向,确保能下载到真实文件。

下载完成后,使用dpkg命令进行安装:

sudo dpkg -i code_arm64.deb

如果安装过程中报告依赖关系错误(例如提示缺少某些库),不用担心,运行以下命令可以自动修复并安装缺失的依赖:

sudo apt --fix-broken install -y

这个命令会检查并安装dpkg -i过程中未能满足的依赖项。完成后,VSCode就应该出现在你的应用程序菜单里了。你也可以在终端直接输入code来启动它。

优点

  • 版本最新:直接来自微软,能第一时间获得稳定版更新。
  • 架构匹配:专为ARM64优化,性能最好。
  • 干净独立:不依赖系统仓库的更新节奏。

缺点

  • 需要手动下载和安装。
  • 更新也需要手动重复此过程(或使用后续提到的脚本)。

3.2 方案二:APT仓库安装(最省心)

微软也为Linux系统维护了官方的APT软件源。通过将其添加到系统,就可以像安装其他软件一样用apt来安装和更新VSCode。

导入微软的GPG密钥,用于验证软件包签名:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/packages.microsoft.gpg > /dev/null

添加VSCode的APT源。注意,这里同样需要指定ARM64架构:

echo "deb [arch=arm64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list

更新APT缓存并安装:

sudo apt update sudo apt install -y code

安装的软件包名是code。之后,你就可以通过sudo apt update && sudo apt upgrade来更新VSCode了。

优点

  • 安装管理方便:集成到系统的包管理器中,安装、更新、卸载都非常简单。
  • 自动依赖处理apt会自动解决所有依赖关系。

缺点

  • 版本可能稍旧:仓库中的版本更新可能会比直接下载.deb包慢一点。
  • 需要信任并添加第三方软件源。

3.3 方案三:Snap包安装(备用选择)

Snap是一种跨Linux发行版的通用打包格式。树莓派OS默认支持Snap。

安装非常简单,一行命令:

sudo snap install code --classic

这里的--classic参数是必须的,因为它赋予VSCode对系统文件更多的访问权限(类似于传统软件包),这对于一个代码编辑器访问项目文件是必要的。

优点

  • 极度简单:一条命令搞定所有。
  • 自动更新:Snap服务会在后台自动管理更新。

缺点

  • 启动速度慢:Snap应用启动时有一个沙箱加载过程,在树莓派上感觉尤其明显。
  • 文件系统访问:虽然用了--classic,但有时在访问外部存储或特定目录时仍可能遇到沙箱权限问题,需要额外配置。
  • 资源占用:Snap的运行时环境会带来额外的内存开销。

选型建议: 对于树莓派5,我首推方案一(官方.deb包)。它能获得最佳的性能和最新的功能,虽然更新稍麻烦,但我们可以写一个简单的脚本来自动化这个过程。方案二(APT)是追求省心时的最佳选择。方案三(Snap)仅在其他方法都失败,或者你非常熟悉Snap生态且不介意其缺点时作为备选。

4. 首次启动与基础优化配置

安装完成后,第一次启动VSCode可能会感觉有点慢,这是正常的。我们可以通过一系列配置,让它更适合在树莓派5这个“小身材”里高效运行。

4.1 解决可能的启动与显示问题

如果你在终端输入code后启动非常慢,或者界面闪烁,可以尝试禁用GPU加速。Electron的GPU加速在部分ARM驱动上可能兼容性不佳。

创建一个启动脚本或直接修改桌面快捷方式。更简单的方法是在终端中使用如下命令启动,这会传递禁用GPU加速的标志:

code --disable-gpu

如果这样启动后流畅很多,你可以将这个参数设为默认。编辑VSCode的桌面入口文件(位置可能在/usr/share/applications/code.desktop),在Exec那一行的命令末尾加上--disable-gpu

另一个常见问题是字体渲染模糊或发虚。这是因为VSCode默认的字体抗锯齿设置可能不适用于树莓派的图形栈。我们可以通过修改用户设置来调整:

  1. 在VSCode中,按下Ctrl+Shift+P打开命令面板。
  2. 输入Preferences: Open Settings (JSON)并回车。
  3. 在打开的settings.json文件中,添加或修改以下配置:
{ "editor.fontFamily": "'DejaVu Sans Mono', 'monospace'", "editor.fontLigatures": false, "window.zoomLevel": 0, "editor.fontSize": 14, "workbench.fontAliasing": "antialiased" }

这里将字体换成了系统通常自带的DejaVu Sans Mono,并明确设置了抗锯齿模式。window.zoomLevel设为0避免不必要的缩放。

4.2 内存与性能调优

树莓派5的内存虽然最大有8GB,但与PC相比仍是宝贵资源。VSCode的一些特性可以关闭以节省资源。

继续编辑settings.json文件,加入以下设置:

{ "update.mode": "manual", // 禁用自动更新,手动控制何时更新 "extensions.autoCheckUpdates": false, // 禁用扩展自动检查更新 "extensions.autoUpdate": false, // 禁用扩展自动更新 "git.autofetch": false, // 禁用Git自动抓取 "telemetry.enableTelemetry": false, // 禁用遥测数据收集,减少后台活动 "workbench.startupEditor": "none", // 启动时不打开任何编辑器,加快启动速度 "files.autoSave": "afterDelay", // 自动保存,防止意外丢失,但间隔可以设长点 "files.autoSaveDelay": 10000, // 10秒后自动保存 }

对于使用Python等语言的朋友,语言服务器的内存占用可能很高。你可以为特定语言设置内存限制(如果插件支持),或者考虑在不需要时关闭一些智能功能,如Python > Analysis: Memory相关的设置。

4.3 核心插件安装与配置

插件是VSCode的灵魂,但在树莓派上需要精挑细选。以下是我认为对树莓派开发环境提升最大、且资源占用相对合理的几个核心插件:

  1. Python (Microsoft):如果你用树莓派学Python或做自动化,这是必装插件。它提供智能补全、代码检查、调试等功能。安装后,建议在设置中关闭“自动触发环境发现”,手动指定解释器路径(如/usr/bin/python3),可以减少不必要的后台扫描。

  2. C/C++ (Microsoft):用于C/C++开发,对于树莓派的底层编程或性能敏感项目很重要。配置c_cpp_properties.json文件,正确设置编译器路径(通常是/usr/bin/gcc/usr/bin/g++)和包含路径,可以大幅提升代码分析效率。

  3. Remote - SSH (Microsoft)强烈推荐。即使你直接在树莓派上操作,这个插件也允许你从更强大的电脑(如你的Windows/Mac主机)通过SSH连接到树莓派的VSCode环境进行开发。这样,编辑、终端操作都在树莓派上完成,但UI渲染和部分计算在你的主力机上进行,能极大减轻树莓派的图形负担,体验流畅得多。

  4. Markdown All in One:如果你需要编写文档或笔记。轻量且功能全面。

  5. GitLens:功能强大的Git工具,但有些功能较耗资源。安装后可以在其设置中禁用一些高级功能,如“代码镜头”(当前行Git注解),只保留基础的 blame 和 history 查看。

安装插件时,切记“按需安装”。不要一次性安装几十个插件,很多插件会在后台持续运行,消耗CPU和内存。定期检查已安装的插件,禁用或卸载不常用的。

5. 实战:配置Python与C++开发环境

理论说再多,不如动手配一遍。这里以最常用的Python和C++为例,展示如何在树莓派5的VSCode中配置一个可运行、可调试的开发环境。

5.1 Python环境配置

假设你已经通过方案一或二安装了VSCode,并安装了“Python”扩展。

第一步:选择解释器打开一个Python文件或创建一个新文件夹作为项目。点击VSCode底部状态栏的Python版本号(如果没有,按Ctrl+Shift+P输入Python: Select Interpreter)。通常,树莓派OS自带的Python3路径是/usr/bin/python3。选择它。

第二步:创建虚拟环境(推荐)为了避免项目间的包冲突,最好为每个项目创建独立的虚拟环境。在VSCode集成的终端(Ctrl+`)里,进入你的项目目录,运行:

python3 -m venv .venv

这会在当前目录创建一个名为.venv的虚拟环境文件夹。然后再次点击状态栏的Python解释器,选择刚刚生成的.venv/bin/python。VSCode会自动识别并激活这个环境。

第三步:安装包与调试配置在终端中,确保虚拟环境已激活(命令行前缀会有(.venv)),然后用pip安装所需包,例如pip install requests

要配置调试,点击左侧活动栏的“运行和调试”图标,然后点击“创建一个launch.json文件”,选择“Python”。这会生成一个.vscode/launch.json文件。一个简单的运行当前文件的配置如下:

{ "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true } ] }

现在,打开一个.py文件,按F5就可以直接运行调试了。

5.2 C++环境配置

C++的配置稍微复杂一点,因为涉及编译和调试工具链。

第一步:安装编译与调试工具确保你已经安装了build-essentialgdb

sudo apt install -y build-essential gdb

第二步:配置C/C++扩展安装“C/C++”扩展。打开一个C++文件(如main.cpp),VSCode可能会提示你配置IntelliSense。按Ctrl+Shift+P,运行C/C++: Edit Configurations (UI),这会打开一个图形化设置界面。

在这里,你需要设置:

  • 编译器路径/usr/bin/g++
  • IntelliSense 模式linux-gcc-arm64
  • 包含路径:通常可以设置为${workspaceFolder}/**以及系统头文件路径如/usr/include,编译器扩展会自动补全很多。

第三步:创建构建任务(Tasks)C++需要先编译再运行。我们通过VSCode的“任务”功能来定义编译命令。按Ctrl+Shift+P,运行Tasks: Configure Task,然后选择Create tasks.json file from template->Others。这会创建.vscode/tasks.json

修改其内容,定义一个编译任务:

{ "version": "2.0.0", "tasks": [ { "label": "build with g++", "type": "shell", "command": "g++", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] }

这个任务会用g++编译当前打开的源文件,并生成同名的可执行文件,-g参数表示包含调试信息。

第四步:配置调试(Launch)点击“运行和调试”,创建launch.json,选择C++ (GDB/LLDB)。配置如下:

{ "version": "0.2.0", "configurations": [ { "name": "Debug with g++", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build with g++" } ] }

注意preLaunchTask字段,它指定了在启动调试前,先执行我们上面定义的名为build with g++的编译任务。这样,你只需要按F5,VSCode就会自动编译最新的代码并启动调试。

6. 高效使用技巧与避坑指南

环境配好了,但要用得顺手,还得掌握一些技巧,并避开一些常见的“坑”。

6.1 使用Remote-SSH进行远程开发(强烈推荐)

这是提升树莓派VSCode体验的“杀手锏”。原理是在树莓派上运行VSCode的服务器端(很轻量),在你的Windows/Mac主力机上运行VSCode的客户端(UI),两者通过SSH连接。

  1. 在树莓派上:确保SSH服务已开启 (sudo systemctl enable ssh && sudo systemctl start ssh)。记下树莓派的IP地址 (hostname -I)。
  2. 在主力机(如Windows)的VSCode上:安装“Remote - SSH”扩展。
  3. 点击VSCode左下角的绿色远程连接图标,选择“Connect to Host...” -> “Add New SSH Host...”,输入ssh pi@<树莓派IP地址>
  4. 按照提示操作(通常需要输入树莓派用户pi的密码)。连接成功后,你的VSCode界面就完全“附着”在树莓派上了。你可以浏览树莓派上的文件、使用树莓派终端、安装插件(这些插件会安装在树莓派端)。所有计算和文件操作都在树莓派上,但UI渲染在你强大的电脑上,流畅度飞跃。

6.2 常见问题与解决方案

  • 问题:VSCode启动报错,提示“无法连接到X服务器”或类似。

    • 原因:你可能在纯命令行界面(无图形桌面)下尝试启动VSCode,或者DISPLAY环境变量设置不正确。
    • 解决:确保你在图形桌面环境下启动。如果通过SSH连接,需要开启X11转发(SSH客户端加-X-Y参数),并且树莓派和客户端都安装了X11相关软件。更推荐使用上述的Remote-SSH方式,它不依赖X11转发。
  • 问题:编辑文件时卡顿,输入有延迟。

    • 原因:可能是某些插件(特别是语言服务器)正在后台进行大规模索引或分析;或者是文件太大;也可能是树莓派交换空间(swap)不足,内存吃紧。
    • 解决
      1. 检查活动栏的“扩展”视图,看看是否有插件正在运行任务。
      2. 禁用暂时不需要的插件。
      3. 适当增加交换空间。可以编辑/etc/dphys-swapfile文件,将CONF_SWAPSIZE从默认的100改为2048(单位MB),然后重启交换服务:sudo systemctl restart dphys-swapfile。注意,这会影响SD卡寿命,仅在内存不足时作为临时方案。
      4. settings.json中为特定语言服务器设置内存限制(如果支持)。
  • 问题:Git操作非常慢。

    • 原因:树莓派的SD卡I/O性能有限,特别是对于包含大量小文件的仓库。
    • 解决
      1. 使用git status --porcelain代替常规git status,在插件设置中禁用Git的自动刷新。
      2. 考虑将项目放在外接USB 3.0的固态硬盘(SSD)上,树莓派5的USB 3.0接口速度远超SD卡。
      3. 如果仓库历史很长,可以尝试浅克隆 (git clone --depth=1)。
  • 问题:插件安装失败或无法加载。

    • 原因:网络问题;插件版本与VSCode版本不兼容;插件本身不支持ARM64架构。
    • 解决
      1. 检查网络连接,可以尝试配置VSCode的HTTP代理。
      2. 在VSCode的扩展详情页面,查看“版本历史”,尝试安装稍旧一点的稳定版本。
      3. 有些插件确实没有ARM64版本,这是硬伤,只能寻找替代品。

6.3 维护与更新

对于使用.deb包安装的VSCode,可以创建一个简单的更新脚本update_vscode.sh

#!/bin/bash echo “正在下载最新版VSCode ARM64…” cd /tmp curl -L -o code_new.deb ‘https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-arm64’ if [ $? -eq 0 ]; then echo “下载完成,开始安装…” sudo dpkg -i code_new.deb sudo apt --fix-broken install -y echo “VSCode 更新完成!” else echo “下载失败,请检查网络。” fi

给脚本执行权限 (chmod +x update_vscode.sh),以后需要更新时在终端运行./update_vscode.sh即可。

最后,定期清理VSCode的缓存文件也能释放一些空间,缓存通常位于~/.config/Code/Cache~/.config/Code/CachedData。可以使用rm -rf ~/.config/Code/Cache/*来清理,但注意这会在下次启动时稍微延长加载时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 4:57:47

Flash动画入门:从时间轴原理到交互式相册制作

1. 从“Flash”到“Flash教程”&#xff1a;一个时代的回响与技术内核的延续看到“Flash教程&#xff08;一&#xff09;入门”这个标题&#xff0c;很多老朋友可能会心一笑&#xff0c;思绪瞬间被拉回到那个网页动画与交互的“闪客”黄金年代。没错&#xff0c;我们今天要聊的…

作者头像 李华
网站建设 2026/8/6 4:57:28

通信协议入门:单片机怎样把一个数字发送出去?

通信协议入门&#xff1a;单片机怎样把一个数字发送出去&#xff1f;我们每天都在说“发送一个字节”&#xff0c;但导线上并没有一个叫“字节”的东西在奔跑。导线上真正存在的&#xff0c;只是随时间变化的电压。UART、IC、SPI、CAN 看起来各不相同&#xff0c;但它们都在解决…

作者头像 李华
网站建设 2026/8/6 4:57:23

从下载到应用:ASTR/ASTER遥感数据获取与处理全链路实战指南

1. 从“下载”到“获取”&#xff1a;理解ASTR数据的本质最近在几个天文和遥感相关的技术群里&#xff0c;经常看到有朋友在问“怎么下载ASTR数据”。乍一看&#xff0c;这个问题很简单&#xff0c;不就是找个网站点下载吗&#xff1f;但作为一个和数据打了十几年交道的从业者&…

作者头像 李华
网站建设 2026/8/6 4:55:26

电致变色与电泳显示技术:低功耗显示的物理原理与工程选型指南

1. 从“常亮”到“常省”&#xff1a;低功耗显示技术的现实困境与破局点在智能手表、电子货架标签、智能家居中控屏这些我们越来越熟悉的设备上&#xff0c;你是否曾有过这样的疑惑&#xff1a;为什么有些屏幕看起来像印刷的纸张&#xff0c;色彩柔和且不刺眼&#xff0c;即便在…

作者头像 李华
网站建设 2026/8/6 4:54:35

歌词管理神器终极指南:5分钟学会批量下载网易云音乐和QQ音乐歌词

歌词管理神器终极指南&#xff1a;5分钟学会批量下载网易云音乐和QQ音乐歌词 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为音乐播放器中的歌词显示不准确而烦恼吗…

作者头像 李华
网站建设 2026/8/6 4:53:17

TC3xx HSM系统架构深度解析:从硬件隔离到安全启动全流程

1. 从“黑盒子”到“透明厨房”&#xff1a;为什么我们要拆解HSM系统架构在汽车电子圈里混久了&#xff0c;你肯定听过HSM&#xff08;Hardware Security Module&#xff09;的大名。它就像是ECU&#xff08;电子控制单元&#xff09;里的“瑞士银行金库”&#xff0c;负责保管…

作者头像 李华