Ubuntu 安装 VS Code

方法一:Snap 安装(简单,单条命令安装)

复制代码
sudo snap install code --classic
验证
code --version

方法二:APT 安装

✅ 导入 Microsoft GPG 密钥

✅ 添加 VS Code 软件源

✅ 更新软件包列表

✅ 安装 VS Code

✅ 验证安装成功

步骤1:更新系统

复制代码
sudo apt update
sudo apt upgrade -y

步骤2:安装必要工具( 作用:GNU Privacy Guard,用于加密和数字签名 )

复制代码
sudo apt install wget gpg -y

步骤3:导入 Microsoft GPG 密钥

复制代码
安装 curl(如果没有)
sudo apt install curl -y

使用 curl 下载
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /etc/apt/keyrings/packages.microsoft.gpg
复制代码
检查文件是否创建成功
ls -lh /etc/apt/keyrings/packages.microsoft.gpg

应该看到类似(文件大小应该不是0):
-rw-r--r-- 1 root root 1.3K 月 16 22:45 /etc/apt/keyrings/packages.microsoft.gpg

步骤4:添加 VS Code 软件源

执行这个命令:

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

步骤5:更新并安装 VS Code

复制代码
1. 更新软件包列表(让系统识别新加的微软源)
sudo apt update
复制代码
2. 安装 VS Code
sudo apt install code -y
复制代码
3. 验证安装
code --version
复制代码
启动方式:
1. 直接在终端启动 
code
2. 在当前目录打开
code .
3. 打开特定文件或文件夹
code ~/Documents
code ~/project/main.c

卸载方法:

复制代码
卸载 VS Code
sudo apt remove code -y

移除软件源
sudo rm /etc/apt/sources.list.d/vscode.list

移除密钥
sudo rm /etc/apt/keyrings/packages.microsoft.gpg

这两种安装方式得到的 VS Code 核心功能相同,但在性能、更新机制和集成度上有差异。下面是详细对比:

核心差异对比

特性 APT 安装 (官方仓库) Snap 安装
启动速度 更快(原生二进制) ⚠️ 稍慢(沙盒封装)
文件访问 直接访问(无限制) ⚠️ 沙盒限制(需授权访问外部目录)
系统集成 更好(深度集成) ⚠️ 一般(沙盒隔离)
自动更新 ⚠️ 需手动 sudo apt update && upgrade 自动更新(后台静默更新)
安装便捷性 需要添加仓库和密钥 一条命令snap install code --classic
版本新旧 较新(跟随官方更新) ⚠️ 可能滞后(依赖维护者更新)
权限管理 标准 Linux 权限 需要 --classic 关闭严格沙盒
相关推荐
唐青枫13 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao8 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone