開發環境
前言: 一個好的程式設計師,需要一個好的開發環境,一個開發環境的好壞,可以決定一個程式設計師的開發效率。如下,我會介紹幾個關於我在寫 Rust 程式時候使用過的開發環境,因為我的首選系統是 Windows 所以環境也是基於此係統的一個配置。
Windows + GCC
-
優點
- 配置方便
- 可以開發 GUI 相關應用
-
缺點
- 如果想快速部署到 Linux 伺服器,可能 WSL 開發環境更適合你。
前提準備
- 安裝 GCC -> Download,當然你也可以選擇 MSVC 只要不介意多安裝一個 Visual Studio
- MinGW-W64 GCC-8.1.0 選擇離線安裝的
x86_64-posix-seh
版本 - 然後配置 Windows 的環境變數,不會的自行查閱網路。
- 下載 Rustup -> Download,選擇你合適的版本,一般都是 64位。
開始安裝
- 執行
rustup-init.exe
如果用 MSVC 編譯器的直接無腦第一個,需要用 GCC 的跟我接下來步驟操作。 - 我們選擇第 2 個選項:Manually install the prerequisites
- 然後會提示我們:If you will be targeting the GNU ABI... 我們輸入
y
回車。 - 接下來我們選擇第 2 個選項:Customize installation
- 然後輸入
x86_64-pc-windows-gnu
回車 - 接下來一直回車就可以
配置映象
- 我們開啟資源管理器,進入
%USERPROFILE%\.cargo
目錄 - 新建一個
config
檔案,沒有字尾名 - 用編輯器或文字文件開啟,編輯以下內容
[source.crates-io]
replace-with = 'mirror'
[source.mirror]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
這個是清華的 cargo
映象,在我們用庫的時候國內下載速度會更快一些。
Windows + WSL
-
優點
- Linux 環境更適合開發
- 編譯的二進位制檔案更能快速部署 Linux 伺服器
-
缺點
- 可能在安裝 WSL 的過程中較為麻煩
- 不能開發 GUI 專案(沒折騰過)
Tips: 首推 Windows + WSL 開發,用習慣了真的很爽,更能學習 Linux 基礎。
前提準備
- 搜尋 啟用或關閉 Windows 功能 ,並開啟。
- 把 Hyper-V 與 適用於 Linux 的 Windows 子系統 兩個給勾選上,點選確定安裝。
- 我們安裝升級 WSL2 的核心包,下載連結。
- 開啟 Powershell,輸入
wsl --list --online
檢視線上安裝的 WSL 所有版本。 - 我們以 Ubuntu 24.04 為例,輸入
wsl --install -d Ubuntu-24.04
安裝。 - 將 WSL 預設版本設定為 2
wsl --set-default-version 2
配置環境
在 Windows 的終端 輸入 wsl
回車,即可快速進入 WSL 系統。
- 更新系統源
sudo apt update
sudo apt upgrade
- 安裝基礎開發環境包
sudo apt install build-essential
- 設定 Rustup 映象
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
- 安裝 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- 更改 Crates 映象
編輯 $HOME/.cargo/config
新增內容:
[source.crates-io]
replace-with = 'mirror'
[source.mirror]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
開發工具
我選擇的開發工具 IDE 是 Visual Studio Code,總體來說使用體驗非常的棒,作為微軟旗下的開發工具,它當然有外掛去遠端在 WSL 開發,用起來十分順手。
這裡不寫如何安裝使用,我僅僅推薦我用的幾個外掛:
- Code Translate:哪裡不會選哪裡翻譯
- Error Lens:程式碼報錯會在行上顯示
- Even Better TOML:支援 TOML 檔案語法高亮
- rust-analyzer:提供對 Rust 程式語言的支援
- TONGYI Lingma:阿里旗下的一款程式碼 Ai,用於在旁邊輔導與輔助寫程式碼神器,碰到不會的地方都可以問他,例如報錯再也不用去網上搜好多沒用方法也沒解決。