Windows高效開發環境配置(一)
更多精彩內容,歡迎關注公眾號:邏魔程式碼
前言
用了多年的 MacOS 做開發,一系列諸如 Alfred、Item2、Oh-my-zsh 之類的工具,大大地提升了工作的效率和使用舒適度。新工作不給配 Mac 電腦,自己帶電腦每天背著實在麻煩,就花時間研究了下如何在 Windows 上配置一個高效的開發環境,將以系列文章的形式分享出來,希望可以對使用 Windows 開發的大家有些幫助!
在 MacOS 上,iTerm2 + Oh-My-Zsh 是高效生產力工具組合,其終端命令行提示功能極其隨身,尤其是 zsh-autosuggestions 命令行自動填充功能等插件。
那麼在 Windows 系統中是否可以配置 Zsh 終端並安裝其插件呢?
當然可以!
我們先看最終的效果:

要達成此目的,有兩種實現方案:
- WSL + ohmyzsh
- Git Bash + zsh
相比於這兩種方案而言:
- 第一種方案 WSL 直接安裝 Linux 子系統,優點是支援 Linux 生態;缺點是開發時一般在主機系統,而 Linux 子系統和主機系統之間的通過網路共享文件,相對不便。
- 第二種方案 Git Bash 優點是不用切入 Linux 子系統可直接使用 Zsh,方便;缺點則是不完全支援 Linux 命令。
那麼我們選擇哪種方案呢?
小孩子才做選擇,大人則全都要!
WSL 提供 Linux 生態,搭建一些服務之類的;而 Git Bash + zsh 則用於日常開發,完全不衝突!Perfect ~!
就本文而言,我們先配置 Git Bash + zsh 的方案,其他方案,且聽下回分解。
更多精彩內容,歡迎關注公眾號:邏魔程式碼
安裝 Git Bash
從官網下載 Git for Windows ,其包含 Git Bash、Git GUI、Shell Integration 三個部分,安裝完成後, bash shell 和 git 都有了,這也是我選擇它的原因。
安裝過程也很簡單,唯一需要注意的就是,要把如下圖所示的兩個選項勾選上,其他默認即可,依次下一步。

安裝完成後,打開 Git Bash,即可使用大部分常用的 bash 命令。
安裝配置 Zsh
- 進入 MSYS2 Packages ,點擊下載 zsh 壓縮包:

- 使用 7zip 解壓,複製 etc、usr 兩個文件夾到 Git 安裝目錄中,如圖:

- 打開 Git Bash,執行命令
zsh,出現如下圖所示,即表示 zsh 安裝成功

- 重要! 根據嚮導對 zsh 進行初始化配置,主要是 tab 補全和命令歷史配置。若是因為某個原因,不小心關閉或跳過了配置嚮導且不再出現了,可以使用如下命令再次打開配置嚮導:
autoload -U zsh-newuser-install
zsh-newuser-install -f
具體配置不再詳細說明,若需要幫助,請聯繫筆者。
- 配置 zsh 為 Git Bash 的默認 shell 。在
~/.bashrc(用戶主目錄)中添加如下內容:
# Enable zsh
if [ -t 1 ]; then
exec zsh
fi
若安裝 Git Bash 時,完全按照上文說明,則在用戶根目錄下,有一個 .bashrc 文件,否則請自行創建。
安裝 oh-my-zsh
按照上面的步驟,我們的 Git Bash 已經和 Unix Zsh Shell 沒什麼區別了,接下來直接執行 oh-my-zsh 安裝腳本即可:
sh -c "$(curl -fsSL //raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安裝插件
安裝如下幾個插件,提高開發效率,詳細安裝方法,請點擊鏈接進入頁面查看。
- zsh-completions
- zsh-syntax-highlighting
- zsh-autosuggestions
- 提示:如果自動提示插件遇到游標閃動之類的奇怪問題,這可能是 v0.7.0 引起的問題,切換到 v0.6.4 版本即可。
cd ~/.oh-my-zsh/plugins/zsh-autosuggestions
git checkout tags/v0.6.4 -b v0.6.4-branch
Windows Terminal
強烈建議安裝!
Windows Terminal 是微軟官方出品的新一代終端集成工具,安裝之後,可以直接以 Tab 頁的形式管理 CMD、PowerShell、Git Bash等。其美觀性和功能性,都遠遠勝出 Windows 內置的 CMD 和 PowerShell。直接從應用商店安裝即可,以後更新更方便。

更多精彩內容,歡迎關注公眾號:邏魔程式碼
至此,本文配置全部完成!


