打造舒適的 Windows 開發體驗 WSL 是關鍵

--

Photo by henry perks on Unsplash
目錄:
1. 打造舒適的 Windows + Mac 雙系統開發環境
2. 在 Windows 上打造 Linux 的開發體驗 WSL 是關鍵 << 本篇
3. (預定) 在 Windows 中該如何使用 Node.js 開發?
4. (預定) 在 Windows 中該如何使用 Python 開發?
5. (預定) 在 Windows 中該如何使用 Docker 開發?

延續上一篇,打造舒適的 Windows + Mac 雙系統開發環境,打算用一系列的文章,一一來介紹開發各種環境。

重度 Mac / Linux 開發者,嘗試 Windows 開發

先來說說我是個怎麼樣的人,我是個 Mac / Linux 重度使用者,學生時期使用 Windows 開發實在雷,光是搞環境平均就要花一個禮拜以上。再換成一台二手的 Macbook 之後就一路大順暢,從此只用 Mac / Linux 環境開發。

直到最近看到強者我朋友用 Windows 用得滿順的,不僅 Web 這些比較通用的東西跑得順,連 Linux 套件和 Docker 甚至 K8S 都可以順利執行。於是我就買了一台 Windows 電腦,那就來打造出能夠媲美 Linux 開發環境的舒適 Windows 開發體驗吧!

對 Window 敬而遠之的時期

過去幾年我的主力開發環境以 Mac 或是 Linux 為主要開發環境,主要的原因是,有許多 Linux 的套件在 Windows 上不太穩定,安裝時發生的錯誤,10 台有 7 台會發生不一樣的情況。可能是軟體發生問題,也有可能是硬體導致,雖然說最終還是可以找到解決方案,可是每台電腦或是重灌都要重複花費大量時間的時間在處理環境。讓我這個 Windows 使用者毅然決然使用 Macbook 做為開發工具,這一用下去,也用了 7 年以上了。

長年使用 Mac 的我,為什麼想要使用 Windows 開發?

第一個原因是,看到強者我朋友 Windows 上跑各種環境跑的很順,滿讓我訝異的,因為以往雷到爆的 Windows,好像突然間不雷了?

但現在的 Windows 滿穩定的,我觀察了一些現象,在安裝了一些套件之後,沒有發生以前動不動就爆炸,卻又非常難排除的情形。

Cmder — 類似 Linux 的開發體驗

Cmder 安裝很簡單,去官方網站下載即可使用,選擇完全安裝的話,可以連 git 一起安裝起來。可以說是懶人最快建置好環境的方式。

不過由於 Cmder 只是提供一些「類似」Linux 的體驗。並且他是一種「終端機」,所以並不能解鎖好用的 Linux 開發環境。因此接著介紹下一個好冰友 WSL。

WSL — 如果想要一勞永逸,選他

WSL 讓 Windows 使用者,不必透過虛擬機,就能直接使用 Linux 環境。現在,Windows 變得對 Linux 開發者更友善。

可以使用 Linux 指令來操作 Windows 系統,令我感到驚豔。以前裝 Linux 套件用一堆奇怪的方法,最後還是裝不好,現在可以直接在 Windows 無縫銜接 Linux,真滴棒!

WSL 讓我們可以在 Windows 上體驗到 Linux 的開發流暢感。

附上 WSL 的架構圖,簡單的說 Linux 的指令會被轉成 NTCore 的 system call,來達到期待的效果。例如:ls 可以列出檔案,

https://blog.jessfraz.com/post/windows-for-linux-nerds/

ps: 想要深入了解 WSL 原理請看這篇 :WSL 原理介紹

WSL 的安裝

按照下面網頁逐一步驟安裝即可,下面連結中有幾個步驟,依序跑完,即可安裝完成。建議不要參加實驗計畫當白老鼠,跑幾個

如果沒有加入微軟的實驗計畫,那下面連結中有幾個步驟,依序跑完,即可安裝完成。我自己是沒有參加實驗計畫當白老鼠,指令貼一貼比較省事。

有了 WSL 之後,來個終端機吧!

安裝好 WSL 以後,你就可以在 Windows 上面使用 Linux 指令,該怎麼使用終端機呢?

打開終端機,輸入 wsl 即會進入 WSL 的環境,並且會將路徑綁定到 Windows 的檔案系統上。下面使用的終端機為 Windows Terminal。

圖片來自 Luka 的 Windows

Terminal 終端機的選擇

終端機有幾個選擇,如果你是 Windows 慣用的使用者,你可使用 Cmder 來開啟 WSL,因為你已經習慣了 Cmder 帶來的整合度與習慣。Cmder 也滿漂亮的,只是有些地方,還是需要設定和調教,才能符合自己的使用習慣,例如:$ 的取代 … 等等瑣碎的小事。

圖片來自 Luka 的 Windows

如果你是輕量使用者 ,對終端機不是很熟悉,可以用用看 Windows Terminal。微軟推出了一款 Terminal,簡單素雅的頁面,可以輕鬆切換 Powershell 與 WSL 環境,好像也有很多主題可以客製,算是一個簡單好上手的組合。

圖片來自 Luka 的 Windows

順帶一提,來看看 Powershell 原始的終端機有多恐怖!!藍色的底,加上進入 WSL 的藍色字體,根本是眼睛殺手,哎呀~我的眼睛業障重!

圖片來自 Luka 的 Windows

最後一個選項是使用 VS Code 來整合 WSL,方便大家開發的時候順便使用 VSCode 直接下指令。我覺得這也不失為一個理想的開發環境解決方案。

圖片來自 Luka 的 Windows

小結

讓 Windows 上也可以擁有舒適的開發環境是突破自己舒適圈的一小步,現在微軟越來越邁向開源,給他一次機會,雖然因為 Windows 的更新非常的奇葩,你不更新還要給你強制更新,根本使用者體驗殺手,這個情形讓我不會想要轉移主要開發環境過去,但,現在 Windows 是否已經是一個「還可以」的開發環境了呢?我覺得是 ok 的。

希望這篇有幫助到 Windows 使用者的你😃

--

--