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 是认为该宏已经被定义的!没有定义的宏值,代码被高亮为 灰色!
发布了101 篇原创文章 · 获赞 370 · 访问量 53万+

猜你喜欢

转载自blog.csdn.net/ZCShouCSDN/article/details/93992701