Linux 上的 Visual Studio Code
安装
-
下载并安装适用于您的 Linux 发行版的 Visual Studio Code
注意VS Code 每月发布版本,并在有新版本可用时支持自动更新。
-
安装 Git、Node.js、TypeScript、语言运行时等。
-
从 Visual Studio Marketplace 安装 VS Code 扩展
使用主题、格式化程序、语言扩展和调试器来自定义 VS Code,以用于您喜欢的语言,等等。
-
提示
如果您还没有 Copilot 订阅,您可以通过注册 Copilot 免费计划来免费使用 Copilot,每月可获得有限数量的行内建议和聊天交互。
-
探索 VS Code 的用户界面和主要功能。
在 Linux 上安装 VS Code
基于 Debian 和 Ubuntu 的发行版
-
安装 Visual Studio Code 的最简单方法是下载并安装 .deb 包(64 位),如果可用,可以通过图形软件中心,或者通过命令行使用
sudo apt install ./<file>.deb # If you're on an older Linux distribution, you will need to run this instead: # sudo dpkg -i <file>.deb # sudo apt-get install -f # Install dependencies注意其他二进制文件也在 VS Code 下载页面 上提供。
安装 .deb 包时,它会提示安装 apt 仓库和签名密钥,以启用使用系统包管理器自动更新。
-
要自动安装 apt 仓库和签名密钥,例如在非交互式终端上,请先运行以下命令
echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections -
要手动安装 apt 仓库
-
运行以下脚本安装签名密钥
sudo apt-get install wget gpg && wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg && sudo install -D -o root -g root -m 644 microsoft.gpg /usr/share/keyrings/microsoft.gpg && rm -f microsoft.gpg -
创建一个
/etc/apt/sources.list.d/vscode.sources文件,内容如下,以添加对上游包仓库的引用Types: deb URIs: https://packages.microsoft.com/repos/code Suites: stable Components: main Architectures: amd64,arm64,armhf Signed-By: /usr/share/keyrings/microsoft.gpg -
最后,更新软件包缓存并安装软件包
sudo apt install apt-transport-https && sudo apt update && sudo apt install code # or code-insiders
-
由于手动签名过程和我们使用的发布系统,Debian 仓库可能会滞后最多三个小时,并且不会立即获得 VS Code 的最新版本。
基于 RHEL、Fedora 和 CentOS 的发行版
我们目前以 yum 仓库的形式为 RHEL、Fedora 或 CentOS 基于的发行版提供稳定的 64 位 VS Code。
-
通过运行以下脚本安装密钥和 yum 仓库
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc && echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null -
然后使用
dnf(Fedora 22 及更高版本)更新软件包缓存并安装软件包dnf check-update && sudo dnf install code # or code-insiders或者在旧版本中使用
yumyum check-update && sudo yum install code # or code-insiders
由于手动签名过程和我们使用的发布系统,yum 仓库可能会滞后最多三个小时,并且不会立即获得 VS Code 的最新版本。
Snap
VS Code 官方以 Snap 包的形式在 Snap Store 中分发
您可以通过运行以下命令安装它
sudo snap install --classic code # or code-insiders
安装完成后,Snap 守护程序会在后台自动更新 VS Code。当有新更新可用时,您会收到产品内更新通知。
如果您的 Linux 发行版中没有 snap,请查看 安装 snapd 指南,它可以帮助您进行设置。
从 官方 Snap 文档 了解更多关于 snaps 的信息。
基于 openSUSE 和 SLE 的发行版
之前 提到的 yum 仓库也适用于 openSUSE 和基于 SLE 的系统。
-
通过运行以下脚本安装密钥和 yum 仓库
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc && echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/zypp/repos.d/vscode.repo > /dev/null -
然后使用以下命令更新软件包缓存并安装软件包
sudo zypper install code
Arch Linux 的 AUR 包
有一个社区维护的 Arch 用户仓库包用于 VS Code。
要获取有关从 AUR 安装的更多信息,请参阅以下 wiki 条目:安装 AUR 包。
NixOS(或使用 Nix 包管理器任何 Linux 发行版)的 Nix 包
在 nixpkgs 仓库中有一个社区维护的 VS Code Nix 包。
要使用 Nix 安装它
-
在您的
config.nix中将allowUnfree选项设置为 true -
运行以下命令
nix-env -i vscode
手动安装 .rpm 包
您可以手动下载并安装 VS Code .rpm 包(64 位),但是,除非安装了上述仓库,否则自动更新将无法工作。
下载后,可以使用您的包管理器安装 .rpm 包,例如使用 dnf
sudo dnf install <file>.rpm
其他二进制文件也在 VS Code 下载页面 上提供。
更新
VS Code 每月发布一次,您可以查看 发行说明 以了解何时有新版本可用。如果 VS Code 仓库已正确安装,那么您的系统包管理器应以与系统上的其他软件包相同的方式处理自动更新。
对于 Snap 包,更新是自动的并在后台运行。
将 VS Code 配置为默认文本编辑器
xdg-open
您可以使用以下命令为 xdg-open 使用的文本文件(text/plain)设置默认文本编辑器
xdg-mime default code.desktop text/plain
Debian 替代系统
基于 Debian 的发行版允许使用 Debian 替代系统 设置默认 编辑器,而无需考虑 MIME 类型。您可以运行以下命令并选择 code 来设置它
sudo update-alternatives --set editor /usr/bin/code
如果您使用 Snap 包安装了 VS Code,请使用此命令
sudo update-alternatives --set editor /snap/bin/code
如果 VS Code 未显示为默认 editor 的替代方案,则需要注册它
sudo update-alternatives --install /usr/bin/editor editor $(which code) 10
使用自定义标题栏
自定义标题栏提供了许多好处,包括出色的主题支持和通过键盘导航和屏幕阅读器获得更好的可访问性。这些好处并不总是能很好地转换为 Linux 平台。Linux 有各种桌面环境和窗口管理器,这可能会导致 VS Code 主题对用户来说看起来很陌生。因此,自定义标题栏默认情况下未在 Linux 上启用。
对于需要可访问性改进的用户,我们建议在使用屏幕阅读器进行辅助功能模式运行时启用自定义标题栏。
您可以使用 Window: Title Bar Style (
custom:使用自定义标题栏。native:使用操作系统的标题栏。
将 Windows 作为 Linux 开发机
使用 VS Code 进行 Linux 开发的另一个选项是使用带有 Windows Subsystem for Linux (WSL) 的 Windows 机器。
适用于 Linux 的 Windows 子系统
使用 WSL,您可以在 Windows 上安装和运行 Linux 发行版,以在 Linux 上开发和测试源代码,同时仍然在 Windows 机器上本地工作。WSL 支持来自 Microsoft Store 的 Linux 发行版,例如 Ubuntu、Debian、SUSE 和 Alpine。
结合 WSL 扩展,您可以在 WSL 上 Linux 发行版的上下文中获得完整的 VS Code 编辑和调试支持。
请参阅 在 WSL 中开发 文档以了解更多信息,或尝试 在 WSL 中工作 入门教程。
后续步骤
安装 VS Code 后,以下主题将帮助你了解更多信息
- VS Code 教程 - 快速动手体验 VS Code 的主要功能。
- 提示和技巧 - 使用 VS Code 提高工作效率的技巧合集。
- AI 辅助编码 - 了解如何在 VS Code 中使用 GitHub Copilot 来帮助您更快地编写代码。
常见问题
Debian 和将文件移到回收站
如果在 Debian 操作系统上从 VS Code Explorer 删除文件时看到错误,则可能是因为 VS Code 使用的回收站实现不存在。
运行这些命令以解决此问题
sudo apt-get install gvfs libglib2.0-bin
与其他仓库中的 VS Code 包冲突
一些发行版,例如 Pop!_OS 提供他们自己的 code 包。为了确保使用官方 VS Code 仓库,请创建一个名为 /etc/apt/preferences.d/code 的文件,内容如下
Package: code
Pin: origin "packages.microsoft.com"
Pin-Priority: 9999
"Visual Studio Code 无法监视此大型工作区中的文件更改" (error ENOSPC)
当您看到此通知时,表示 VS Code 文件监视器正在耗尽实现文件监视所需的文件句柄。通常,这会在打开包含许多文件的庞大工作区时发生。在调整平台限制之前,请确保将潜在的大文件夹(例如 Python .venv)添加到
可以通过运行以下命令查看当前限制
cat /proc/sys/fs/inotify/max_user_watches
可以通过编辑 /etc/sysctl.conf(Arch Linux 和 Ubuntu 24.10 及更高版本使用 /etc/sysctl.d/*.conf 中的文件)并将此行添加到文件末尾来增加限制
fs.inotify.max_user_watches=524288
然后可以通过运行 sudo sysctl --system 加载新值。
虽然 524,288 是可以监视的文件数量上限,但如果您处于内存受限的环境中,您可能需要降低该数字。每个文件监视 占用 1,080 字节,因此假设消耗了所有 524,288 个监视器,则上限约为 540 MiB。
另一个选项是使用
node_modules 和 .git 下的一些文件夹,但您可以添加其他您不想让 VS Code 跟踪的目录。
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
}
我无法在 Ubuntu 中看到中文字符
我们正在修复此问题。与此同时,打开应用程序菜单,然后选择 文件 > 首选项 > 设置。在 文本编辑器 > 字体 部分,将“字体系列”设置为 Droid Sans Mono, Droid Sans Fallback。如果您想直接编辑 settings.json 文件,请设置
"editor.fontFamily": "Droid Sans Mono, Droid Sans Fallback"
未安装 package git
此错误可能出现在安装期间,通常是由于包管理器的列表已过时造成的。尝试更新它们并重新安装
# For .deb
sudo apt-get update
# For .rpm (Fedora 21 and below)
sudo yum check-update
# For .rpm (Fedora 22 and above)
sudo dnf check-update
code bin 命令在 Ubuntu 上无法将窗口带到前台
在 Ubuntu 上,当 VS Code 已经在当前目录中打开时运行 code . 不会将 VS Code 移到前台。这是 OS 的一项功能,可以使用 ccsm 禁用。
# Install
sudo apt-get update
sudo apt-get install compizconfig-settings-manager
# Run
ccsm
在 常规 > 常规选项 > 焦点和提升行为 下,将“焦点预防级别”设置为“关闭”。请记住,这是一个 OS 级别设置,将适用于所有应用程序,而不仅仅是 VS Code。
无法安装 .deb 包,因为 "/etc/apt/sources.list.d/vscode.list: 没有该文件或目录"
这可能发生在 `sources.list.d` 不存在或您没有创建文件的权限时。要解决此问题,请尝试手动创建该文件夹和一个空的 `vscode.list` 文件
sudo mkdir /etc/apt/sources.list.d
sudo touch /etc/apt/sources.list.d/vscode.list
在使用 X 转发远程窗口时,无法移动或调整窗口大小
如果您使用 X 转发来远程使用 VS Code,您需要使用原生标题栏才能确保您可以正确操作窗口。您可以通过设置 来切换到使用它
native。
仓库更改了其 origin 值
如果您收到类似以下的错误
E: Repository '...' changed its 'Origin' value from '...' to '...'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
使用 apt 代替 apt-get,您将被提示接受 origin 的更改
sudo apt update
