在 Linux 上运行 Visual Studio Code
安装
请参阅 下载 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 存储库和签名密钥,以便使用系统的包管理器启用自动更新。若要自动安装 apt 存储库和签名密钥(例如在非交互式终端上),请先运行以下命令:
echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections
也可以使用以下脚本手动安装 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
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
然后更新软件包缓存并使用以下命令安装软件包:
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
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
然后更新软件包缓存并使用 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
Visual Studio Code 在 Snap Store 中作为 Snap 软件包正式发布。
您可以通过运行以下命令来安装它:
sudo snap install --classic code # or code-insiders
安装完成后,Snap 守护程序将负责在后台自动更新 VS Code。每当有新更新可用时,您将收到产品内更新通知。
注意:如果您的 Linux 发行版中没有 snap
,请查看以下 安装 snapd 指南,该指南可以帮助您进行设置。
从 官方 Snap 文档 中了解更多关于 Snap 的信息。
基于 openSUSE 和 SLE 的发行版
上面的 yum 存储库也适用于基于 openSUSE 和 SLE 的系统,以下脚本将安装密钥和存储库:
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
然后更新软件包缓存并使用以下命令安装软件包:
sudo zypper refresh
sudo zypper install code
适用于 Arch Linux 的 AUR 软件包
有一个社区维护的 用于 VS Code 的 Arch 用户存储库软件包。
若要获取有关从 AUR 安装的更多信息,请查看以下维基条目:安装 AUR 软件包。
适用于 NixOS(或使用 Nix 包管理器的任何 Linux 发行版)的 Nix 软件包
在 nixpkgs 存储库中有一个社区维护的 VS Code Nix 软件包。若要使用 Nix 安装它,请将 allowUnfree
选项设置为 config.nix
中的 true,然后执行以下操作:
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 版本管理器 安装和支持多个版本的 Node.js。
若要详细了解 JavaScript 和 Node.js,请参阅我们的 Node.js 教程,您将在其中学习如何使用 VS Code 运行和调试 Node.js 应用程序。
将 VS Code 设置为默认文本编辑器
xdg-open
您可以使用以下命令设置用于 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 开发的另一种选择是在使用 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 后,以下主题将帮助您进一步了解它。
- 其他组件 - 了解如何安装 Git、Node.js、TypeScript 和 Yeoman 等工具。
- 用户界面 - VS Code 的简要介绍。
- 用户/工作区设置 - 了解如何通过设置将 VS Code 配置为符合您的偏好。
常见问题
Azure VM 问题
我收到“Running without the SUID sandbox”错误?
您可以安全地忽略此错误。
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 is unable to watch for file changes in this large workspace" (error 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 是可以观察到的最大文件数量,但如果您处于内存特别受限的环境中,您可能希望降低这个数字。每个文件观察 占用 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
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: 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
来切换到使用它。
使用自定义标题栏
在 Linux 上,自定义标题栏和菜单在几个月前默认启用。自定义标题栏在 Windows 上取得了成功,但在 Linux 上的客户反馈表明情况并非如此。根据反馈,我们已决定在 Linux 上使此设置成为可选设置,并将本机标题栏保留为默认设置。
自定义标题栏提供了许多好处,包括出色的主题支持以及通过键盘导航和屏幕阅读器实现的更好的可访问性。不幸的是,这些好处没有很好地转化到 Linux 平台。Linux 拥有各种桌面环境和窗口管理器,这些管理器会导致 VS Code 主题对用户来说显得陌生。对于需要可访问性改进的用户,我们建议在使用屏幕阅读器在辅助功能模式下运行时启用自定义标题栏。您仍然可以使用 窗口:标题栏样式 (window.titleBarStyle) 设置手动设置标题栏。
启用显示缩放后,编辑器中的光标损坏
由于 Electron 的上游 问题 #14787,鼠标光标在启用缩放时可能渲染不正确。如果您发现通常的文本光标没有按预期在编辑器中渲染,请尝试通过配置 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
,系统会提示您接受 origin 更改。
sudo apt update