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 的发行版
-
在基于 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 > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg echo "deb [arch=amd64,arm64,armhf 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 > /dev/null rm -f packages.microsoft.gpg
-
然后更新包缓存并使用以下命令安装包:
sudo apt install apt-transport-https sudo apt update sudo apt install code # or code-insiders
-
基于 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
或者在旧版本上使用
yum
yum check-update sudo yum install code # or code-insiders
由于手动签名过程和我们使用的发布系统,yum 存储库可能会滞后,并且可能无法立即获得最新版本的 VS Code。
Snap
VS Code 在Snap Store中以 Snap 包的形式官方分发
您可以通过运行以下命令进行安装:
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 包
有一个社区维护的适用于 VS Code 的 Arch 用户存储库包。
要获取有关从 AUR 安装的更多信息,请查阅以下维基条目:安装 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 alternatives 系统
基于 Debian 的发行版允许使用Debian alternatives 系统设置默认的 editor,而无需考虑 MIME 类型。您可以通过运行以下命令并选择 code
来设置此项:
sudo update-alternatives --set editor /usr/bin/code
如果 VS Code 没有显示为默认 editor
的替代项,您需要注册它:
sudo update-alternatives --install /usr/bin/editor editor $(which code) 10
使用自定义标题栏
自定义标题栏提供了许多优点,包括出色的主题支持以及通过键盘导航和屏幕阅读器实现更好的辅助功能。这些优点可能并非总是能很好地应用于 Linux 平台。Linux 有各种桌面环境和窗口管理器,这可能会让 VS Code 的主题对用户来说显得格格不入。因此,自定义标题栏在 Linux 上默认未启用。
对于需要辅助功能改进的用户,我们建议在使用屏幕阅读器以辅助功能模式运行时启用自定义标题栏。
您可以使用 窗口:标题栏样式 (window.titleBarStyle) 设置手动配置标题栏:
custom
:使用自定义标题栏。native
:使用操作系统的标题栏。
将 Windows 用作 Linux 开发机器
使用 VS Code 进行 Linux 开发的另一个选项是使用安装了适用于 Linux 的 Windows 子系统 (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 资源管理器中删除文件时看到错误,这可能是因为 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 无法监视此大型工作区中的文件更改” (错误 ENOSPC)
当您看到此通知时,这表明 VS Code 文件监视器耗尽了实现文件监视所需的句柄。最常见的情况是打开一个大型且包含许多文件的工作区时。在调整平台限制之前,请确保将潜在的大型文件夹(例如 Python .venv
)添加到 files.watcherExclude 设置中(更多详细信息见下文)。也有可能其他正在运行的应用程序占用了太多文件句柄,导致没有剩余的句柄供 VS Code 使用。在这种情况下,关闭这些其他应用程序可能会有所帮助。
可以通过运行以下命令查看当前限制:
cat /proc/sys/fs/inotify/max_user_watches
通过编辑 /etc/sysctl.conf
文件(Arch Linux 除外,请阅读下文)并将此行添加到文件末尾,可以将限制增加到最大值:
fs.inotify.max_user_watches=524288
然后可以通过运行 sudo sysctl -p
加载新值。
虽然 524,288 是可以监视的最大文件数,但如果您处于内存特别受限的环境中,您可能需要降低此数字。每个文件监视占用 1,080 字节,因此假设所有 524,288 个监视都被占用,则上限约为 540 MiB。
基于 Arch 的发行版(包括 Manjaro)需要您更改不同的文件;请改为遵循这些步骤。
另一个选项是使用 files.watcherExclude 设置将特定工作区目录从 VS Code 文件监视器中排除。 files.watcherExclude 的默认设置排除了 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:
"editor.fontFamily": "Droid Sans Mono, Droid Sans Fallback"
未安装 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
在 Ubuntu 上,code bin 命令无法将窗口带到前台
在 Ubuntu 上,当 VS Code 已在当前目录中打开时,运行 code .
不会将 VS Code 带到前台。这是操作系统的一个功能,可以使用 ccsm
禁用。
# Install
sudo apt-get update
sudo apt-get install compizconfig-settings-manager
# Run
ccsm
在通用 > 通用选项 > 焦点与提升行为下,将“焦点阻止级别”设置为“关闭”。请记住,这是一个操作系统级别的设置,将适用于所有应用程序,而不仅仅是 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,您需要使用原生标题栏以确保您可以正确操作窗口。您可以通过将 window.titleBarStyle 设置为 native
来切换到使用它。
存储库更改了其源值
如果您收到类似以下错误:
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
,系统将提示您接受源更改。
sudo apt update