SourceInsight 4.0 之 常用宏使用詳解(附最新完善版本的宏)

簡介

  SourceInsight 作爲一款經典的代碼查看工具,小巧、強大,各種代碼通吃!從2018年開始,更新到了4.x版本。相對於之前死都不更新的3.5版本,4.x的添加了許多更爲好用的功能!以下文章均是以最新版本的 SourceInsight 4 爲例來說明的。

  SourceInsight 3.5也好,還是最新的4.x版本,都支持強大的宏編制。官網給出了不少例子:https://www.sourceinsight.com/download/macro-files/。 目前,網上也有各種各樣的 SourceInsight 宏可用,但是或多或少都存在一定的缺陷。例如註釋與反註釋、頭文件與源文件的切換等等。如果有使用比較現代化的IDE(比如:Visual Studio、eclipse等)就會發現,SourceInsight 有些功能確實有點落後!在此基礎上,參照網上現有的一些宏,我進行了一下完善,具體效果如下:
結果
  這裏吐槽一下,有些人喜歡添加一堆無用的宏。例如:插入for循環、if語句等的宏,這完全就是畫蛇添足的做法。 有經驗的程序員都應該知道,目前,絕大多數代碼編輯器(即便是級別不到IDE的)都有代碼Snippets功能。 SourceInsight 也不例外!
Snippets
對於和語言相關的內容,直接添加 Snippets纔是解決方法! 當我們編輯打出關鍵字後,將自動顯示Snippets供選擇!而目前,網上現有的SourceInsight宏中,很多都會添加一堆無用的宏!

宏編輯

  正常安裝完SourceInsight,會在系統盤符(C):/用戶/你的用戶名/Documents目錄下生產一個名爲Source Insight 4.0的文件夾,這個文件夾就是 Source Insight 4.0 的各種配置文件所在目錄,其中的宏實現就在其中的.\Projects\Base目錄下。
SI
  安裝後會在安裝目錄下生成幫助文檔,其中有非常詳細的宏編寫章節進行介紹。通常可以有兩種方式使用自己添加的宏:

  1. 建立獨立的xxxx.em文件,放在上面說的.\Projects\Base目錄下。這樣使用比較麻煩,需要將自己的文件添加到base項目。否則,不會加載自己的文件!
  2. 直接雙擊打開默認的Base.siproj工程或者啓動SourceInsight,從中打開,在裏面添加自己的宏。這樣更加方便!

我這裏使用的第二種方式,具體步驟如下:
打開
打開後就會出現如下編輯界面:
編輯
從中可以看到,SourceInsight 本身自帶了一部分宏值,我們只需要在後面添加自己的宏即可!
  SourceInsight的宏編寫還是非常簡單的,參考其說明文檔,基本只要有編程經驗或者有爲其他工具編寫插件經驗的人都可以很快編寫出一個簡單的宏!附件我會提供我自己使用的源文件,裏面都有很詳細的註釋!

// 用於添加//註釋多行
macro CommentMultiLine_CPP()
{
	hwnd = GetCurrentWnd()
	if(hwnd == hNil)
	{
		Msg("No file opened! Please open one file.")
	}
	else
	{
		selection = GetWndSel(hwnd)			// 選中的區域信息
		LnFirst = GetWndSelLnFirst(hwnd)	// 取選中的區域首行行號
		LnLast = GetWndSelLnLast(hwnd)		// 取選中的區域末行行號
		hbuf = GetCurrentBuf()
		if(GetBufLine(hbuf, 0) =="//magic-number:tph85666031")
		{
			stop
		}
		Ln = Lnfirst
		while(Ln <= Lnlast) 
		{
			buf = GetBufLine(hbuf, Ln)	//取Ln對應的行
			if(buf =="")
			{					//跳過空行
				Ln = Ln + 1
				continue
			}
			
			if(StrMid(buf, 0, 1) == "/") // 需要取消註釋,防止只有單字符的行
			{	 
				if(StrMid(buf, 1, 2) == "/")
				{
					PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
				}
			}
			
			if(StrMid(buf,0,1) !="/")// 需要添加註釋
			{		 
				PutBufLine(hbuf, Ln, Cat("//", buf))
			}
			Ln = Ln + 1
		}
		SetWndSel(hwnd, selection)
	}
}

宏使用

  當做好了如上步驟後,SourceInsight 便會自動加載我們編制的宏。使用非常簡單,如下圖:
在這裏插入圖片描述
從中選擇自己的宏值即可!還可以直接指定快捷鍵!

附件

完善版宏源文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章