GitHub Codespaces
它是什麼
想像一下租一套配齊傢俱的公寓,而不是自己買傢俱、把每個房間都佈置一遍——你走進去,一切就緒。GitHub Codespaces 之於編碼就是這樣:一個執行在雲端的完整開發環境(寫程式碼和跑程式碼所需的全部語言、工具和專案檔案),直接從倉庫啟動。你不必在自己的機器上安裝這一切,而是開啟一個 Codespace,就得到一個開箱即用的編碼環境——通常是瀏覽器裡的 VS Code(一款流行的免費程式碼編輯器),或從桌面連線進來——而且專案已經配置好了。該環境由你倉庫裡的一份開發容器(dev container)配置來定義——"開發容器"就是一份食譜檔案,逐項列出專案究竟需要哪些工具和設定,因此每個人都能在幾秒內得到相同的設定。
優勢
- 無需本地設定——開啟一個倉庫,就能在完全配置好的環境裡開始編碼。
- 一致、可復現的環境,用程式碼定義(
devcontainer.json)。 - 為每個分支或任務啟動一臺全新、用完即棄的機器,然後隨手丟掉。
- 可從瀏覽器或連線的桌面編輯器使用;在效能孱弱的裝置上也能用。
- 上手幾乎是即時的——新貢獻者跳過了"裝好一切"的那一整天。
取捨
- 它是計量收費的:超出每月免費額度後,計算和儲存都要花錢。
- 需要穩定的網路連線;它不是離線工作流。
- 笨重或專用的本地工具(GPU、某些原生依賴)可能不太適配。
- 你依賴的是一個託管環境,而非擁有自己的本地配置。
最適合
無需本地設定就快速進入專案、給每個貢獻者一個完全相同的環境,以及執行用完即棄的按任務工作區——對於上手新人、快速試驗,或從受限機器上編碼尤其有用。
與 vibe coding 的契合度
Codespaces 是 vibe coding 的一片乾淨舞臺,因為環境用完即棄且可復現:AI 助手可以自由地安裝、構建和執行各種東西,如果它搞得一團糟,你只需丟棄這個 Codespace,重新開始即可。在 devcontainer.json 裡定義好設定,讓 AI 助手——以及你——總是落到同一個配置好的環境裡。提示:讓 AI 助手把開發容器配置保留在倉庫中,並解釋它加了些什麼,這樣你的"在我機器上能跑"對每個人來說都是同一臺機器。
// .devcontainer/devcontainer.json
{
"name": "vibe-project",
"image": "mcr.microsoft.com/devcontainers/javascript-node:20",
"postCreateCommand": "npm install",
"forwardPorts": [3000]
}