参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

在 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. 启用 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 > microsoft.gpg
      sudo install -D -o root -g root -m 644 microsoft.gpg /usr/share/keyrings/microsoft.gpg
      rm -f microsoft.gpg
      
    2. 创建一个 /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
      
    3. 最后,更新软件包缓存并安装该软件包

      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。

  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 包在 Snap Store 中正式分发

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 包

有一个社区维护的Arch 用户软件仓库(AUR)的 VS Code 包

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

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

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

要使用 Nix 安装它

  1. 在你的 config.nix 文件中将 allowUnfree 选项设置为 true

  2. 运行以下命令

    nix-env -i vscode
    

手动安装 .rpm

你可以手动下载并安装VS Code .rpm 包 (64-bit),但是,除非安装了上述仓库,否则自动更新将无法工作。

下载后,可以使用你的包管理器安装 .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 系统来设置默认的编辑器,而无需关心 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 获取的 Ubuntu、Debian、SUSE 和 Alpine 等 Linux 发行版。

当与 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。

由于“/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 来切换到使用它。

仓库更改了其来源值

如果你收到类似以下的错误

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