讓Visual Studio產生符合Conventional Commits的Git提交訊息

讓Visual Studio產生符合Conventional Commits的Git提交訊息

自從 Visual Studio 可以透過 Github Copilot 來產生 Git 提交訊息,我就覺得這功能有點半殘,雖然我知道能在去修改「自訂指令」(custom instructions),但不論自己怎麼改,還是覺得產生的提交訊息還是少了點什麼味。現在終於找到一個好的解決方案 Conventional Commits。Conventional Commits 本身是提示工程(Prompt)的應用,它專注在如何撰寫 Git 提交訊息。

Visual Studio 設定 Conventional Commits

Visual Studio 要設定 Conventional Commits 有兩種方法。

透過 copilot-instructions.md

.github
    - copilot-instructions.md

先在你專案根目錄下,參考上面的結構產生 .github 目錄與 copilot-instructions.md 檔,再到 Conventional Commits v1.0.0 Repos 裡找到你想放的語言,複製內容到 copilot-instructions.md,那麼當我們透過 Github Copilot 來產生 Git 提交訊息時,Github Copilot 就會依照 Conventional Commits 的規範來產生提交訊息。

這樣等於是專案層級的控制,也就是說,當你無法控制或規範大家的 Visual Studio IDE 開發工具時,也能透過這種方法來讓此專案的提交訊息(透過 Github Copilot 產生)受到一定的規範。

透過 Visual Studio - Github Copilot 組態

VisualStudio GitHub Copilot Setup

如果你嘗試貼上 Conventional Commits 的內容到 Github Copilot 組態,你會發現無法貼上全部內容,目前測試最多只能貼上 1000 字元。

疑,又半殘了嗎?No、No、No。

Visual Studio 17.2 開始,Visual Studio 就已經整合 Conventional Commits 的內容,只不過我們需要再下一些些提示詞來讓它生效:

Use all lowercase
Limit subject to 50 characters
Limit body to 2 sentences
Add a footer with three hash marks
Follow Conventional Commits standard
Use gitmoji

如果你習慣用英文版,可以在 Github Copilot 組態加上以上提示詞試試。

Limit subject to 100 characters
Limit body to 2 sentences
Follow the Conventional Commits standard
Please use Traditional Chinese to write commit messages

我習慣產生中文提交訊息,因此我做了一些調整。中文是雙位元,因此我把字數加到 100 字元。

在測試過程中發現,如果 subject 長度改為 150 字元,那麼 subject 的輸出會時而中文時而英文的不穩定情況。

Visual Studio 17.2 由於整合了 Conventional Commits,它能知道 subjectbodyfooter 幾個關鍵字的意思,而且我們也明確提示了叫它採用 Follow the Conventional Commits standard 來撰寫提交訊息。因此,不必再貼上那長長的全文 Conventional Commits 內容。

透過 Visual Studio IDE 設定的好處是,此開發者寫出去的提交訊息,不論那個專案都有一定的標準格式與規則。

Visual Studio Code 設定 Conventional Commits

我知道你會說,那 Visual Studo Code 呢?

Will 已經有寫一篇完整的介紹。我就不再佔版面了,請自行參考。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。