WSL+VSCODE体验UBUNTU环境下的开发

640?wx_fmt=png

首先安装 WSL,我这里选择的是 ubuntu18.04 这个应用。

切换 WSL 的默认用户为 root 用户

切换成 root 用户主要是避免后续开发中遇到权限问题比较麻烦,直接默认 root 解决问题。

找到ubuntu安装目录,一般在C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2019.522.0_x64__79rhkp1fndgsc文件夹下面。

在文件夹中打开 powershell 运行下面的命令:

1234
./ubuntu1804.exe config --default-user root# 重启WSL服务net stop LxssManagernet start LxssManager

如果显示拒绝访问,就用管理员权限打开 powershell,或者直接在资源管理器中找到LxssManager这个服务重新启动。

切换 apt 源为清华源

默认的软件源下载太慢,替换为国内的清华大学软件源。

Ubuntu 清华源的地址:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

切换 WSL 默认的 shell 为 zsh

zsh 的优点在我看来就是配置丰富,最重要的就是好看。

执行下面的命令安装zshoh-my-zsh

123
sudo apt-get updatesudo apt-get install zshsh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

查看当前机器上的 shell 类型:

 1 2 3 4 5 6 7 8 91011
cat /etc/shells# 输出下面类似内容/bin/sh/bin/bash/bin/rbash/bin/dash/usr/bin/tmux/usr/bin/screen/bin/zsh/usr/bin/zsh

切换登陆时默认的 shell 为 zsh

重新打开 ubuntu 窗口,或者重新在 VS code 中连接 WSL,就可以使用新设置的 shell 了。

配置 zsh 的主题为 agnoster

1234
vi ~/.zshrc# 修改下面的属性:ZSH_THEME="agnoster"

配置完成之后执行source ~/.zshrc命令生效,之后发现展示的内容有乱码,这是因为字体的问题,由于主要在 VS code 中使用,这里就不处理默认窗口的字体问题了。

在 VS code 中搜索Remote-WSL并安装,完成之后在左下角会出现这个图标:

640?wx_fmt=png

点击该图标,选择 New Window

640?wx_fmt=png

第一次有些慢,需要安装组件:

640?wx_fmt=png

切换默认终端为 zsh

进入后打开 terminal 发现默认还是 bash,需要配置一下切换为 zsh 终端:

vi ~/.bashrc# 在打开的文件中(末尾即可)增加下面内容if test -t 1; then    exec zshfi

关闭掉终端再打开,就可以发现默认 shell 切换成 zsh 了。

解决乱码问题,修改 VS code 的字体即可,这里推荐Fira Code字体,下载安装该字体,并修改为 VS code 的默认字体,再打开终端就是下面的效果了:

640?wx_fmt=png

安装 WSL 下的 VS code 扩展

进入 WSL 中时 VS code 的本地扩展都是没有的,需要在 WSL 下在安装一边,也就是点点点就行:

640?wx_fmt=png

把已安装过的插件上显示”Install on WSL”的都点击安装上就行啦。

来个hello world

按照上面的官方文档在 terminal 中安装.net core:

640?wx_fmt=png

创建并运行

进入我们本机的指定磁盘下新建项目(本机的文件系统挂载在 WSL 中的/mnt文件目录下):

# 进入我的本机e盘下面cd /mnt/e/dotnetdotnet new console -o myAppcd myAppdotnet run

640?wx_fmt=png

在 VS code 中修改编译运行

在 VS code 中编辑 myApp 的内容,然后运行:

640?wx_fmt=png

Hello World!修改为Hello WSL!

640?wx_fmt=png

在 terminal 中编译为 Linux 版本运行

640?wx_fmt=png

至此就可以在 VS code 中体验 Linux 环境下做开发了,只要在 VS code 中连上 WSL 就可以在 Linux 下开发、编译、测试 Linux 下的应用,而不用再准备一台 Linux 机器写代码、编译测试,感觉很爽。

原文地址:

http://haijd.tech/tool/wsl+vscode%E4%BD%93%E9%AA%8Cubuntu%E7%8E%AF%E5%A2%83%E4%B8%8B%E7%9A%84%E5%BC%80%E5%8F%91/


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员修仙之路--优雅快速的统计千万级别uv

菜菜,咱们网站现在有多少PV和UV了?Y总,咱们没有统计pv和uv的系统,预估大约有一千万uv吧写一个统计uv和pv的系统吧网上有现成的,直接接入一个不行吗?别人的不太放心,毕竟自己写的,自己…

【CF1230E】Kamil and Making a Stream【GCD性质】【暴力vector】

传送门 题意:给一棵带点权的有根树,求所有满足uuu是vvv的祖先的路径(u,v)(u,v)(u,v)的路径上所有点权的gcdgcdgcd的和模1e971e971e97。 N≤100000N \leq 100000N≤100000 看到连续gcdgcdgcd多半是根据单调性维护链表之类的 对于每个点,记录所有祖先到…

P3391 【模板】文艺平衡树 fhq-treap 模板

传送门 文章目录题意:思路:题意: 思路: 这是学splaysplaysplay的时候的一个模板题,之前学过fhq−treapfhq-treapfhq−treap,但是没怎么用他做过题,今天一做还发现不少问题,真是眼高…

123. 买卖股票的最3佳时机 III

思路&#xff1a;动态规划&#xff0c; dp1是当前第一次买入的最大值 dp2是当前第一次卖出的最大值 dp3是当前第二次买入的最大值 dp4是当前第二次卖出的最大值 转移看代码&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int dp1-…

Matrix Decompressing UVA - 11082 最大流 + 输出方案

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给出前iii行的元素和A[i]A[i]A[i]&#xff0c;前jjj列的元素B[j]B[j]B[j]&#xff0c;让你构造一个矩阵使得其满足前iii行的元素和是A[i]A[i]A[i]&#xff0c;前jjj列的元素和是B[j]B[j]B[j]。 r,c≤20r,c\l…

微软正式开源WSL 2的内核源码

微软在今年5月举办的 Build 2019 上宣布了第二代 Windows 的 Linux 子系统 —— WSL 2。与第一代相比&#xff0c;WSL 2 重新设计了架构&#xff0c;使用真正的 Linux 内核&#xff0c;支持在 Windows 上运行 ELF64 Linux 二进制文件。按照计划&#xff0c;WSL 2 的初始版本已于…

【NOI2016】优秀的拆分【后缀数组】【ST表】【关键点】【调和级数复杂度】【差分】

传送门 题意&#xff1a;如果一个字符串可以拆分为AABB的形式&#xff0c;其中A和B是任意非空字符串&#xff0c;则我们这种拆分是优秀的。求给定串的所有子串的拆分方案数之和。 N≤30000N \leq30000N≤30000 本来是个神仙题 但明明一个O(nlogn)O(nlogn)O(nlogn)的题为啥只…

剑指 Offer 43. 1~n 整数中 1 出现的次数(数位dp)

思路&#xff1a;就是数位dp&#xff0c;dp[idx][sum][limit]代表&#xff0c;到idx位&#xff0c;前面有sum个0&#xff0c;有没有limit限制&#xff1b; class Solution { public:int dp[20][50][2];int len; int pos[20];int countDigitOne(int n) {for(int i0;i<15;i)f…

Windows新终端中玩转ASCII和Emoji游戏的正确姿势

前一段时间&#xff0c;我搬运了几个Windows Terminal中玩游戏的视频.Windows Terminal - 动图GIF作背景图Windows Terminal - 母牛说HiWindows Terminal - 字符水族箱今天我来给大家展示一下具体的玩法~Emoji版双人碰碰球目前有个现成的 .NET core 项目可以直接用&#xff0c;…

剑指 Offer 38. 字符串的排列(有重复元素的排列)

思路&#xff1a;dfs 暴搜 class Solution { public:vector<string> permutation(string s) {vector<string> a;function<bool(char,int,int)> check[&](char x,int st,int idx){if(st>idx) return false;for(int ist;i<idx;i) if(s[i]x) return …

Pool construction UVA - 1515 最小割模型

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你一个n∗mn*mn∗m的矩阵&#xff0c;包含字符#和.&#xff0c;将#变成.的代价是ddd&#xff0c;将.变成#的代价是fff&#xff0c;让后将#和.隔开的代价是bbb&#xff0c;现在让你用最小的代价将#和.隔开&…

【洛谷P4707】重返现世【扩展Min-Max容斥】【dp】

传送门 题意&#xff1a;NNN种物品&#xff0c;每次第iii种产生概率为piM\frac{p_i}{M}Mpi​​,∑piM\sum p_iM∑pi​M。求生成KKK种不同物品的期望时间 模998244353998244353998244353 N≤1000,M≤10000,N−K≤10N \leq1000,M \leq 10000,N-K\leq10N≤1000,M≤10000,N−K≤10…

nowcoder Forsaken的数列 fhq-treap

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 很明显的数据结构了&#xff0c;splaysplaysplay当然能写&#xff0c;但是fhq−treapfhq-treapfhq−treap更加简洁易懂。 考虑第一个操作&#xff0c;无非就是分裂出[1,pos−1][1,pos-1][1…

HTTP协议支持的方法

方法说明支持的HTTP协议版本GET获取资源1.0,1.1POST传输实体主体1.0,1.1PUT传输文件1.0,1.1DELETE删除文件1.0,1.1OPTIONS询问支持的方法1.1HEAD获取报文首部1.0,1.1TRACE追踪路径1.1CONNECT要求用隧道协议连接代理1.1LINK建立和资源之间的联系1.0UNLINE断开连接关系1.0在这里例…

我与微软的不解之缘 - 我的Insider Dev Tour 2019讲师之旅

作者&#xff1a;Lamond Lu大家好&#xff0c;我是陆楠&#xff0c;来自北京盛安德科技发展有限公司青岛分公司&#xff0c;今年非常有幸作为讲师参加了微软Insider Dev Tour烟台站的活动&#xff0c;我主讲了如何使用最新的微软开发工具开发调试NodeJS项目。与微软结缘与大多数…

【bzoj2555】Substring【后缀平衡树入门】

传送门 &#xff08;bzoj上不去我也很无奈啊&#xff09; 题意&#xff1a;维护一个字符串&#xff0c;支持后面加字符串&#xff0c;给定串询问出现次数。强制在线。 数据范围&#xff1a;暴力跑不过 前置知识&#xff1a;重量平衡树 众所周知&#xff0c;平衡树都用了一…

.NET Core 3.0之深入源码理解Kestrel的集成与应用(一)

写在前面ASP.NET Core 的 Web 服务器默认采用Kestrel&#xff0c;这是一个基于libuv(一个跨平台的基于Node.js的异步I/O库)的跨平台、轻量级的Web服务器。在开始之前&#xff0c;先回顾一下.NET Core 3.0默认的main()方法模板中&#xff0c;我们会调用Host.CreateDefaultBuilde…

HTTP状态码的类别

状态码类别类别原因短语1XX信息性状态码接受的请求正在处理2XX成功状态码请求正常处理完毕3XX重定向状态码需要进行附加操作以完成请求4XX客户端错误状态码服务器无法处理请求5XX服务器错误状态码 服务器处理请求出错 HTTP状态码的数量高达60余种&#xff0c;下面为大家介绍比…

P2596 [ZJOI2006]书架 无旋treap 按照排名分裂

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 实现如下操作&#xff1a; 思路&#xff1a; fhq-treap板子辣&#xff0c;不要被他的编号误导了&#xff0c;我们还是需要按照排名来分裂&#xff0c;从上到下标号1−n1-n1−n即可&#xff0c;注意在按照…

【水】几个网络流图论模型的记录

DAG相关 最小路径覆盖 定义&#xff1a;最少不重路径覆盖DAG 初始时每个点是独立的 之后每次加一条边把两个点连到一起 因为只能用一次&#xff0c;所以是个最大匹配 最小路径覆盖N-拆点后最大匹配\text{最小路径覆盖N-拆点后最大匹配}最小路径覆盖N-拆点后最大匹配 最小链…