vscode的C++开发环境配置-win10下Linux子系统

前言

最近一直在纠结,每次要开发都要打开虚拟器,启动Linux,然后启动IDE。一圈下来光启动都要好几分钟,而且虚拟机占用内存和磁盘相对较大。想找找其他的方法绕开这个烦人的前戏。然后,打开了许久不用的Windows下的vscode的,看看有啥好玩的插件,突然看到巨硬大佬发布的插件Remote-WSL,就是下面这玩意儿:

vscode的C++开发环境配置-win10下Linux子系统

这个插件是干什么的呢,简单说就是让vscode可以连接到win10的Linux子系统上去编辑里面的代码等的一个工具。 如果不知道什么是Linux子系统,自行度娘一下。 有了这个插件,那么是不是可以摸索使用Linux子系统去开发了呢,我抱着这样的心态开始了折腾之路。。。

安装Linux

要使用Linux子系统,必须要安装Win10下的Linux-app,现在微软商店上有很多,最常见是Ubuntu,我由于gcc编译器的版本需求是4.x的,所以我选择安装了Ubuntu16.04。下载后,启动app即可,其实这个app就是个终端程序。

vscode的C++开发环境配置-win10下Linux子系统

安装完成以后就可以启动了;如果启动后提示如下情况:

vscode的C++开发环境配置-win10下Linux子系统

说明没有启动Linux子系统,在启用或关闭Windows功能中,将适用于Linux的Windows子系统开启即可;

vscode的C++开发环境配置-win10下Linux子系统

启动后和正常的Ubuntu系统并没有什么区别,所有需要的环境都可以使用Ubuntu的安装命令apt-get获取。

配置VScode

下面是我们整个开发环境的主角,vscode的配置: 首先安装最新版本的vscode; 启动后,在左侧的扩展

vscode的C++开发环境配置-win10下Linux子系统

里面搜索Remote-WSL

vscode的C++开发环境配置-win10下Linux子系统

点击右侧的安装后,等待插件安装完毕,然后F1调出命令列表,输入Remote就可以看到Remote-WSL

vscode的C++开发环境配置-win10下Linux子系统

选择第一个New Window,会重新打开一个vscode的界面,然后在下边的output可以看见连接WSL的过程,这个过程中vscode会在Linux系统中安装vscode-server,需要注意的是,vscode-server只支持内核版本 >= 3.10,glibc >= 2.17, libstdc++ >= 3.4.18的Linux系统,常见的如Ubuntu 16.04+,Debian 8+,CentOS 7+等。(所以我折中了下选择Ubuntu16.04的版本,而且这个在微软商店中是免费的:))。

安装完成后在vscode的下面打开终端,可以看到终端类型是bash

vscode的C++开发环境配置-win10下Linux子系统

没有连接WSL的终端是powershell

vscode的C++开发环境配置-win10下Linux子系统

在终端中执行pwd能看到是在Linux当前用户的家路径下。

C,C++开发环境

如果不需要开发C,C++的可以跳过了:

首先就是安装Ubuntu里面的gcc和g++编译器,调试的话还要安装gdb 如果直接sudo apt-get install gcc安装的是gcc5的版本,如果不想装高版本的gcc可以安装4.7或者4.8:sudo apt-get install gcc-4.7,同样g++也如此。

安装完成后,在vscode中扩展里面搜索C++的插件,推荐安装巨硬大佬出的,安装到WSl中。

vscode的C++开发环境配置-win10下Linux子系统

基本环境已经可以了,具体如何配置coding和debuging的可以参考: https://www.cnblogs.com/lkpp/p/vscode-cpp.html

效果如下:

vscode的C++开发环境配置-win10下Linux子系统

写在之后

Windows subsystem for Linux 的几大优势:

1.WSL下运行的Linux程序运行时所有的Linux系统调用都被翻译或者描述给了WindowsNT,相当于直接调用的Windows内核,这样的好处是创建的现场进程我们再Windows任务管理器中可以看见。

2.WSL包含两种文件系统VolFS和DriverFS,前一种兼容所有Linux文件管理,包括文件命名和文件格式;后一种支持在WSL中直接访问Windows文件,访问地址在/mnt/[盘符],例如最简单的一个问题是,可以在Windows的目录中创建软连接。

作者:lynebetos

来源:https://my.oschina.net/u/3201657/blog/3135533

相关推荐