日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SourceInsight 4.0 之三 常用宏使用、编辑、修改详解(附最新完善版本的宏)

發布時間:2024/10/14 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 宏可用,但是或多或少都存在一定的缺陷。例如注釋與反注釋、頭文件與源文件的切換等等。如果有使用比較現代化的編輯器(比如:VSCode、Atom、Sublime Text等)就會發現,SourceInsight 有些功能確實強大,但是顏值是相當落后了!在此基礎上,參照網上現有的一些宏,我進行了一下完善,具體效果如下:

??這里吐槽一下,有些人喜歡添加一堆無用的宏。例如:插入for循環、if語句等的宏,這完全就是畫蛇添足的做法。 有經驗的程序員都應該知道,目前,絕大多數代碼編輯器(即便是級別不到 IDE 的)都有代碼 Snippets 功能。 SourceInsight 也不例外!

對于和語言相關的內容,直接添加 Snippets才是解決方法! 當我們編輯打出關鍵字后,將自動顯示Snippets供選擇!而目前,網上現有的 SourceInsight 宏中,很多都會添加一堆無用的宏!

宏編輯

??正常安裝完 SourceInsight,會在系統盤符(C):/用戶/你的用戶名/Documents目錄下生產一個名為Source Insight 4.0的文件夾,這個文件夾就是 Source Insight 4.0 的各種配置文件所在目錄,其中的宏實現就在其中的.\Projects\Base目錄下。

??安裝后會在安裝目錄下生成幫助文檔,其中有非常詳細的宏編寫章節進行介紹。通常可以有兩種方式使用自己添加的宏:

  • 建立獨立的xxxx.em文件,放在上面說的.\Projects\Base目錄下。這樣使用比較麻煩,需要將自己的文件添加到 base 項目。否則,不會加載自己的文件!
  • 直接雙擊打開默認的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 = Lnfirstwhile(Ln <= Lnlast) {buf = GetBufLine(hbuf, Ln) //取Ln對應的行if(buf ==""){ //跳過空行Ln = Ln + 1continue}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 便會自動加載我們編制的宏。使用非常簡單,如下圖:

    從中選擇自己的宏值即可!還可以直接指定快捷鍵!

    附件

    完善版宏源文件

    總結

    以上是生活随笔為你收集整理的SourceInsight 4.0 之三 常用宏使用、编辑、修改详解(附最新完善版本的宏)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。