1. 程式人生 > >source insight 的base工程配置檔案utils.em的修改

source insight 的base工程配置檔案utils.em的修改

<pre name="code" class="cpp"><span style="font-size:18px;">/*
 * utils.em
 *
 *  Created on: March 13, 2015
 *      Author: [email protected]
 */

//szMyName = getenv(MYNAME)

/*
 * 1. GetCurrentBuf(): 獲取當前輸入的控制代碼
 * 2. GetCurSymbol(): 獲取當前游標後的符號
 * 3. GetBufLnCur(): 獲取當前游標所在的行號
 * 4. hwnd=GetCurrentWnd(), sel=GetWndSel(hwnd), col=sel.ichFirst+1 : 獲取列號
 * 5. InsBufLine(hbuf, ln, sz): 在ln行插入sz的字元內容
 * 6. SetBufIns(hbuf, ln, n): 將游標轉移到第ln行的第n在字元
 * 7. sz = cat(sz, "abc"): 將abc新增到sz後面
 */

/******************************************************************************/
macro InsertHeader()
{
	hbuf = GetCurrentBuf()
	ln = GetBufLnCur(hbuf)
	if (ln < 0)
	{
		ln = 0
	}

	sz = "/******************************************************************************/"
	InsBufLine(hbuf, ln, sz)
	SetBufIns(hbuf, ln+1, 0)
}

/******************************************************************************/
macro GetCurrentFileName(pathName)
{
	name = ""
	nlength = strlen(pathName)
	i = nlength - 1

	while (i + 1)
	{
    	ch = pathName[i]
   		if ("\\" == "@
[email protected]
") break i = i - 1 } i = i + 1 while (i < nlength) { name = cat(name, pathName[i]) i = i + 1 } return name } macro MonthNumToName(Month) { if (Month == 1) return "January" if (Month == 2) return "February" if (Month == 3) return "March" if (Month == 4) return "April" if (Month == 5) return "May" if (Month == 6) return "June" if (Month == 7) return "July" if (Month == 8) return "August" if (Month == 9) return "September" if (Month == 10) return "October" if (Month == 11) return "November" if (Month == 12) return "December" } macro GetCurrentTimeAndDate() { szTimeDate = "" szTime = GetSysTime(1) Hour = szTime.Hour if (Hour < 10) Hour = "
[email protected]
@" Minute = szTime.Minute if (Minute < 10) Minute = "[email protected]@" Second = szTime.Second if (Second < 10) Second = "[email protected]@" Year = szTime.Year Month = szTime.Month Day = szTime.Day if (Day < 10) szDay = "[email protected]@" else szDay = Day szMonth = MonthNumToName(Month) /* if (Month < 10) szMonth = "
[email protected]
@" else szMonth = Month */ szTimeDate = "@[email protected] @[email protected], @[email protected] @[email protected]:@[email protected]:@[email protected]" return szTimeDate } macro GetMyEmailAddress() { szMyEmail = "xtank.nie\@gmail.com" return szMyEmail } /******************************************************************************/ macro InsertFileHeader() { ln = 0; hbuf = GetCurrentBuf() InsBufLine(hbuf, ln, "/*") szPathName = GetBufName(hBuf) szCurrentFileName = GetCurrentFileName(szPathName) sz = " * @[email protected]" ln = ln + 1 InsBufLine(hbuf, ln, sz) ln = ln + 1 InsBufLine(hbuf, ln, " *") szTimeDate = GetCurrentTimeAndDate() sz = " * Created on: @[email protected]" ln = ln + 1 InsBufLine(hbuf, ln, sz) szEmail = GetMyEmailAddress() sz = " * Author: @[email protected]" ln = ln + 1 InsBufLine(hbuf, ln, sz) ln = ln + 1 InsBufLine(hbuf, ln, " */") InsBufLine(hbuf, ln + 1, "") SetBufIns(hbuf, ln+2, 0) } macro IfdefSz(sz) { hwnd = GetCurrentWnd() lnFirst = GetWndSelLnFirst(hwnd) lnLast = GetWndSelLnLast(hwnd) hbuf = GetCurrentBuf() InsBufLine(hbuf, lnFirst, "#ifdef @[email protected]") InsBufLine(hbuf, lnLast+2, "#endif /* @[email protected] */") } macro InsertCPlusPlus() { //IfdefSz("__cplusplus"); hbuf = GetCurrentBuf() ln = GetBufLnCur(hbuf) ln_bak = ln InsBufLine(hbuf, ln, "#ifdef __cplusplus") ln = ln + 1 InsBufLine(hbuf, ln, "extern \"C\" {") ln = ln + 1 InsBufLine(hbuf, ln, "#endif /* __cplusplus */") ln = ln + 1 InsBufLine(hbuf, ln, "") ln = ln + 1 InsBufLine(hbuf, ln, "#ifdef __cplusplus") ln = ln + 1 InsBufLine(hbuf, ln, "}") ln = ln + 1 InsBufLine(hbuf, ln, "#endif /* __cplusplus */") SetBufIns(hbuf, ln_bak+3, 0) } macro isUpperLetter(letter) { if (letter == "A" || letter == "B" || letter == "C" || letter == "D" || letter == "E" || letter == "F" || letter == "G" || letter == "H" || letter == "I" || letter == "J" || letter == "K" || letter == "L" || letter == "M" || letter == "N" || letter == "O" || letter == "P" || letter == "Q" || letter == "R" || letter == "S" || letter == "T" || letter == "U" || letter == "V" || letter == "W" || letter == "X" || letter == "Y" || letter == "Z") return 1 else return 0 } macro GetHeadFileDefine() { szHeadFileNameDefine = "" hbuf = GetCurrentBuf() szPathName = GetBufName(hBuf) szCurrentFileName = GetCurrentFileName(szPathName) szCurrentFileName = toupper(szCurrentFileName) nlength = strlen(szCurrentFileName) szHeadFileNameDefine = cat(szHeadFileNameDefine, "__") i = 0 while (i < nlength) { ch = szCurrentFileName[i] if (isUpperLetter("@[email protected]") == 1) szHeadFileNameDefine = cat(szHeadFileNameDefine, "@[email protected]") else szHeadFileNameDefine = cat(szHeadFileNameDefine, "_") i = i + 1 } szHeadFileNameDefine = cat(szHeadFileNameDefine, "__") return szHeadFileNameDefine } macro InsertDefineHeadName() { //IfdefSz("__cplusplus"); hbuf = GetCurrentBuf() ln = GetBufLnCur(hbuf) ln_bak = ln szHeadFileDefineName = GetHeadFileDefine() InsBufLine(hbuf, ln, "#ifndef @[email protected]") ln = ln + 1 InsBufLine(hbuf, ln, "#define @[email protected]") ln = ln + 1 InsBufLine(hbuf, ln, "") ln = ln + 1 InsBufLine(hbuf, ln, "#endif /* @[email protected] */") SetBufIns(hbuf, ln_bak+2, 0) } /******************************************************************************/ /******************************************************************************/ // Inserts "Returns True .. or False..." at the current line macro ReturnTrueOrFalse() { hbuf = GetCurrentBuf() ln = GetBufLineCur(hbuf) InsBufLine(hbuf, ln, " Returns True if successful or False if errors.") } /* Inserts ifdef REVIEW around the selection */ macro IfdefReview() { IfdefSz("REVIEW"); } /* Inserts ifdef BOGUS around the selection */ macro IfdefBogus() { IfdefSz("BOGUS"); } /* Inserts ifdef NEVER around the selection */ macro IfdefNever() { IfdefSz("NEVER"); } // Ask user for ifdef condition and wrap it around current // selection. macro InsertIfdef() { sz = Ask("Enter ifdef condition:") if (sz != "") IfdefSz(sz); } // Delete the current line and appends it to the clipboard buffer macro KillLine() { hbufCur = GetCurrentBuf(); lnCur = GetBufLnCur(hbufCur) hbufClip = GetBufHandle("Clipboard") AppendBufLine(hbufClip, GetBufLine(hbufCur, lnCur)) DelBufLine(hbufCur, lnCur) } // Paste lines killed with KillLine (clipboard is emptied) macro PasteKillLine() { Paste EmptyBuf(GetBufHandle("Clipboard")) } // delete all lines in the buffer macro EmptyBuf(hbuf) { lnMax = GetBufLineCount(hbuf) while (lnMax > 0) { DelBufLine(hbuf, 0) lnMax = lnMax - 1 } } // Ask the user for a symbol name, then jump to its declaration macro JumpAnywhere() { symbol = Ask("What declaration would you like to see?") JumpToSymbolDef(symbol) } // list all siblings of a user specified symbol // A sibling is any other symbol declared in the same file. macro OutputSiblingSymbols() { symbol = Ask("What symbol would you like to list siblings for?") hbuf = ListAllSiblings(symbol) SetCurrentBuf(hbuf) } // Given a symbol name, open the file its declared in and // create a new output buffer listing all of the symbols declared // in that file. Returns the new buffer handle. macro ListAllSiblings(symbol) { loc = GetSymbolLocation(symbol) if (loc == "") { msg ("@[email protected] not found.") stop } hbufOutput = NewBuf("Results") hbuf = OpenBuf(loc.file) if (hbuf == 0) { msg ("Can't open file.") stop } isymMax = GetBufSymCount(hbuf) isym = 0; while (isym < isymMax) { AppendBufLine(hbufOutput, GetBufSymName(hbuf, isym)) isym = isym + 1 } CloseBuf(hbuf) return hbufOutput } </span>

相關推薦

source insightbase工程配置檔案utils.em修改

<pre name="code" class="cpp"><span style="font-size:18px;">/* * utils.em * * Created on: March 13, 2015 * Author: [

Source Insight 設定工程預設儲存路徑

1、執行(win+R)—regedit回車,找到登錄檔HKEY_CURRENT_USER\Software\Source Dynamics\Source Insight\3.0\Paths 2、右

Gradle的工程配置檔案說明

build.gradle檔案  /** * 執行的環境是java語言 */ plugins { id 'java' } /** * GroupID 是專案組織唯一的識別符號,實際對應JAVA的包的結構,是main目錄裡java的目錄結構。 * ArtifactID

KEIL5與Source Insight同一個工程Source Insight中亂碼的解決方法

    來源不僅僅是一個原始碼檢視的好工具,同時也是程式設計的好工具。    出現註釋亂碼的解決辦法    在SI中“FILE”-->"Reload as Ecording"--->選擇與你

myeclipse2016匯入maven工程配置檔案提示dubbo報錯解決

問題 新機器安裝了開發環境,匯入工程後提示報錯。沒有標準手冊,大家也是各自用各自工具不統一。 環境問題最折騰人了,關鍵是大家都很忙,沒人顧的上你,所以還得自己解決。小小記錄一下。 在匯入maven工程的時候,報出如下錯誤:      cvc-complex-type

Source Insight 4.0 配置中文顯示

單獨檔案配置中文顯示:導航中的File->Reload As Encoding 選擇 Chinese Simplified(GB18030); 全域性檔案配置中文顯示:1.關閉所有檔案                                        

解決Source Insight拷貝工程時出現的“Warning:XXXXXX does not exist and cannot be opened”問題

用Source Insight開啟經常會提示出Warning:XXXXXX does not exist and cannot be opened的問題,後來才發現是工程路徑的問題:開啟工程目錄下的Source Insight,在提示各種錯誤之後按如下操作:1.選單欄Proj

source insight開啟工程掛掉問題和徹底刪除source insigh的解決辦法

一、source insight開啟工程掛掉問題一般是因為工程路徑存在中文,把路徑修改成沒有中文就行了。 二、但是那些以前一開啟就使source insigh掛掉的工程還是存在的, 1、有個比較好的方法是徹底刪除調source insigh重新安裝。 當你重新安裝後會發

Maven父子工程配置檔案詳解

專案骨架搭建成功之後。 因為父工程管理子工程。子工程相當於繼承於子工程,所以子工程可以呼叫父工程裡面的東西。那麼就可以將jar包對應的配置檔案書寫到父工程的pom.xml檔案中,注意:父工程的打包方式為pom。程式碼如下:(如果另有需要可以自己新增所需jar包)。 <

解決maven工程配置檔案不拷貝的問題

maven工程下,對於java檔案包,工程只拷貝編譯.java的檔案,而並不拷貝xml配置檔案,配置檔案只有放在resource包下才會拷貝。而當我們使用mybatis逆向工程生成了mapper檔案和它的配置檔案是放在一起的,所以我們如果不想再把配置檔案單獨放在resourc

記一次大坑:SpringBoot+Mybatis專案中,配置檔案中的修改了SQL語句後不生效

問題:原是SSM框架專案,轉移到SpringBoot+Mybatis,使用的是C3P0連線資料庫。轉移到SpringBoot後的專案,我修改了xml配置檔案中的查詢sql語句,也就是增加了一個查詢欄位,無論是在前端頁面測試,還是使用單元測試時候,我修改後的SQL就是不生效,查

Linux驅動配置檔案選項的修改

在Linux 的目錄 /linux-3.14.38  下,執行 Terminal 然後執行 make menuconfig 即可使用圖形化的 驅動配置工具 進行 配置 選擇需要或不需要的驅動檔案 1.去掉藍芽 將所有的 CONFIG_BT 開頭的配置選項註釋 2.觸控式螢幕

Source Insight工程精準匯入用到的Linux核心檔案

下載指令碼檔案:PF_Prj_Gen.sh /*這個指令碼的作用應該是對原始檔進行篩選,挑出編譯出了對應的.o檔案的檔案,然後把這些檔案生成列表,在source insight中新增進去,這種方法瀏覽程式碼很好,過濾掉了沒有用到的一大堆檔案 習慣在ubuntu上面用命令列搜尋,因為比較快,往

建立source insight (.PR檔案工程

建立一個source insight 工程 啟動source insight之後,預設支援的檔案型別中沒有.S彙編檔案 單擊Options -> Document Options ,在File filter選項中新增*.S檔案型別 Project –> n

source insight 配置檔案(超好)

下載地址:http://www.rayfile.com/zh-cn/files/fc8b2fdc-ce9b-11df-bc91-0015c55db73d/ 0. 此為C/C++的SourceInsight配置檔案,其他語言的為預設。(字型顏色在其他程式語言有效) 1.

Source Insight工程檔案預設目錄設定

1.啟動登錄檔編輯工具regedit,找到HKEY_CURRENT_USER\Software\Source Dynamics\Source Insight\3.0\Paths 2.點選滑鼠右鍵選擇新建一個字串值,變數名為“UserDataDir”。該值所對應的值即為工程檔

source insight 配置檔案(超好) --轉載

http://zhuang0393.blog.163.com/blog/static/9285104201093111912636/ 0. 此為C/C++的SourceInsight配置檔案,其他語言的為預設。(字型顏色在其他程式語言有效) 1. 主要就是給那些習慣於

source Insight 添加python 工程

AR lan master 設置 https 分享圖片 tar nbsp net 1. 下載python的識別文件 Python.CLF 2.設置 source Insight 添加python 工程

Tomcat利用配置檔案複寫web工程目錄

1. 在%tomcat_home%/conf/catalina/localhost/建立web工程xml 如webcontent.xml,內容如下 <content path="webcontent" docBase="D:\\Documents\\javaProject\\w

web工程讀取自定義xml配置檔案的方法

       以前都是在c++中我都是習慣用ini配置檔案,接觸webx框架後,一般都是用得配置好的xml檔案,偷懶結果就是把自己給坑了。在需要自定義配置檔案的之後踩到了坑,特此記錄下。         此處我想讀取