相信阅读过大型源代码的,都知道Source Insight。
今天花了点时间,整理了两个宏,使用快捷键生成代码注释。很方便。
废话少说,进入主题!
①打开Source Insight > Project > Open Project > Base > OK
②打开Utils.em 宏文件
③添加以下宏(跟C语言的函数差不多)
添加函数注释:
macro MyInsertHeader() { // Get the owner's name from the environment variable: MYNAME. // If the variable doesn't exist, then the owner field is skipped. szMyName = getenv(MYNAME) // Get a handle to the current file buffer and the name // and location of the current symbol where the cursor is. hbuf = GetCurrentBuf() szFunc = GetCurSymbol() ln = GetSymbolLine(szFunc) InsBufLine(hbuf, ln, "/************************************************************"); ln = ln +1 // begin assembling the title string sz = "** 函数名称: " /* convert symbol name to T E X T L I K E T H I S */ cch = strlen(szFunc) ich = 0 while (ich < cch) { ch = szFunc[ich] if (ich > 0) if (isupper(ch)) sz = cat(sz, " ") else sz = cat(sz, " ") sz = Cat(sz, toupper(ch)) ich = ich + 1 } InsBufLine(hbuf, ln, sz) ln = ln + 1 InsBufLine(hbuf, ln, "** 功能描述: ") ln = ln + 1 InsBufLine(hbuf, ln, "** 输入参数:") ln = ln + 1 InsBufLine(hbuf, ln, "** 输出参数: ") ln = ln + 1 InsBufLine(hbuf, ln, "** 返 回 值 :") ln = ln + 1 /* if owner variable exists, insert Owner: name */ if (strlen(szMyName) > 0) { InsBufLine(hbuf, ln, "** 作 者 : @szMyName@") } else { InsBufLine(hbuf, ln, "** 作 者 : ") } ln = ln + 1 // Get current time szTime = GetSysTime(1) Day = szTime.Day Month = szTime.Month Year = szTime.Year if (Day < 10) szDay = "0@Day@" else szDay = Day InsBufLine(hbuf, ln, "** 日 期 : @Year@年@Month@月@szDay@日") ln = ln + 1 InsBufLine(hbuf, ln, "** 版 本 : 1.0") ln = ln + 1 InsBufLine(hbuf, ln, "** 修改日期 版本号 修改人 修改内容") ln = ln + 1 InsBufLine(hbuf, ln, "**************************************************************/") }
添加头文件注释宏:
macro MyInsertFileHeader() { szMyName = getenv(MYNAME) hbuf = GetCurrentBuf() InsBufLine(hbuf, 0, "/***************************************************************************") InsBufLine(hbuf, 1, "** 版权所有: Desay Copyright (c) 2016-2026 ******************** ") filename = GetBufName(hbuf) InsBufLine(hbuf, 2, "** 文件名称: @filename@") InsBufLine(hbuf, 3, "** 文件标识: ") InsBufLine(hbuf, 4, "** 内容摘要: ") InsBufLine(hbuf, 5, "** 当前版本: v1.0") /* if owner variable exists, insert Owner: name */ if (strlen(szMyName) > 0) { sz = "** 作 者 : @szMyName@" } else { sz = "** 作 者 :" } InsBufLine(hbuf, 6, sz) // Get current time szTime = GetSysTime(1) Day = szTime.Day Month = szTime.Month Year = szTime.Year if (Day < 10) szDay = "0@Day@" else szDay = Day InsBufLine(hbuf, 7, "** 完成日期: @Year@年@Month@月@szDay@日") InsBufLine(hbuf, 8, "** 修改记录: ") InsBufLine(hbuf, 9, "** 修改记录: ") InsBufLine(hbuf, 10, "** 修改日期: ") InsBufLine(hbuf, 11, "** 版本号 : ") InsBufLine(hbuf, 12, "** 修改人 : ") InsBufLine(hbuf, 13, "** 修改内容: ") InsBu
④添加完后 > Ctrl + s 保存
⑤打开自己的工程 > Option > Key Assignments 可以找到:
Macro : MultiLineComment
Macro : SingleLineComment
⑥点击Assign New Key ...,设置完成以后,重启即可
好了,设置自己习惯的快捷键吧!^^
可以是Alt Ctrl 等等组合。