AI SVN Commit
使用人工智慧自動生成 SVN 提交訊息的 Visual Studio Code 擴充功能。
功能特色
- 智慧型提交訊息生成:透過 Google Gemini API 分析 SVN 變更,自動產生結構化的提交訊息
- 多語言支援:支援台灣正體中文(zh-TW)與英文(en-US)
- 客製化提示詞:可自訂 AI 提示詞格式,滿足不同團隊的命名規範
- 自動模式:啟用後自動選取所有變更檔案並直接提交,無需手動確認
- 靈活的檔案篩選:自動過濾副檔名為 .exe、.dll、.so、.dylib 等的二進位檔案
- 工作日誌生成:可從 SVN 提交歷史產生結構化的工作日誌
環境需求
- SVN 命令列工具(需已安裝並加入系統 PATH)
- Google Gemini API 金鑰(免費方案即可使用)
- Visual Studio Code 1.85.0 或更新版本
快速開始
- 從 VS Code Marketplace 安裝擴充功能
- 在擴充功能設定中填入 Gemini API 金鑰
- 使用命令面板或快捷鍵啟動功能
安裝 Gemini API 金鑰
- 前往 Google AI Studio 註冊帳戶並取得 API 金鑰
- 在 VS Code 中開啟設定(
Ctrl+, 或 Cmd+,)
- 搜尋「AI SVN Commit」
- 在
aiSvnCommit.geminiApiKey 欄位貼上您的 API 金鑰
使用方式
命令面板
- 開啟命令面板(
Ctrl+Shift+P 或 Cmd+Shift+P)
- 搜尋「AI SVN Commit」並執行
- 選擇要提交的檔案(若未啟用自動模式)
- 檢視並編輯產生的提交訊息
- 按下 Enter 確認提交
快捷鍵
- Windows/Linux:
Ctrl+Shift+Q
- macOS:
Cmd+Shift+Q
設定選項
基本設定
| 設定項目 |
說明 |
預設值 |
aiSvnCommit.geminiApiKey |
您的 Google Gemini API 金鑰 |
(空) |
aiSvnCommit.commitMessageLanguage |
提交訊息語言 |
zh-TW |
aiSvnCommit.autoMode |
啟用全自動提交模式 |
false |
aiSvnCommit.skipParseOnCustomPrompt |
啟用自訂提示時略過訊息解析 |
false |
客製化提示詞
可為不同語言設定自訂 AI 提示詞:
"aiSvnCommit.customPrompt.zh-TW": "你是一位專業的軟體工程師...",
"aiSvnCommit.customPrompt.en-US": "You are a professional software engineer..."
當使用自訂提示詞時,可透過 skipParseOnCustomPrompt 設定控制是否要對 AI 輸出進行額外格式解析。
語言選項
zh-TW:台灣正體中文
en-US:English
提交訊息格式
預設的提交訊息格式如下:
type: subject
- 條列式詳細內容
Type 類型說明
| Type |
說明 |
feat |
新增功能 |
fix |
修正錯誤 |
docs |
文件更新 |
style |
格式調整 |
refactor |
重構程式碼 |
test |
測試相關 |
chore |
建構工具或輔助工具 |
remove |
移除檔案或功能 |
rename |
檔案重新命名 |
專案架構
src/
├── constants.ts # 常數定義與提示範本
├── extension.ts # 擴充功能主入口
├── llm.ts # Gemini API 整合
├── svn.ts # SVN 命令工具函式
├── types.ts # 類型定義
└── utils.ts # 工具函式
技術實現
- SVN 整合:使用
svn status --xml 取得檔案狀態,確保狀態判斷的一致性
- AI 生成:整合 Google Gemini Pro 模型生成提交訊息
- 錯誤處理:完善的命令超時與重試機制
- 二進位檔案過濾:自動略過編譯產出的二進位檔案
支援的 SVN 狀態
modified:已修改
added:新增
deleted:刪除
missing:遺失
conflicted:衝突
unversioned:未版本控制
external:外部參照
incomplete:不完整
問題排查
若遇到問題,請參閱以下常見解決方案:
- 確認 SVN 已安裝:在終端機執行
svn --version 驗證
- 檢查 API 金鑰:確認 Gemini API 金鑰設定正確
- 查看輸出面板:在「輸出」視窗中選擇「AI SVN Commit」查看詳細日誌
版本資訊
目前版本:1.0.32
授權
MIT
貢獻指南
歡迎提交問題與 Pull Request。請確保程式碼遵循專案的程式碼品質規範。
| |