1. 程式人生 > >黑科技搶先嚐 - Windows全新終端初體驗(附程式碼Build全過程)

黑科技搶先嚐 - Windows全新終端初體驗(附程式碼Build全過程)

目錄

  • 將Window 10 升級到1903版本
  • 安裝好git, 從github上clone程式碼
  • 安裝 VS 2019 和 .NET core 3.0 SDK
  • 重定解決方案目標
  • 設定好編譯平臺和啟動的專案
  • 編譯成功後出現一個新的Powershell
  • 安裝Ubuntu
  • 在編譯出來的命令列中使用Linux命令



微軟在幾天前的build大會上展示了 Windows Terminal的威力,由於官宣要在6月中旬才上Microsoft store

,還有一個多月要等呢。好在程式碼已公佈在 github, 於是決定自己 build 後體驗一番。遇到不少坑,大概整理一下流程,分享給大家。如果大家如果發現問題,歡迎指正。

官方視訊如下:
https://v.qq.com/x/page/p0869ovd7aw.html


將Window 10 升級到1903版本

試過用Windows 10 更新助手(Windows 10 update assistant)來升級Windows 10, 發現只能升級到1809版本。而編譯 github 上的 Microsoft terminal 程式碼必須使用Window 10的1903版本.

好在前不久聽說了工具網站 MSDN, 我告訴你上可以下載到該版本的映象。

關於版本選擇,到底選Consumer版還是Business版呢?經大佬Edi Wang指點,得悉如下資訊:

  • 如果你的 Windows 是 家庭版,請選擇 Consumer
  • 如果你的 Windows 是 專業版或企業版,請選擇 Business

至於ed2k://資源的下載,你使用百度雲盤的離線下載也好,使用迅雷也行。


安裝好git, 從github上clone程式碼

首先需要安裝好 git for Windows(https://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

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

確保克隆儲存庫後,還可以使用以下命令克隆子模組:

git submodule update --init --recursive


安裝 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。

在 vs 2019 中開啟Windows terminal專案(對應資料夾Terminal)下的OpenConsole.sln, 如果不勾選"使用.NET Core SDK預覽版"直接編譯,很可能會報下面的 Error:


重定解決方案目標

在上一步中,用vs2019開啟OpenConsole.sln時,系統會提示你將專案重新定位到 v142。 對於“Windows SDK版本”,請選擇“10.0.18362.0”。 將“Platform Toolset”設定為“Upgrade to v142”。

然後往下拖,按下圖設定:

設定完後,單擊最下面的OK。

當然,如果誤點了"取消",也能通過右鍵單擊整個Solution -> Retarget solution來設定:


設定好編譯平臺和啟動的專案

在你嘗試再次build之前,請確保你已經選擇好與你的計算機匹配的編譯平臺(Solution Platform)。

不知道你一開始開啟Solution OpenConsole.sln時編譯平臺和啟動專案是什麼樣的,我的是這樣的:

要正確地 build,這裡需要設定如下:

否則會出現很多錯誤。


編譯成功後出現一個新的Powershell

解決完編譯時的各種狀況之後,Ctrl + F5 執行專案。

唉,和之前的Powershell有何不一樣呢?按Ctrl + T之後會多了個選單,同一個視窗中可以有多個Tab,而其他功能暫時沒進來,等正式版。此外,還多了句話(見高亮部分)~

嘗試新的跨平臺 PowerShell https://aka.ms/pscore6 

工作列中相應的圖示為:

Ctrl + T之後, 右上角會出現一個以+開頭的選單

但你在選單中切換到cmd的時候,視訊中的酷炫效果就有一點出來的跡象了:

接下來,介紹一下如何在上面這個新的cmd中使用Linux命令,以我最熟悉的Ubuntu為例來介紹吧。


安裝Ubuntu

在Microsoft store裡搜尋到Ubuntu,然後購買,安裝。這實際上就是WSL (Windows Subsystem for Linux)。

當然,你想體驗其他版本的 Linux,也是可以的,比如Arch Linux


在編譯出來的命令列中使用Linux命令

安裝完WSL版的 Linux 後,還需要開啟WSL的許可權:

以"管理員許可權"另開一個PowerShell視窗,

然後輸入如下命令:

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

等這裡的命令完成,就可以在build出來的 Terminal 中執行 Linux 命令了。

先在cmd中輸入 ubuntu, 需要花一點點時間啟動 Ubuntu, 設定好使用者名稱和密碼。

然後就可以愉快地玩Ubuntu了,下面我隨便輸入了幾個命令 ps, touch, ls等,如下圖所示。

如有什麼疑問或建議,歡迎及時留言交流。

如果自己不想配置和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/



參考:

Terminal/README.md at master · microsoft/Terminal
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-