尝试以扩展 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. 启用 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 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 包

有一个社区维护的 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 位),但是,除非安装了上述仓库,否则自动更新将无法工作。

下载后,可以使用你的包管理器安装 .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: Title Bar Style (window.titleBarStyle) 设置手动配置标题栏

  • custom: 使用自定义标题栏。
  • native: 使用操作系统的标题栏。

将 Windows 作为 Linux 开发机

使用 VS Code进行 Linux 开发的另一个选择是在 Windows 机器上使用适用于 Linux 的 Windows 子系统 (WSL)。

适用于 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 中看不到中文字符

我们正在努力修复。在此期间,请打开应用程序菜单,然后选择文件 > 首选项 > 设置。在文本编辑器 > 字体部分,将“Font Family”设置为 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: 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