在 VS Code 中尝试

Linux 上的 Visual Studio Code

安装

  1. 下载并为您的 Linux 发行版安装 Visual Studio Code

    注意

    VS Code 每月发布,并支持在新版本可用时自动更新

  2. 安装其他组件

    安装 Git、Node.js、TypeScript、语言运行时等。

  3. 从 Visual Studio Marketplace 安装 VS Code 扩展

    使用主题、格式化程序、语言扩展和调试器自定义 VS Code,以支持您喜欢的语言等等。

  4. 使用 GitHub Copilot 设置 AI 辅助编码

    提示

    如果您还没有 Copilot 订阅,可以通过注册Copilot 免费计划免费使用 Copilot,并获得每月一定的补全和聊天互动次数限制。

  5. 通过 VS Code 教程入门

    探索 VS Code 的用户界面和主要功能。

在 Linux 上安装 VS Code

基于 Debian 和 Ubuntu 的发行版

  1. 在基于 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 仓库和签名密钥,以启用使用系统软件包管理器的自动更新。

  2. 要自动安装 apt 仓库和签名密钥,例如在非交互式终端上,请先运行以下命令:

    echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections
    
  3. 手动安装 apt 仓库

    1. 运行以下脚本:

      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
      
    2. 然后更新软件包缓存并使用以下命令安装软件包:

      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。

  1. 通过运行以下脚本安装密钥和 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
    
  2. 然后更新软件包缓存并使用 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 软件包分发。

Get it from the Snap Store

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

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

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

注意

如果您的 Linux 发行版中没有 snap,请查看安装 snapd 指南,它可以帮助您进行设置。

官方 Snap 文档了解更多关于 snaps 的信息。

基于 openSUSE 和 SLE 的发行版

前面提到的 yum 仓库也适用于基于 openSUSE 和 SLE 的系统。

  1. 通过运行以下脚本安装密钥和 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
    
  2. 然后更新软件包缓存并使用以下命令安装软件包:

    sudo zypper install code
    

Arch Linux 的 AUR 软件包

有一个社区维护的适用于 VS Code 的 Arch 用户仓库软件包

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

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

在 nixpkgs 仓库中有一个社区维护的VS Code Nix 软件包

要使用 Nix 安装它:

  1. 在您的 config.nix 中将 allowUnfree 选项设置为 true:

  2. 运行以下命令:

    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 开发的另一个选项是使用安装了 Windows Subsystem for Linux (WSL) 的 Windows 机器。

Windows Subsystem for Linux

借助 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 . 命令不会将窗口带到前台

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

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

# Run
ccsm

General > General Options > Focus & Raise Behavior 下,将“Focus Prevention Level”设置为“Off”。请记住,这是一个操作系统级别的设置,将应用于所有应用程序,而不仅仅是 VS Code。

由于 "/etc/apt/sources.list.d/vscode.list: No such file or directory" 错误,无法安装 .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 来切换使用原生标题栏。

仓库更改了其 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,系统将提示您接受源更改:

sudo apt update