SourceInsight 4.0 之四 項目配置(庫文件引入、配置宏添加、快捷鍵修改等)

問題

  在創建完成 Source Insight 工程後,我們就可以使用絕大部分功能。但是如果用的多了就會發現,其與我們真正的 IDE(通常我們僅用 Source Insight 編輯代碼,實際的編譯、調試還得上 IDE ) 總有些不適應的地方!具體有如下問題:

  1. Source Insight 無法處理編譯器使用的庫文件。例如,Source Insight 將找不到一些庫函數的定義,例如:memcpy 函數
  2. Source Insight 無法處理自己代碼中使用的各種宏值。在實際開發中,我們經常有一些全局的宏,如下圖:
    在這裏插入圖片描述
    或者說有一些編譯器自己定義的宏值,如下是一個處理多編譯器的文件:
/* define compiler specific symbols */
#if defined (__ICCARM__)
    #define PACK_STRUCT_BEGIN
    #define PACK_STRUCT_STRUCT 
    #define PACK_STRUCT_END
    #define PACK_STRUCT_FIELD(x) x
    #define PACK_STRUCT_USE_INCLUDES

    #define __ASM __asm /*!< asm keyword for iarcc */
    #define __INLINE inline /*!< inline keyword for iarcc. Only avaiable in High optimization mode! */
    #define __nop __no_operation /*!< no operation intrinsic in iarcc */

#elif defined (__CC_ARM)
    #define PACK_STRUCT_BEGIN __packed
    #define PACK_STRUCT_STRUCT 
    #define PACK_STRUCT_END
    #define PACK_STRUCT_FIELD(x) x

    #define __ASM __asm                        /*!< asm keyword for armcc */
    #define __INLINE __inline                /*!< inline keyword for armcc */

    #ifndef __ARMCC_VERSION
        #error Unsupport ARM toolchain
    #elif __ARMCC_VERSION > 400000            /* ADS中,此值爲1;RVCT(armcc 4.x) 格式:PVbbbb,且P=4;armcc5.x 格式:PVVbbbb,且P=5 */
        #pragma anon_unions                    /* armcc 默認沒有開啓對 匿名結構體等的支持 */
    #else                                    /* armcc 4.x 以下 不支持 變長數組等C99特性*/
        #define NO_FLEXIBLE_ARRAY
    #endif

#elif defined (__GNUC__)
    #define PACK_STRUCT_BEGIN
    #define PACK_STRUCT_STRUCT __attribute__ ((__packed__))
    #define PACK_STRUCT_END
    #define PACK_STRUCT_FIELD(x) x

    #define __ASM asm                 /*!< asm keyword for gcc */
    #define __INLINE inline         /*!< inline keyword for gcc*/

#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
    #define PACK_STRUCT_BEGIN
    #define PACK_STRUCT_STRUCT
    #define PACK_STRUCT_END
    #define PACK_STRUCT_FIELD(x) x
    #define PACK_STRUCT_USE_INCLUDES
#else
    #error Unknown compiler
#endif
  1. Source Insight 默認的快捷鍵與很多 IDE 默認的快捷鍵不一致。例如:代碼註釋 CTRL + /、代碼導航 ALT + Left
  2. Source Insight 沒有代碼格式化工具
  3. 根據需要自己修改菜單項

Source Insight 僅僅是個代碼查看、編輯器,但是我們可以配置其支持更多功能!

添加庫文件

  正確引入編譯器使用的庫文件,可以使 Source Insight 更好的實現對源碼的支持!要使 Source Insight 可以支持編譯器(IDE)中使用的庫文件,我們可以通過如下步驟來實現:

  1. Source Insight 本身支持導入外部符號。可以選擇僅爲當前項目添加外部符號,否則默認對全部 Source Insight 項目起作用!
    在這裏插入圖片描述
  2. 如下圖所示,根據需要添加即可
    在這裏插入圖片描述

添加宏

  對於我們自己在項目中添加的宏,通常是限制了某些功能。編譯器預定義的宏值則決定了編譯條件過程。要使 Source Insight 正確識別由宏值控制的內容,則可以通過以下步驟添加:

  1. 從項目配置中打開
    在這裏插入圖片描述
  2. 根據自己的定義,添加各宏值即可!
    在這裏插入圖片描述

快捷鍵

  這個的修改就是看自己需要了。如果經常使用其他 IDE 或者編輯環境,對於一些快捷鍵可能有自己的執著。例如,在目前很多現代化的編輯環境中,代碼的註釋常用快捷鍵 Ctrl + /。Source Insight 本身支持修改其默認的快捷鍵。修改方式如下:

  1. 在如下圖所示的菜單下,有快捷鍵配置這一項
    在這裏插入圖片描述
  2. 根據需要修改即可。
    在這裏插入圖片描述
    注意:
    1. 有些快捷鍵是被系統等佔用的,不能修改!
    2. 在修改快捷鍵時,會提示快捷鍵衝突,這是因爲要修改的快捷鍵已經被用在了 Source Insight 的其他功能上。需要用戶自己確認是否更改,更改後原來功能的快捷鍵將被置爲空。

菜單編輯

  菜單編輯主要是修改 Source Insight 默認的菜單!如果你覺得 Source Insight 默認菜單不符合你的使用習慣,則可以進行更改,Source Insight 本身持續修改默認的菜單。一般採用默認菜單項目即可!修改方式如下:

  1. 從如下圖所示的菜單中,打開菜單編輯界面
    在這裏插入圖片描述
  2. 在如下圖所示的菜單編輯頁面中,我們可以選擇要編輯的菜單。不過僅支持刪除、增加、排序 Source Insight 默認菜單中的菜單項。 不能刪除整個菜單(如直接刪除 Tools 菜單是不允許的)。
    在這裏插入圖片描述
    其中,需要特殊注意的就是,Source Insight 可以在菜單欄手動填一個名爲 Work 的菜單。這個菜單下通常存放一些我們自定義的菜單項。關於這一個菜單的使用,可以參見博文SourceInsight 4.0 之 常用宏使用、編輯、修改詳解(附最新完善版本的宏)

配置外部工具

  對於 Source Insight 不具備的功能,我們可以通過引入外部工具來實現,以增強 Source Insight 的功能。在 Source Insight 中,這些外部工具所實現的功能被稱爲 自定義命令。通過這個配置,我們可以配置一些常用的命令行工具,直接在 Source Insight 中使用!例如,配置 AStyle 代碼格式化工具。修改方式如下:

  1. 通過如下圖所示的菜單,打開修改界面
    在這裏插入圖片描述
  2. 在如下圖所示的自定義命令編輯界面,來添加我們需要的外部工具的支持
    在這裏插入圖片描述
    上圖界面的左側是 Source Insight 配置的命令的列表,上圖所示這些是 Source Insight 的默認的一些命令工具項。只是其對應的右側詳細配置中沒有實際工具路徑,需要用戶自己來配置。
      每個自定義命令的右側的配置詳情格式都是由 Source Insight 預定義好的,且所有外部自定義命令都是如上圖所示的這個樣子,用戶不能改變!我們只能在上面填寫內容,及選擇 Source Insight 提供的功能選項!
      對於上圖的默認自定義命令項,有些是可以刪除的,有些則不可以刪除!此外,我們可以通過左上角的 Add... 按鈕來增加自己的外部工具,以實現自己需要的命令。

Source Insight 宏

  Source Insight 除了可以通過上面的自定義外部工具來擴展其功能外,其還定義了一套自己的宏語言(類似於 C 語言),用戶可以通過自己編程來改變 Source Insight 的一些默認的行爲!
  關於Source Insight 宏的編寫及使用問題,可以參見博文SourceInsight 4.0 之 常用宏使用、編輯、修改詳解(附最新完善版本的宏)。其中,介紹的很詳細!

注意事項

  1. 添加了自己的宏後,高亮顏色顯示時不對的,如下:
    在這裏插入圖片描述
    但是,Source Insight 是認爲該宏已經被定義的!沒有定義的宏值,代碼被高亮爲 灰色!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章