目录

要求

启用Windows Subsystem for Linux

安装Linux(Ubuntu)

将VS Code与WSL一起使用

安装MobaXterm

配置X客户端

安装VS Code

结论


由于微软声称拥抱开源,我认为微软发布的两大功能是:Visual Studio CodeVS Code)和Windows Subsystem for LinuxWSL)结合这两者,它为开发人员编写代码开辟了一条新途径

由于微软声称拥抱开源,在我看来,微软发布的两个很棒的功能是:

通过这两者的结合,它为软件开发人员编写代码开辟了一条新途径。WSL使开发人员能够在Windows 10上运行Linux环境,而无需虚拟机的开销。使用WSL,我们可以从Windows应用商店安装大多数主要Linux发行版。我们还可以在其上运行Bash shell脚本和Linux应用程序。

我们甚至可以使用带有WSLGUI运行Linux应用程序。本文提供了一个逐步配置WSL的指令,以便我们可以在Linux上使用WSL运行VS Code。虽然本文的标题是Visual Studio CodeWindows Subsystem for Linux一起使用,但此处描述的方法也适用于其他GUI应用程序。

本文中使用的软件是:

  • Windows 10 1809
  • Ubuntu 18.04
  • Visual Studio Code1.30.2
  • MebaXTerm 11.1

使用VS CodeWSL的简要步骤

  1. 启用WSL
  2. 安装Linux
  3. 在已安装的Linux上安装VSC
  4. 下载MobaXterm并安装它
  5. 启动MobaXterm并打开X服务器
  6. 在已安装的Linux上安装X客户端
  7. 启动VS Code并享受

要求

除了Windows 10VS Code之外,我们还需要X ServerX Client来使VS CodeWSL协同工作。

Linux世界中,X Window System扮演着为构建GUI环境提供基本框架的角色。X Window System使用客户端——服务器模型来启用带图形界面的远程计算。因此,要使用我们的本地计算机(例如笔记本电脑)连接到远程Linux计算机,我们需要:

  1. 在远程Linux机器上运行X客户端应用程序
  2. 在本地计算机上运行X服务器

远程X客户端应用程序与本地X服务器建立连接并提供图形界面。使用此技术,可以使用WSL运行VS Code

X服务器是我们想要运行的图形环境。在这种情况下,它是我们的Windows 10.但是,WSLBash不支持X服务器。如果我们google''x server for windows'',很多选项都会显示出来。在我看来,最简单的选择是MobaXterm,它是本文中使用的工具。

启用Windows Subsystem for Linux

在我们安装Linux发行版之前,我们需要启用WSL。为此,首先在搜索栏上输入打开或关闭窗口功能

https://i-blog.csdnimg.cn/blog_migrate/77b388398061352bf2a24770e0fc88df.png

在窗口中,选中Windows Subsystem for Linux ”

https://i-blog.csdnimg.cn/blog_migrate/12fcfab06d0e83a98deba26044052f42.jpeg

单击确定按钮后,我们可能需要重启机器。

现在,我们在Windows 10上启用了WSL

(有关WSL的更多详细信息,请访问https://docs.microsoft.com/en-us/windows/wsl/install-win10

安装LinuxUbuntu

一旦我们启用了WSL,我们就可以将Linux安装到Windows 10上了。

Windows应用商店中,搜索ubuntu

https://i-blog.csdnimg.cn/blog_migrate/99b3c6a4f935e31b21d98e38bd7e7dcb.png

安装并启动它

https://i-blog.csdnimg.cn/blog_migrate/e4dacbdba6b09fa04dd56fa531aea3c3.jpeg

启动Ubuntu后,请按照说明创建用户帐户。

现在我们安装了Ubuntu并准备使用。

VS CodeWSL一起使用

我们需要做的第一件事是下载MobaXterm并打开X服务器。

安装MobaXterm

我们首先从其官方网站下载MobaXterm 。它具有便携和安装版本。只需选择一个我们喜欢的版本并启动它。启动MobaXterm后,确保启用X服务器(下图中的红色矩形)。

https://i-blog.csdnimg.cn/blog_migrate/e720bb8780a1ebdc656cdf43c01b3064.jpeg

就是这样。我们现在正在运行X Server

配置X客户端

如开头所述,X客户端是我们想要远程访问的应用程序。在本文中,它是VS Code。为此,请按照以下步骤操作:

1步:启动命令提示符

步骤2:在命令提示符下,键入bash以进入Ubuntu bash。它看起来像下面的东西。

3步:输入命令$ export DISPLAY=localhost:0.0。我们也可以在/.bashrc添加这个命令,所以我们每次登录<g class="gr_ gr_9 gr-alert gr_tiny gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace" id="9" data-gr-id="9">时都不需要这样做。

export DISPLAY=localhost:0.0告诉X客户端应用程序在哪里显示窗口。因为我们在同一台机器上运行X服务器和X客户端应用程序,所以DISPLAY=localhost:0.0表示使用本地计算机上的显示。对于远程机器,它将导出为DISPLAY=[remote machine]:0.0

安装VS Code

现在,我们可以将VS Code下载并安装到Ubuntu上。由于VS Code需要图形相关的依赖关系,我建议在VS Code之前安装Firefox; 它节省了很多依赖性问题。

  1. $ sudo apt update
  2. $ sudo apt install firefox
  3. 启动Firefox以下载VS Code
  4. 下载的VS Code Debian软件包,其应该位于/Download
  5. $ cd~ / Download
  6. $ sudo dpkg -i code_1.30.2-1546901646_amd64.deb

注意:如果安装因某些依赖性问题而失败,请安装依赖库。

$ sudo dpkg -i code_1.30.2-1546901646_amd64.deb
Selecting previously unselected package code.
(Reading database ... 42604 files and directories currently installed.)
Preparing to unpack code_1.30.2-1546901646_amd64.deb ...
Unpacking code (1.30.2-1546901646) ...
dpkg: dependency problems prevent configuration of code:
 code depends on libnotify4; however:
  Package libnotify4 is not installed.
 code depends on libnss3 (>= 2:3.26); however:
  Package libnss3 is not installed.
 code depends on libxkbfile1; however:
  Package libxkbfile1 is not installed.
 code depends on libgconf-2-4; however:
  Package libgconf-2-4 is not installed.
 code depends on libsecret-1-0; however:
  Package libsecret-1-0 is not installed.
 code depends on libxss1; however:
  Package libxss1 is not installed.

dpkg: error processing package code (--install):
 dependency problems - leaving unconfigured
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 code

安装依赖库:

sudo apt install libnotify4 libnss3 libxkbfile1 libgconf-2-4 libsecret-1-0 libgtk-3-0 libxss1

如果出现如下错误,请尝试sudo apt -fix-broken install

Reading package lists... Done
Building dependency tree
Reading state information... Done
libgtk-3-0 is already the newest version (3.22.30-1ubuntu1).
libgtk-3-0 set to manually installed.
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libgconf-2-4 : Depends: gconf2-common (= 3.2.6-4ubuntu1) but it is not going to be installed
                Recommends: gconf-service but it is not going to be installed
 libnss3 : Depends: libnspr4 (>= 2:4.12) but it is not going to be installed
 libsecret-1-0 : Depends: libsecret-common but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

安装完成后,启动VS Code

$ code

注意:一旦我们启动VS Code,我们可能会注意到我们无法移动或调整VS Code的窗口。这是因为 VS代码1.30以来默认启用Linux上的自定义磁贴和菜单栏。为了能够移动和调整VS Code的窗口,我们需要将设置更改为native

首先,打开VS Code设置。[文件->首选项->设置]

其次,在搜索栏上键入title bar并选择native

https://i-blog.csdnimg.cn/blog_migrate/ddfafc3dcc0d1c430d1792dbd8312fc1.png

重启VS代码。现在,我们可以移动和调整VS Code的窗口大小。

有关此问题的更多详细信息,请参阅:

https://github.com/Microsoft/vscode/issues/65232

https://github.com/Microsoft/vscode/issues/65036

结论

使用WSLX Server,我们可以在Windows 10上安装Linux并使用图形界面运行本机Linux应用程序。但是,我们可能想知道为什么要这样做?为什么不在Windows上使用VirtualBoxVMware等虚拟机或者使用其他Linux机器?当然,这些都是有效的选择,但有时,这些选项可能对我们的需求是实用的。例如,

  1. 如果我们没有强大的工作站,运行虚拟机可能会很慢。
  2. 我们可能没有预算购买另一台机器来运行Linux
  3. 由于漫长的延迟,在云上运行带有图形界面的应用程序可能会很慢。

WSL提供了一种简单而廉价的解决方案,我们可以在舒适的Windows 10环境中运行LinuxLinux应用程序。

 

原文地址:https://www.codeproject.com/Articles/1275593/Using-Visual-Studio-Code-with-Windows-Subsystem-fo

Logo

更多推荐