vscode的C++开发环境配置-win10下Linux子系统
前言
最近一直在纠结,每次要开发都要打开虚拟器,启动Linux,然后启动IDE。一圈下来光启动都要好几分钟,而且虚拟机占用内存和磁盘相对较大。想找找其他的方法绕开这个烦人的前戏。然后,打开了许久不用的Windows下的vscode的,看看有啥好玩的插件,突然看到巨硬大佬发布的插件Remote-WSL,就是下面这玩意儿:
这个插件是干什么的呢,简单说就是让vscode可以连接到win10的Linux子系统上去编辑里面的代码等的一个工具。 如果不知道什么是Linux子系统,自行度娘一下。 有了这个插件,那么是不是可以摸索使用Linux子系统去开发了呢,我抱着这样的心态开始了折腾之路。。。
安装Linux
要使用Linux子系统,必须要安装Win10下的Linux-app,现在微软商店上有很多,最常见是Ubuntu,我由于gcc编译器的版本需求是4.x的,所以我选择安装了Ubuntu16.04。下载后,启动app即可,其实这个app就是个终端程序。
安装完成以后就可以启动了;如果启动后提示如下情况:
说明没有启动Linux子系统,在启用或关闭Windows功能中,将适用于Linux的Windows子系统开启即可;
启动后和正常的Ubuntu系统并没有什么区别,所有需要的环境都可以使用Ubuntu的安装命令apt-get获取。
配置VScode
下面是我们整个开发环境的主角,vscode的配置: 首先安装最新版本的vscode; 启动后,在左侧的扩展里面搜索Remote-WSL
点击右侧的安装后,等待插件安装完毕,然后F1调出命令列表,输入Remote就可以看到Remote-WSL
选择第一个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
没有连接WSL的终端是powershell
在终端中执行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中。
基本环境已经可以了,具体如何配置coding和debuging的可以参考: https://www.cnblogs.com/lkpp/p/vscode-cpp.html
效果如下:
写在之后
Windows subsystem for Linux 的几大优势:
1.WSL下运行的Linux程序运行时所有的Linux系统调用都被翻译或者描述给了WindowsNT,相当于直接调用的Windows内核,这样的好处是创建的现场进程我们再Windows任务管理器中可以看见。
2.WSL包含两种文件系统VolFS和DriverFS,前一种兼容所有Linux文件管理,包括文件命名和文件格式;后一种支持在WSL中直接访问Windows文件,访问地址在/mnt/[盘符],例如最简单的一个问题是,可以在Windows的目录中创建软连接。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Akka Typed系列:协议&行为
引言 2019年11月6号LightBend公司发布了AKKA 2.6版本,带来了类型安全的actor,新的Akka Cluster底层通信设施——Artery,带来了更好的稳定性,使用Jackson进行消息序列化,支持SLF4J日志接口。Akka Typed与之前的经典actor编程模式有较大的不同,本文翻译自Manuel Bernhardt——Akka技术推广大使,在2019年7月发布的系列文章:Tour of Akka Typed: Protocols and Behaviors,文中的示例代码原是scala,考虑到scala普及程度不高,译文全部转成java代码。 本系列课程我们一起来探索Akka Typed,新的Akka Actor API显著优于经典的Actor API。其实Akka Typed早在4月份就已经可以用于生产环境了,但是API还是被标记为可能会改变,随着2.6正式版发布日期的临近,抢先看一下带来了哪些新的变化。 如果你对之前的Akka不熟悉,不用担心,保证你能看懂;如果你对Akka很熟悉,也不要飘飘然,本课程可以帮助你在实际工作中更好的掌握Akka Typed...
- 下一篇
Spring Security 实战干货:动态权限控制(下)实现
1. 前言 Spring Security 实战干货:内置 Filter 全解析 中提到的第 32 个 Filter 不知道你是否有印象。它决定了访问特定路径应该具备的权限,访问的用户的角色,权限是什么?访问的路径需要什么样的角色和权限? 它就是 FilterSecurityInterceptor ,正是我们需要的那个轮子。 2.FilterSecurityInterceptor 过滤器排行榜第 32 位!肩负对 http 接口权限认证的重要职责。我们来看它的过滤逻辑: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { FilterInvocation fi = new FilterInvocation(request, response, chain); invoke(fi); } 初始化了一个 FilterInvocation 然后被 invoke 方法处理: public v...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启