SourceInsight使用技巧

收集了一些SourceInsight在工作中很常用的技巧,记录如下:

1、自动缩进

选择Options/Document Options页面,点击其内的Auto Indent按钮,在弹出的Auto Indenting窗口中,默认配置为 Auto Indent Type 选择Smart,且勾选了Smart Indent Options中的两个可选项,这样得到的默认缩进效果为:

    while (1)
        {
        I
        }

每次都要手工去调整其缩进,其实只要把两个勾选项去掉,就可以得到:

     while (1)
     {
         I
     }

2、显示右边界

显示一条右边界,可以随时提醒我们是否该行代码写得过长了。
操作方法为:选择Options/Document Options页面,勾选其中的Show line numbers。同时勾选其中的Show right margin

3、几个较常用的快捷键

  • F5
    指定行号,实现行跳转
  • Shift+F8
    高亮显示指定标识
  • Ctrl+鼠标点击标识
    直接跳转至标识定义处
  • Ctrl+F
    本文件内查找
  • Shift+Tab
    左移动代码,长度为一个tab字符

4、自定义快捷健

选择Options/Key Assignments,在弹出的Key Assignments窗口中可自由添加自己喜欢的快捷键。比较值得推荐的有如下几个快捷键定义:

  • Edit: Drag Line Down
    光标当前行下移。
  • Edit: Drag Line Up
    光标当前行下移。
  • Edit: Join Lines
    当前行和下一行连接成一行。

5、列选定

先按下Alt键,接着就可用鼠标进行列选择。

6、快速定位文件

在使用Source Insight的时候,我们希望能够快速定位已打开文件的物理位置,可以通过搜索功能来定位文件的物理位置,但这不是最快的。可以通过自定一个快捷键快速定位已打开文件的物理位置。
操作方法:
选择Options/custom command页面,点击Add按钮,填写新命令的名字, 如 see current file,然后点击OK按钮,在Run编辑框里输入命令:explorer /select,%f,然后点击keys按钮,对这个命令新增一个快捷键即可。

7、中文乱码的解决方案

使用记事本将源码文件打开,然后另存为ANSI编码格式的文本。

8、无名技巧

这里介绍一些小技巧,大多数情况下我们可以无视它们的存在。但如果我们知道这些,某些时候,会有效提高工作效率。

Smart Rename
在上下文件菜单中选Smart Rename或按Ctrl+'组合键,即可弹出Smart Rename窗口。它有很强大的功能,但最便捷的使用方式是更改函数内局部变量的名字,操作只作用于函数内部,速度非常快。

Renumber
使用Ctrl+R将弹出Renumber窗口,这个用于处理数字顺序排列的情况相当有效,比如数组下标。例如现有代码

    array[0] = 1;
    array[1] = 2;
    array[2] = 3;

现在要改为

    array[0] = 0;
    array[1] = 1;
    array[2] = 2;
    array[3] = 3;

当然可以一个个修改,但最快的方式是在array[0] = 1;之前添加array[0] = 0;,然后列选数组下标,使用Renumber功能以 0为起始值重填数值。

Edit Condition
很多代码尤其是驱动代码,当中有大量的预编译定义,以实现对不同硬件配置的支持。在阅读这样的代码时最痛苦的是不能简单判断程序实际执行的代码分枝。大量分枝同时存在,常常会混淆我们的视听。比如对于下面的代码:

    #ifdef DEV1
        /* DEV1代码代码 */
    #else
        /* 其它设备执行代码 */
    #endif

如果确定我们当前分析的是DEV1的执行情况 5,那么可以选择上下文件菜单的Edit Condition 选项,在弹出的Conditional Parsing窗口中把DEV1的值设置为True,那么 #ifdef DEV1就等价于#if 1了,相当注释掉了#else分枝的代码。反之,设置为Flase时,则注释掉#ifdef DEV1分枝的代码。

9、宏语言

宏文件实现了一些在编码过程中可能会用到的功能, 如添加文件头、函数说明(使用时能自动添加文件名、函数名和当前日期)和宏定义,代码补全等。
使用说明:
Project/Open Project…
打开Base工程(该工程一般在”我的文档/Source Insight/Projects/Base”中);
Project/Add and Remove Project Files…
加入宏文件(即utils.em);
Options/Menu Assignments
打开Menu Assignments窗口,在Command中输入Macro,选中要使用的宏,添加到合适的菜单中.
推荐使用的宏:InsFileHeader、InsFunHeader、InsHeaderDef、InsIfdef和AutoExpand (为代码自动补全功能,建议建快捷键)。
关于AutoExpand的举例说明, 当你输入了 switch 且光标正处于switch后面,运行该宏则会得到

    switch (###)
    {
    case
        break;
    default:
    }

对于InsFunHeader宏,如果有如下函数体

    int nOpenConfigFile(char *pchMemConfig, char *pchFlashConfig,
        int nSize, int nMode)
    {
        I
    }

光标在函数体内时运行该宏,那么将会在函数体上方得到

/******************************************************************************
 * nOpenConfigFile -
 * DESCRIPTION:-
 *
 * Input:   N/A
 * Output:  N/A
 * Returns: N/A
 *
 * modification history
 * --------------------
 * 1.00, Apr 19, 2007, T357 written.
 * --------------------
 ******************************************************************************/

其中的函数名及编写日期自动按实际情况填充,T357串可通过修改utils.em文件,改成你需要的名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值