欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

如何在WSL下使用VS Code

程序员文章站 2022-05-02 13:45:44
自微软开始宣布拥抱开源以来,我认为微软发布的最棒的两大功能是:Visual Studio Code(VS Code)和Windows子系统Linux(WSL),有了这两者的结合,它为软件开发人员开辟了一条新的编写代码的途径。 ......

转载请注明出处:,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
本有由葡萄城技术团队翻译并整理

 

自微软开始宣布拥抱开源以来,我认为微软发布的最棒的两大功能是:visual studio code(vs code)和windows子系统linux(wsl),有了这两者的结合,它为软件开发人员开辟了一条新的编写代码的途径。

wsl使开发人员能够在windows 10上运行linux环境,而无需付出更多使用虚拟机时的开销。使用wsl,我们可以从windows应用商店上安装大多数linux正式版,我们甚至还能在其gui上运行bash shell脚本和linux应用程序。

本文提供了详细的wsl配置分步说明,便于我们能够通过wsl在linux上运行vs code。虽然本文的标题是《 在wsl下使用vs code》,但也同样适用于其他gui应用程序。

本文中使用的软件包括:

  • windows 10 1809
  • ubuntu 18.04
  • visual studio code 1.30.2
  • mebaxterm 11.1

本文目录:

  • 启用wsl
  • 安装linux
  • 下载并安装mobaxterm
  • 启动mobaxterm并打开x server
  • 在已安装的linux上安装x client
  • 启动vs code

除了windows 10和vs code之外,我们还需要x server和x client来使vs code与wsl协同工作。

在linux的世界中, x window system扮演着为构建gui环境必要的基本框架角色。 x window system使用客户端 - 服务器模型,已实现与远程计算机以图形界面连接。 因此,要使用我们的本地计算机(例如笔记本电脑)连接到远程linux计算机,我们需要:

  • 在远程linux机器上运行x client应用程序
  • 在本地计算机上运行x server应用程序

远程x客户端与本地x服务器建立连接并提供该应用程序的图形界面。所以使用此技术,就可以使用wsl运行vs code。

x server为我们提供了我们要运行的图形环境,由于wsl的bash不支持x server,因此通过选型在这里我选择了配置更为简单的mobaxterm。

打开wsl功能

在我们安装linux发行版之前,我们需要启用wsl。 为此,首先在搜索栏上输入“打开或关闭windows功能”。

如何在WSL下使用VS Code

然后在打开的窗口勾选 “wsl”

如何在WSL下使用VS Code

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

现在,我们在windows 10上启用了wsl。

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

 

安装linux(ubuntu)

如果启用了wsl功能,那么我们就可以将linux安装到windows 10上了。

在windows应用商店搜索ubuntu。

如何在WSL下使用VS Code

安装完成后启动

如何在WSL下使用VS Code

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

如何在WSL下使用VS Code

ubuntu全部配置完成后,我们继续安装mobaxterm

安装并设置mobaxterm

首选我们从官网下载mobaxterm,他们官网提供了绿色版和安装版两种版本。选哪个看个人喜好,实际使用上区别不大,我这里使用的是绿色版。解压完成后启动程序,点击启动x server(如下图)

如何在WSL下使用VS Code

而后,x server就启动了。

 

配置x client

如开头所述,x client是我们想要远程访问的应用程序。在本文里,这个应用程序是vs code。 为此,请按照以下步骤操作:

  1. 启动命令提示符
  2. 在命令提示符下,键入bash以进入ubuntu bash。
    如何在WSL下使用VS Code
  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">in.

export display=localhost:0.0 告诉x client应用程序的具体ip信息,因为我们在本机执行该命令,所以使用的是localhost,如果你使用的是远程计算机,请改掉localhost部分

 

安装vs code

现在,我们可以下载vs code并安装到ubuntu上。在这我们使用firefox下vs code,这能再之后减少很多麻烦。

命令如下:

$ sudo apt update

$ sudo apt install firefox

启动firefox以下载vs code

下载的vs code debian软件包应该位于 ~/download.目录内

$ cd ~/download

$ 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 code 1.30以来默认启用了linux上的自定义磁贴和菜单栏。 为了能够避免这一问题,我们需要将设置更改为native。

如何在WSL下使用VS Code

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

其次,在搜索栏上键入title bar,然后选择native。

重启vs code,现在我们应该已经可以移动和调整vs code窗口和大小了。

结论

使用wsl和x server,我们可以在windows 10上安装linux并使用图形界面运行linux上的应用程序。 但是,这时候可能有人会问,我们为什么要这样做? 为什么不直接在windows上使用virtualbox或vmware等虚拟机或者使用其他linux机器?当然,大多数情况下这些方式没有问题,但在某些个别情况下,这样的方式并不适用。 例如:

  • 没有强大的工作站,运行虚拟机会导致机器很慢。
  • 没有预算购买另一台机器来运行linux。
  • 由于网络的延迟,在云上运行带有图形界面的应用程序可能会很慢。

wsl提供了一种简单而廉价的解决方案,我们可以在我们更熟悉的windows 10环境中运行linux和linux应用程序。