首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

SourceInsight 宏增強版:打造自動化文件頭與函數註釋的神器

     編輯:關於C語言

對於 C/C++ 開發者而言,每次新建檔案都得手動敲入文件頭、版權聲明、作者資訊,新增函數更要補上詳細的功能描述與修改歷史,這類重複性工作不僅枯燥,還極易遺漏。近日在網上發現由 lushengwen 開發的 quicker.em 宏腳本,堪稱「懶人神器」,能大幅自動化這些流程。不過原版將版權與公司名稱硬編碼在巨集中,切換專案時須修改原始碼,且函數列表無法自動更新,使用上仍有不便。

痛點催生改良:讓巨集支援可配置變數

秉持「有抱怨就有商機」的精神,筆者對原始碼動刀,引入註冊表儲存機制,讓使用者首次執行時透過互動式對話框輸入語言、姓名、公司、版權年份等資訊,後續自動帶入。核心改動在於新增 ConfigureSystem 巨集,利用 ASK 詢問使用者,並以 SetReg/GetReg 讀寫註冊表:

macro ConfigureSystem() {
  szLanguage = ASK("Please select language: 0 Chinese ,1 English");
  if(szLanguage == "#") SetReg("LANGUAGE", "0") else SetReg("LANGUAGE", szLanguage);
  szName = ASK("Please input your name");
  if(szName == "#") SetReg("MYNAME", "TigerXiao") else SetReg("MYNAME", szName);
  szCompany = ASK("Please input your company");
  if(szCompany == "#") SetReg("MYCOMPANY","TigerXiao") else SetReg("MYCOMPANY",szCompany);
  szCopyright = ASK("Please input your Copyright ");
  if(szCopyright == "#") SetReg("MYCOPYRIGHT","2001-2014") else SetReg("MYCOPYRIGHT",szCopyright);
}

文件頭生成邏輯同步改為讀取這些註冊表鍵值:

szCompany = GetReg("MYCOMPANY");
szCopyright = GetReg("MYCOPYRIGHT");
InsBufLine(hbuf, ln + 2, " 版權所有 (C), @szCopyright@, @szCompany@")

實測效果:四步完成個性化配置

執行 ConfigureSystem 後,依序彈出視窗:

  • 選擇語言(中/英)
  • 輸入作者姓名
  • 輸入公司名稱
  • 輸入版權年份範圍

設定完成後,新建檔案並執行文件頭巨集,即可自動生成含動態變數的標準文件頭,且後續修改資訊只需重跑設定巨集,無須動原始碼。

後續展望與下載

此改版旨在拋磚引玉,期望社群共同完善:如自動同步函數列表、支援 C/C++ 標準庫自動補全等。加強版宏檔已上傳 CSDN:下載連結。歡迎各位下載試用、回饋建議,一起把 SourceInsight 打造成更順手的利器!

選擇語言對話框 輸入作者對話框 輸入公司對話框 輸入版權對話框 生成文件頭範例1 生成文件頭範例2 宏檔案示意圖
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved