在許多現代整合開發環境(IDE)如 Eclipse 或 Qt Creator 中,開發者可以透過快捷鍵 Ctrl+Shift+/
快速為選取的程式碼區域加上 /* */
註釋,提升工作效率。Source Insight 4 雖然是一款強大的程式碼編輯與分析工具,但預設並未提供此快捷鍵功能。不過,透過巨集設定,我們可以輕鬆實現這項功能。以下是具體步驟與說明。
步驟 1:修改 utils.em 文件以新增巨集功能
- 打開 utils.em 文件:
在 Source Insight 4 中,找到您的「Base」工程,然後在檔案列表中找到
utils.em
文件並開啟。此文件是用於存放自訂巨集的預設位置。 - 加入區域註釋巨集代碼:
在
utils.em
文件的最前面,加入以下巨集代碼並儲存:
//註解選取行/* */
macro CommentSelStr()
{
hwnd=GetCurrentWnd()
lnFirst=GetWndSelLnFirst(hwnd)
lnLast=GetWndSelLnLast(hwnd)
hbuf=GetCurrentBuf()
Ln = Lnfirst
buf = GetBufLine(hbuf, Ln)
if(buff==""||Strlen(buf)==0)
{
}
else
{
if(StrMid(buf, 0, 1) == "/")
{ //需要取消註解,防止只有單字元的行
if(StrMid(buf, 1, 2) == "*")
{
PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
}
else
{
str=cat("/*",buf)
PutBufLine (hbuf, ln, str)
}
}
else
{
str=cat("/*",buf)
PutBufLine (hbuf, ln, str)
}
ln=lnLast
buf=GetBufLine(hbuf, Ln)
len_s=strlen(buf)
if(StrMid(buf, strlen(buf)-1, strlen(buf)) == "/")
{
if(StrMid(buf, strlen(buf)-2, strlen(buf)-1) == "*")
{
PutBufLine(hbuf, Ln, StrMid(buf, 0, Strlen(buf)-2))
}
else
{
str=cat(buf,"*/")
PutBufLine (hbuf, ln, str)
}
}
else
{
str=cat(buf,"*/")
PutBufLine (hbuf, ln, str)
}
}
}
這段巨集代碼會檢查是否有選取程式碼區域,若有,則在選取範圍的起始行前加入 /*
,並在結束行後加入 */
,完成區域註釋。
步驟 2:設定快捷鍵以啟用巨集
- 進入快捷鍵設定選單: 在 Source Insight 4 的功能表欄中,選擇 Options -> Key Assignments。
- 搜尋巨集功能:
在「Key Assignments」視窗中,於搜尋欄輸入
Macro
,然後在列表中找到您剛剛新增的CommentSelStr
函數。 - 指派快捷鍵:
選中
CommentSelStr
後,點擊 Assign New Key… 按鈕,設定快捷鍵為Ctrl+Shift+/
,最後點擊 OK 確認設定。
步驟 3:測試巨集功能
設定完成後,您可以在 Source Insight 4 中選取一段程式碼,然後按下 Ctrl+Shift+/
,檢查是否成功為選取區域加上 /* */
註釋。若一切設定正確,選取的程式碼將被正確標記為註釋區域。
學習心智圖:Source Insight 4 巨集設定技巧
為了幫助您更系統化地學習 Source Insight 4 的巨集設定,以下是以學習為主題的心智圖,方便您快速掌握相關技巧:
- Source Insight 4 巨集設定
- 基礎概念
- 巨集的作用:自訂功能與自動化操作
- 巨集檔案:
utils.em
的用途與位置
- 實作步驟
- 修改
utils.em
:新增自訂巨集代碼 - 快捷鍵設定:Options -> Key Assignments
- 測試與除錯:確保巨集正常運作
- 修改
- 進階應用
- 區域註釋:快速標記程式碼
- 其他巨集:自動格式化、程式碼折疊等
- 學習資源
- 官方文件:Source Insight 支援頁面
- 社群分享:開發者論壇與部落格
- 基礎概念
希望這份心智圖能幫助您更有條理地學習與應用 Source Insight 4 的巨集功能,並提升程式碼編輯效率。
總結
透過以上步驟,您可以在 Source Insight 4 中成功實現類似其他 IDE 的區域註釋功能,讓程式碼管理更加便利。這不僅節省時間,也讓您的開發流程更加流暢。如果您有其他巨集設定的需求或問題,歡迎隨時與我討論,我很樂意提供協助!