🚀 在 VS Code 中

Visual Studio Code 在 Linux 上

安装

  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\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\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 refresh
    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 system

基于 Debian 的发行版允许使用Debian alternatives system设置默认编辑器,而无需考虑 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

code bin 命令不会将窗口置于 Ubuntu 的前台

当 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 来切换到使用它。

存储库更改了其源值

如果您收到类似于以下的错误

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