Linux上的VScode代码

安装

快照

Visual Studio Code在Snap Store中正式分发为Snap包:

从Snap商店获取它

您只需运行以下命令即可安装:

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

安装后,Snap守护程序将负责在后台自动更新VS Code。只要有新的更新,您就会收到产品内更新通知。

注意:如果snap您的Linux发行版中没有此功能,请查看以下安装快照指南,它可以帮助您完成设置。

官方Snap文档了解有关快照的更多信息。

基于Debian和Ubuntu的发行版

为基于Debian / Ubuntu的发行版安装Visual Studio代码的最简单方法是下载并安装.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

安装.deb软件包将自动安装apt存储库和签名密钥,以使用系统的软件包管理器启用自动更新。请注意,VS Code下载页面上也提供了32位和.tar.gz二进制文件。

也可以使用以下脚本手动安装存储库和密钥:

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

然后使用以下命令更新包缓存并安装包:

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install code # or code-insiders

RHEL,Fedora和基于CentOS的发行版

我们目前在yum存储库中发布稳定的64位VS代码,以下脚本将安装密钥和存储库:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c '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" > /etc/yum.repos.d/vscode.repo'

然后使用dnf(Fedora 22及更高版本)更新包缓存并安装包:

dnf check-update
sudo dnf install code

或者在旧版本上使用yum

yum check-update
sudo yum install code

由于手动签名过程和我们用于发布的系统,yum repo可能会落后并且不会立即获得最新版本的VS Code。

openSUSE和基于SLE的发行版

上面的yum存储库也适用于基于openSUSE和SLE的系统,以下脚本将安装密钥和存储库:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c '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" > /etc/zypp/repos.d/vscode.repo'

然后使用以下命令更新包缓存并安装包:

sudo zypper refresh
sudo zypper install code

Arch Linux的AUR包

有一个社区为VS Code维护了Arch User Repository包

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

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

在nixpkgs存储库中有一个社区维护的VS Code Nix包。要使用Nix安装它,请将allowUnfree选项设置为true config.nix并执行:

nix-env -i vscode

手动安装.rpm包

所述VS代码的.rpm包(64位),也可以手动下载并安装,然而除非上面安装了存储库自动更新将不起作用。下载后,可以使用软件包管理器进行安装,例如dnf

sudo dnf install <file>.rpm

请注意,VS Code下载页面上也提供了32位和.tar.gz二进制文件。

更新

VS Code每月发布一次,您可以通过查看发行说明来查看新版本何时可用。如果正确安装了VS Code存储库,那么系统软件包管理器应该以与系统上其他软件包相同的方式处理自动更新。

注意:更新是自动的,并在后台运行Snap包

Node.js的

Node.js是一个流行的平台和运行时,可以轻松构建和运行JavaScript应用程序。它还包括npm,Node.js模块的Package Manager。您将在我们的文档中看到经常提到的Node.js和npm,并且一些可选的VS Code工具需要Node.js(例如,VS Code 扩展生成器)。

如果您想在Linux上安装Node.js,请参阅通过软件包管理器安装Node.js以查找适合您的Linux发行版的Node.js软件包和安装说明。您也可以安装和使用Node.js的支持多版本节点版本管理

要了解有关JavaScript和Node.js的更多信息,请参阅我们的Node.js教程,您将学习如何使用VS Code运行和调试Node.js应用程序。

将VS Code设置为默认文本编辑器

XDG开

您可以text/plain使用xdg-open以下命令为文本文件()设置默认文本编辑器:

xdg-mime default code.desktop text/plain

Debian替代系统

基于Debian的发行版允许使用Debian替代系统设置默认编辑器,而无需考虑MIME类型。您可以通过运行以下命令并选择代码来设置:

sudo update-alternatives --set editor /usr/bin/code

下一步

安装VS Code后,这些主题将帮助您了解有关它的更多信息:

常见问题

Azure VM问题

我正在收到“没有SUID沙箱运行”错误?

您可以放心地忽略此错误。

Debian和将文件移动到垃圾箱

如果在Debian操作系统上从VS Code Explorer中删除文件时发现错误,可能是因为VS Code正在使用的垃圾实现不存在。

运行以下命令来解决此问题:

sudo apt-get install gvfs-bin

“Visual Studio代码无法监视此大型工作空间中的文件更改”(错误ENOSPC)

当您看到此通知时,它表示VS Code文件观察程序的句柄用尽,因为工作区很大并且包含许多文件。可以通过运行来查看当前限制:

cat /proc/sys/fs/inotify/max_user_watches

通过编辑/etc/sysctl.conf并将此行添加到文件末尾,可以将限制增加到最大值:

fs.inotify.max_user_watches=524288

然后可以通过运行加载新值sudo sysctl -p。请注意,Arch Linux的工作方式略有不同,请参阅增加inotify监视器的数量以获取详细信息。

虽然524,288是可以观看的最大文件数,但如果您处于特别受内存限制的环境中,您可能希望降低该数量。每个文件监视占用540字节(32位)或~1kB(64位),因此假设所有524,288个手表都被消耗,这导致上限约为256MB(32位)或512MB(64位) )。

另一个选项是使用该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 update

# For .rpm (Fedora 22 and above)
sudo dnf update

代码bin命令不会将窗口带到Ubuntu的前台

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

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

# Run
ccsm

常规 > 常规选项 > 焦点和提升行为下,将“焦点预防级别”设置为“关闭”。请记住,这是一个适用于所有应用程序的操作系统级设置,而不仅仅是VS代码。

由于“/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代码,则需要使用本机标题栏以确保您可以正确操作窗口。你可以通过设置切换为使用它window.titleBarStylenative

使用自定义标题栏

默认情况下,在Linux上启用了自定义标题栏和菜单几个月。自定义标题栏在Windows上取得了成功,但Linux上的客户响应则表示不然。根据反馈,我们决定在Linux上选择加入此设置,并将原生标题栏保留为默认值。

自定义标题栏提供许多好处,包括强大的主题支持和通过键盘导航和屏幕阅读器更好的可访问性。不幸的是,这些好处并没有转化为Linux平台。Linux具有各种桌面环境和窗口管理器,可以使VS代码主题看起来对用户来说是陌生的。对于需要改进辅助功能的用户,我们建议在使用屏幕阅读器以辅助功能模式运行时启用自定义标题栏。您仍然可以使用Window:Title Bar Stylewindow.titleBarStyle)设置手动设置标题栏。

编辑器中的光标损坏,启用了显示缩放

由于上游问题#14787与电子,鼠标光标可能会错误地渲染,启用缩放。如果您发现通常文本光标没有被呈现你所期望的在编辑器中,尝试通过配置设置回落到原始菜单栏window.titleBarStylenative

存储库更改了其原始值

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

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