Linux 上的 Visual Studio 代码

安装

有关可用安装选项的完整列表,请参阅下载 Visual Studio Code页面。

下载并使用 Visual Studio 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 存储库和签名密钥,以使用系统的软件包管理器启用自动更新。或者,也可以使用以下脚本手动安装存储库和密钥:

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
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
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 存储库中提供稳定的 64 位 VS Code,以下脚本将安装密​​钥和存储库:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

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。

折断

Visual Studio Code 在Snap Store中作为 Snap 包正式分发:

从 Snap 商店获取

您可以通过运行以下命令来安装它:

sudo snap install --classic code # or code-insiders

安装后,Snap 守护程序将在后台自动更新 VS Code。每当有新更新可用时,您都会收到产品内更新通知。

注意:如果snap您的 Linux 发行版中没有提供该功能,请查看以下安装 snapd 指南,它可以帮助您进行设置。

从官方 Snap 文档了解有关 Snap 的更多信息。

基于 openSUSE 和 SLE 的发行版

上面的 yum 存储库也适用于基于 openSUSE 和 SLE 的系统,以下脚本将安装密​​钥和存储库:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/vscode.repo'

然后更新包缓存并使用以下命令安装包:

sudo zypper refresh
sudo zypper install code

适用于 Arch Linux 的 AUR 软件包

有一个社区维护的VS Code Arch 用户存储库包

要获取有关 AUR 安装的更多信息,请查阅以下 wiki 条目: 安装 AUR 软件包

NixOS 的 Nix 软件包(或任何使用 Nix 软件包管理器的 Linux 发行版)

nixpkgs 存储库中有一个社区维护的VS Code Nix 包。为了使用 Nix 安装它,请将allowUnfree选项设置为 trueconfig.nix并执行:

nix-env -i vscode

手动安装.rpm包

VS Code .rpm包(64 位)也可以手动下载并安装,但是,除非安装了上述存储库,否则自动更新将无法工作。下载后,可以使用包管理器进行安装,例如dnf

sudo dnf install <file>.rpm

请注意, VS Code 下载页面上还提供了其他二进制文件。

更新

VS Code 每月发布一次,您可以通过检查发行说明了解新版本何时可用。如果 VS Code 存储库安装正确,那么您的系统包管理器应该以与系统上其他包相同的方式处理自动更新。

注意:Snap 包的更新是自动的,并在后台运行。

Node.js

Node.js 是一个流行的平台和运行时,可用于轻松构建和运行 JavaScript 应用程序。它还包括npm,一个 Node.js 模块的包管理器。您会看到我们的文档中经常提到 Node.js 和 npm,并且一些可选的 VS Code 工具需要 Node.js(例如 VS Code扩展生成器)。

如果您想在 Linux 上安装 Node.js,请参阅通过包管理器安装 Node.js以查找适合您的 Linux 发行版的 Node.js 包和安装说明。您还可以使用Node Version Manager安装和支持 Node.js 的多个版本。

要了解有关 JavaScript 和 Node.js 的更多信息,请参阅我们的Node.js 教程,您将在其中了解如何使用 VS Code 运行和调试 Node.js 应用程序。

将 VS Code 设置为默认文本编辑器

xdg-开放

您可以使用以下命令设置文本文件 ( text/plain) 所使用的默认文本编辑器:xdg-open

xdg-mime default code.desktop text/plain

Debian 替代系统

基于 Debian 的发行版允许使用Debian 替代系统设置默认编辑器,而不用担心 MIME 类型。您可以通过运行以下命令并选择代码来设置:

sudo update-alternatives --set editor /usr/bin/code

如果 Visual Studio Code 没有作为 的替代品出现editor,您需要注册它:

sudo update-alternatives --install /usr/bin/editor editor $(which code) 10

Windows 作为 Linux 开发机器

使用 VS Code 进行 Linux 开发的另一个选择是使用带有适用于Linux 的 Windows 子系统(WSL) 的 Windows 计算机。

Linux 的 Windows 子系统

使用 WSL,您可以在 Windows 上安装和运行 Linux 发行版。这使您能够在 Linux 上开发和测试源代码,同时仍在 Windows 计算机上本地工作。WSL 支持 Linux 发行版,例如可从 Microsoft Store 获取的 Ubuntu、Debian、SUSE 和 Alpine。

WSL扩展结合使用时,您可以在 WSL 上的 Linux 发行版上下文中运行时获得完整的 VS Code 编辑和调试支持。

请参阅在 WSL 中进行开发文档以了解更多信息,或尝试在 WSL 中工作介绍性教程。

下一步

安装 VS Code 后,这些主题将帮助您了解更多信息:

常见问题

Azure VM 问题

我收到“在没有 SUID 沙箱的情况下运行”错误?

您可以安全地忽略此错误。

Debian 和将文件移至垃圾箱

如果您在 Debian 操作系统上从 VS Code Explorer 删除文件时看到错误,可能是因为 VS Code 正在使用的垃圾实现不存在。

运行以下命令来解决此问题:

sudo apt-get install gvfs-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设置中(更多详细信息如下)。可以通过运行以下命令查看当前限制:

cat /proc/sys/fs/inotify/max_user_watches

/etc/sysctl.conf可以通过编辑(Arch Linux 除外,请阅读下文)并将此行添加到文件末尾来将限制增加到最大值:

fs.inotify.max_user_watches=524288

然后可以通过运行加载新值sudo sysctl -p

虽然 524,288 是可以观看的最大文件数,但如果您处于内存特别有限的环境中,则可能需要降低该数字。每个文件监视占用 1080 个字节,因此假设消耗了所有 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 命令不会将窗口带到前台

当 VS Code 已在当前目录中打开时,在 Ubuntu 上运行code .不会将 VS Code 带到前台。这是操作系统的一项功能,可以使用 禁用ccsm

# Install
sudo apt-get update
sudo apt-get install compizconfig-settings-manager

# Run
ccsm

“常规” > “常规选项” > “聚焦和抬起行为”下,将“聚焦预防级别”设置为“关闭”。请记住,这是操作系统级别的设置,将适用于所有应用程序,而不仅仅是 VS Code。

由于“/etc/apt/sources.list.d/vscode.list:没有这样的文件或目录”,无法安装 .deb 软件包

当该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

使用自定义标题栏

自定义标题栏和菜单在 Linux 上默认启用了几个月。自定义标题栏在 Windows 上取得了成功,但 Linux 上的客户反应却表明情况并非如此。根据反馈,我们决定在 Linux 上选择启用此设置,并将本机标题栏保留为默认设置。

自定义标题栏提供了许多好处,包括出色的主题支持以及通过键盘导航和屏幕阅读器更好的可访问性。不幸的是,这些好处并没有同样适用于 Linux 平台。Linux 拥有多种桌面环境和窗口管理器,这些桌面环境和窗口管理器可能会让 VS Code 主题对用户来说显得陌生。对于需要辅助功能改进的用户,我们建议在使用屏幕阅读器在辅助功能模式下运行时启用自定义标题栏。您仍然可以使用窗口:标题栏样式( )设置手动设置标题栏window.titleBarStyle

启用显示缩放后编辑器中的光标损坏

由于 Electron 的上游问题 #14787,启用缩放后鼠标光标可能会错误渲染。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