Microsoft 正在準備發布 Windows 2020 年 20 月更新 (1HXNUMX)。 此更新將包含一些不錯的使用者介面改進,但對於新版本 Windows 中的開發人員和其他人來說更重要的是
Dave Rupert 在他的 2 吋 Surface 筆記型電腦上安裝了 WSL 13,並獲得了第一個結果
驚喜:
WSL 的第二個版本比第一個版本快 13 倍! 您並非每天都能免費獲得 13 倍的效能提升。 當我第一次看到這些結果時,我感到一陣寒意,並流下了男子氣概的眼淚。 為什麼? 好吧,我主要是在哀悼在 WSL 第一個版本上工作 5 年多所積累的時間。
這些不僅僅是數字。 在 WSL 2 中,npm 安裝、建置、打包、檢視檔案、重新載入熱模組、啟動伺服器 - 幾乎我作為 Web 開發人員每天使用的所有內容都變得更快。 感覺就像再次使用 Mac 一樣(或者可能更好,因為蘋果在過去幾年中一直在從根本上限制其處理器以支援更好的電池壽命)。
這樣的敏捷性從何而來?
他們是如何實現生產力提高 13 倍的? 此前,當我考慮切換到 Mac 時,我也拋出了一些選項,儘管純粹是在假設層面上。 事實上,由於 WSL 第一個版本的架構,寫入磁碟和 Linux 系統呼叫非常昂貴(就時間成本而言)。 現在猜猜現代網頁開發主要依賴什麼? 是的。 當您每次儲存檔案時將一堆依賴項和程式碼片段拼湊在一起時,您實際上是在對數萬個檔案進行大量磁碟寫入和系統呼叫。
一旦你透過艱難的方式學會了這一點,就很難忘記。 當你想像這一切是如何緩慢而悲傷地進行時,你就會開始逐漸變得沮喪。 你意識到你的世界將不再一樣,你喜歡的工具似乎不再有用或有效。
幸運的是,WSL 團隊冒險徹底重寫了子系統。 在 WSL 2 中,這些問題得到了解決:開發人員將自己的 Linux 虛擬機構建到 Windows 中,並將文件操作委託給 VHD(虛擬硬體磁碟)網路磁碟機。 代價是,第一次運行它時,您必須花時間啟動虛擬機器。 這個時間以毫秒為單位,我個人幾乎察覺不到。 例如,我很高興地等待,因為我知道這一切是為了什麼。
文件現在將存放在哪裡?
要充分利用 WSL 2,您需要將專案文件從 /mnt/c/Users/<使用者名稱>/ 到新的主目錄 ~/Linux 在新的 VHD 上。 您可以透過造訪線上查看該驅動器的內容 \\wsl$\<發行版名稱>\<使用者名稱>\home 或輸入命令 explorer.exe的 從你的 Bash shell 中。
這是一個真正的 Linux 檔案系統,它的行為和行為正如您所期望的那樣。 我創建了一個資料夾 ~/專案,這是我所有專案儲存庫的位置,然後我使用 code 命令在 Visual Studio Code 中開啟專案。
VS 程式碼怎麼樣?
安裝 WSL
起初,我對必須安裝此擴充功能感到有點不安,因為我需要重新安裝先前安裝和配置的內容。 但現在我很欣賞它,因為有一個特殊的視覺化層可以顯示我正在工作的環境以及我的文件所在的位置。 這使得 Windows Web 開發過程更加透明,並且更容易在 VS Code 中使用版本控制 UI。
幸福的淚水和對美好未來的希望
我不禁對 Windows 2020 年 XNUMX 月更新的下一個版本以及在我強大的遊戲 PC 上運行的優化 Linux 子系統感到興奮。 可能還有一些我還不知道的問題,但之後
另外,不要忘記
在 Windows 上工作了 5 年,我經歷了很多:無法安裝 Rails、與人工 Cygwin shell 作鬥爭。 當 Microsoft 宣布 WSL 的第一個版本時,我坐在同一個 Build 2016 會議上。 然後我開始希望 Windows 上的 Web 開發最終能夠達到一個新的水平。 毫無疑問,WSL 2 是我自那時以來看到的最大改進,看起來我們正處於新時代的風口浪尖。
論廣告的權利
如果工作需要 Windows伺服器,那麼你肯定
來源: www.habr.com