GitHub 儲存庫
瀏覽 Wails 儲存庫。
我們歡迎大家為 Wails 做出貢獻!無論您是修復錯誤、新增功能,還是改善文件,您的幫助都備受感激。
發現了錯誤嗎?開啟一個 issue,並包含:
我們始終歡迎文件方面的改善:
透過 pull request 提交程式碼:
# 在 GitHub 上 fork 儲存庫# 然後複製您的 forkgit clone https://github.com/YOUR_USERNAME/wails.gitcd wails
# 新增上游遠端倉庫git remote add upstream https://github.com/wailsapp/wails.git# 安裝相依性go mod download
# 建置 Wails CLIcd v3/cmd/wails3go build
# 測試您的建置./wails3 version# 執行所有測試go test ./...
# 執行特定套件測試go test ./v3/pkg/application
# 執行並包含覆蓋率go test -cover ./...# 更新 maingit checkout maingit pull upstream main
# 建立功能分支git checkout -b feature/my-feature# 良好的提交訊息git commit -m "fix: resolve window focus issue on macOS"git commit -m "feat: add support for custom window chrome"git commit -m "docs: improve bindings documentation"
# 使用慣用提交格式 (conventional commits):# - feat: 新功能# - fix: 錯誤修復# - docs: 文件# - test: 測試# - refactor: 程式碼重構# - chore: 維護# 推送到您的 forkgit push origin feature/my-feature
# 在 GitHub 上開啟 pull request# 提供清晰的描述# 關聯相關的 issues## 描述簡短描述所做的變更
## 變更內容- 新增了功能 X- 修復了錯誤 Y- 更新了文件
## 測試- 在 macOS 14 上測試- 在 Windows 11 上測試- 所有測試通過
## 相關 IssuesFixes #123// ✅ 良好:清晰、有文件說明、有測試// ProcessData 處理輸入資料並回傳結果。// 如果資料無效,則回傳錯誤。func ProcessData(data string) (string, error) { if data == "" { return "", errors.New("data cannot be empty") }
result := process(data) return result, nil}
// ❌ 不佳:無文件說明、無錯誤處理func ProcessData(data string) string { return process(data)}func TestProcessData(t *testing.T) { tests := []struct { name string input string want string wantErr bool }{ {"valid input", "test", "processed", false}, {"empty input", "", "", true}, }
for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := ProcessData(tt.input) if (err != nil) != tt.wantErr { t.Errorf("ProcessData() error = %v, wantErr %v", err, tt.wantErr) return } if got != tt.want { t.Errorf("ProcessData() = %v, want %v", got, tt.want) } }) }}文件使用 Starlight (Astro) 撰寫:
cd docsnpm installnpm run dev請保持尊重、包容且專業。我們都在這裡共同建構優秀的軟體。
貢獻者將被認可於:
感謝您為 Wails 做出的貢獻!🎉