黑科技抢先尝 | Windows全新终端初体验(附代码Build全过程)

640?wx_fmt=gif


640?


微软在几天前的build大会上展示了Windows Terminal的威力,由于官宣要在6月中旬才上Microsoft store,还有一个多月要等呢。好在代码已公布在 github, 于是决定自己 build 后体验一番。遇到不少坑,大概整理一下流程,分享给大家。如果大家如果发现问题,欢迎指正。


视频如下:



640?

将Window 10 升级到1903版本

试过用Windows 10 更新助手(Windows 10 update assistant)来升级Windows 10, 发现只能升级到1809版本。而编译 github 上的 Microsoft terminal 代码必须使用Window 10的1903版本.


好在前不久听说了工具网站MSDN, 我告诉你(http://msdn.itellyou.cn/)上可以下载到该版本的镜像。

640?wx_fmt=png

关于版本选择,到底选Consumer版还是Business版呢?经大佬Edi Wang指点,得悉如下信息:

  • 如果你的 Windows 是 家庭版,请选择Consumer

  • 如果你的 Windows 是 专业版或企业版,请选择Business


至于ed2k://资源的下载,你使用百度云盘的离线下载也好,使用迅雷也行。


640?

安装好git, 从github上clone代码

首先需要安装好git for Windowshttps://gitforwindows.org/),然后使用 git 去 clone 一份代码。


Microsoft Terminal 的 github仓库是:

https://github.com/microsoft/Terminal

对应的 clone地址是:

https://github.com/microsoft/Terminal.git


打开命令行,使用cd命令,切换到自己平时存vs项目的路径(比如我切换到D:\Coding)。

接着只需要在Git Bash中输入如下命令即可:

git clone https://github.com/microsoft/Terminal.git

640?wx_fmt=png

等 clone 完成,就可以进行下一步了。

确保 clone 仓库完成后,还可以使用以下命令克隆子模块:

git submodule update --init --recursive



640?

安装 VS 2019 和  .NET core 3.0 SDK

先安装 vs 2019 professional 或 enterprise版本,github上的文档提到了要编译 window terminal 必须勾选上:

  • Desktop Development with C++

  • Universal Windows Platform Development

  • Windows SDK version 10.0.18362.0


再安装好.net core 3.0 SDK,比较简单,就不再详述。

在vs的设置里,勾选.NET core下的"Use preview SDK"(使用.NET Core SDK预览版),重启 VS。

640?wx_fmt=png


在 vs 2019 中打开Windows terminal项目(对应文件夹Terminal)下的OpenConsole.sln, 如果不勾选"使用.NET Core SDK预览版"直接编译,很可能会报下面的 Error:

640?wx_fmt=png


640?

重定解决方案目标

在上一步中,用vs2019打开OpenConsole.sln时,系统会提示你将项目重新定位到 v142。 对于“Windows SDK版本”,请选择“10.0.18362.0”。 将“Platform Toolset”设置为“Upgrade to v142”。

640?wx_fmt=png

然后往下拖,按下图设置:

640?wx_fmt=png

设置完后,单击最下面的OK。


当然,如果误点了"取消",也能通过右键单击整个Solution -> Retarget solution来设置:

640?wx_fmt=png


640?

设置好编译平台和启动的项目

在你尝试再次build之前,请确保你已经选择好与你的计算机匹配的编译平台(Solution Platform)。

不知道你一开始打开SolutionOpenConsole.sln时编译平台和启动项目是什么样的,我的是这样的:

640?wx_fmt=png

要正确地 build,这里需要设置如下:

640?wx_fmt=png

否则会出现很多错误。


640?

编译成功后出现一个新的Powershell

解决完编译时的各种状况之后,Ctrl + F5运行项目。

唉,和之前的Powershell有何不一样呢?按Ctrl + T之后会多了个菜单,同一个窗口中可以有多个Tab,而其他功能暂时没进来,等正式版。此外,还多了句话(见高亮部分)~

尝试新的跨平台 PowerShell https://aka.ms/pscore6


任务栏中相应的图标为:

640?wx_fmt=png

Ctrl + T之后, 右上角会出现一个以+开头的菜单

640?wx_fmt=png

但你选择cmd的时候,视频中的酷炫效果就有出来的迹象了:

640?wx_fmt=png

接下来,介绍一下如何在上面这个新的cmd中使用Linux命令,以我最熟悉的Ubuntu为例来介绍吧。


640?

安装Ubuntu

在Microsoft store里搜索到Ubuntu,然后购买,安装。这实际上就是WSL (Windows Subsystem for Linux)。

640?wx_fmt=png

当然,你想体验其他版本的Linux,也是可以的,比如Arch Linux

640?wx_fmt=png


640?

在编译出来的命令行中使用Linux命令

安装完WSL版的 Linux 后,还需要开启WSL的权限:

以"管理员权限"另开一个PowerShell窗口,

640?wx_fmt=png

然后输入如下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

640?wx_fmt=png

等这里的命令完成,就可以在build出来的 Terminal 中执行 Linux 命令了。


先在cmd中输入ubuntu, 需要花一点点时间启动Ubuntu, 设置好用户名和密码。

然后就可以愉快地玩Ubuntu了,下面我随便输入了几个命令 ps, touch, ls等,如下图所示。

640?wx_fmt=png

如有什么疑问或建议,欢迎及时留言交流。


如果自己不想配置和build,可以下载build好的体验一把:

传送门

https://pan.baidu.com/s/1Xrh-0KbsBmh-zJYsdtYqnA 口令: y233


备份地址:

https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal


其他玩法:

Build and install Windows Terminal from Azure DevOps ? Keep IT tidy

https://blog.stomsvik.com/posts/2019/terminal-azure-devops/


参考:

Microsoft Terminal - README.md

https://github.com/microsoft/Terminal/blob/master/README.md


Windows 子系统适用于 Linux (WSL) 上 Windows 10 上安装 | Microsoft Docs

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10


Donovan Brown | Building the new Windows Terminal with Visual Studio 2019

http://www.donovanbrown.com/post/Building-the-new-Windows-Terminal-with-Visual-Studio-2019



640?wx_fmt=gif



原文地址:

https://www.cnblogs.com/enjoy233/p/awesome_windows_terminal_build_and_trial.html 

640?wx_fmt=jpeg

smiley_66.png点击"在看"的人,

2019都会变得特别好看?

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

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

相关文章

aelf帮助C#工程师10分钟零门槛搭建DAPP私有链开发环境

aelf是一个可扩展的去中心化云计算区块链平台,支持高性能合约并行执行、原生多链数据交互、存储使用高性能分布式数据库。aelf整个系统可以在windows、osx及linux运行,团队在osx环境下开发,基于.net core DAPP开发1.安装.net core及protobufh…

Build 2019 上微软的开源动作有点不一样

微软今年举办的 Build 开发者大会可谓是抢足风头,大会第一天就放了不少大招:宣布新的命令行终端 Windows Terminal、Windows 10 的 Linux 子系统 WSL 2 将运行真正的 Linux 内核、跳过 .NET 4 宣布 .NET 5 的计划、宣布 Web 版本的 VS Code (Visual Stud…

P1437 [HNOI2004]敲砖块

P1437 [HNOI2004]敲砖块 题意: 在一个凹槽中放置了 n 层砖块、最上面的一层有 n 块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示: 14 15 4 3 2333 33 76 22 …

在kubernetes 集群内访问k8s API服务

所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户)。基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API 组来实现授权控制,允…

.NET Core之只是多看了你一眼

技术学习是一件系统性的事情,如果拒绝学习,那么自己就会落后以至于被替代。.NET也是一样,当开源、跨平台成为主流的时候,如果再故步自封,等待.NET的就是死路一条,幸好.NET Core问世了,社区反响积…

TOTP 介绍及基于 C# 的简单实现

TOTP 介绍及基于 C# 的简单实现IntroTOTP 是基于时间的一次性密码生成算法,它由 RFC 6238 定义。和基于事件的一次性密码生成算法不同 HOTP,TOTP 是基于时间的,它和 HOTP 具有如下关系:TOTP HOTP(K, T)HOTP(K,C) Truncate(HMAC-…

微软携手红帽,共筑开源新未来

官宣了,官宣了!微软携手红帽正式推出重要力作Global Azure 公有云第一款联合管理的 OpenShift 产品,业界欢腾!自此,微软在拥抱云计算开源之路上,多了一股强劲的推动力。5月初刚刚举办的全球 Red Hat Summit…

.NET Core 3.0之深入源码理解Startup的注册及运行

开发.NET Core应用,直接映入眼帘的就是Startup类和Program类,它们是.NET Core应用程序的起点。通过使用Startup,可以配置化处理所有向应用程序所做的请求的管道,同时也可以减少.NET应用程序对单一服务器的依赖性,使我们…

置换群,Polya引理和burnside引理(等价类计数问题)

参考文章: 等价类计数问题 Burnside引理&Plya定理 Burnside引理与Polya定理 置换群和Burnside引理,Polya定理 概念引入: 离散数学应该学过置换群的相关概念,置换本质就是映射,可以理解成一个正方形绕其中心逆时针…

时隔两年的重大更新,微软发布.NET Framework 4.8

微软发布了.NET Framework 4.8,这是两年来.NET 框架的第一个重大更新。新版本包含多个产品领域的改进,其中包括 Windows 窗体、WCF、WorkFlow 和 WPF。它还在基类库(BCL)和通用语言运行时(CLR)中有一些更新…

EventStore文件存储设计

背景ENode是一个CQRSEvent Sourcing架构的开发框架,Event Sourcing需要持久化事件,事件可以持久化在DB,但是DB由于面向的是CRUD场景,是针对数据会不断修改或删除的场景,所以内部实现会比较复杂,性能也相对比…

.NET Core 如何禁止.resx文件自动生成Designer.cs

点击上方蓝字关注“汪宇杰博客”在 Visual Studio 中,如果我们在一个 .NET Core 工程里加入了一个资源文件(.resx),那么你会发现有个对应的 .Designer.cs 文件被自动生成了,每次资源文件的内容有变化,这个设…

P1450 [HAOI2008]硬币购物

P1450 [HAOI2008]硬币购物 题意: 共有 4 种硬币。面值分别为c1,c2,c3,c4c_1,c_2,c_3,c_4c1​,c2​,c3​,c4​。 某人去商店买东西,去了 n 次,对于每次购买,他带了 did_idi​枚 i 种硬币,想购买 s 的价值的东西。请问…

.net core百万设备连接服务和硬件需求测试

随着物联网的普及,服务应用将面对大量物联设备处理;早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理模块也有着显著的提升。以下主…

字符串匹配(多模式匹配篇)

字符串匹配(多模式匹配篇)摘要:问题的提出:众所周知,KMP算法在O(n)的时间中solve单模式串匹配问题。但怎样solve多模式串匹配问题呢?Solve:本文用简要记叙了使用trie树&a…

.net core编写转发服务

我有个小伙伴问我,他需要写一个转发服务的他有很多功能要通过他的服务转发~技术栈又不一定asp.net core,我就想起泥水老前辈的BeetleX.FastHttpApi中午午休,折腾了一会儿前辈,问清楚了FastHttpApi如何配置控制器依赖注入和控制器的…

数据结构(终极线段树篇)

数据结构(终极线段树篇) 摘要: 问题的提出:如何解决多样化的区间操作问题? solve:线段树!!! 关键字: 线段树,可持久化线段树,权值线段…

.NET Core 3.0之深入源码理解Configuration(一)

微软在.NET Core里设计出了全新的配置体系,并以非常灵活、可扩展的方式实现。从其源码来看,其运行机制大致是,根据其Source,创建一个Builder实例,并会向其添加Provider,在我们使用配置信息的时候&#xff0…

摊还分析

摊还分析 1何为摊还分析? 摊还分析主要求解数据结构维护序列执行的所有操作的平均时间,来评价操作的代价,从而保证最坏情况下每个操作的平均性能。 2聚合分析 2.1何为聚合分析? 若长度为n的操作序列最坏情况下所花费时间为T(…

Bigraph Extension

Bigraph Extension 题意: 有2n个点,n为偶数,n个点属于集合A,n个点属于集合B。起初在途中有m个无向边,边的两侧端点分别在两个集合里,任何两个边都没有公共交点。 现在你可以执行任意次操作: 在…