source insight中的快捷键总结

时间:2024-03-12 14:59:54

1.快捷键

1,Shift+F8高亮显示指定字符。

2,Ctrl+F找出来的结果用F4,F3前进后退查找。

3,Alt+,后退alt+.前进查找关键字。

4,Alt+G或者F5跳转到某个固定的行号。

5,Ctrl+M可以自己管理标号,自己可以定义一个编号,可以在一个文件或者多个文件间很容易的切换。

6,Ctrl+H是在一个文件中查找替换,ctrl+shift+h在多个文件中查找替换。

7,在si中可以进行列的选择,方法是按住alt并左键选择。

8,Ctrl+/是在打开的所有文件中查找某些关键字。

9,Ctrl+k是复制一行的快捷键

10,我们在用Ctrl+/查找结果后,进去一个索引后,像要切换到下一个用F10,上一个用F9。

11,Ctrl+i,Ctrl+enter将光标所在的行换到下一行,然后,在此位置上加入新的一行。

12,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为起始值重填数值。

2.一些常用的英文单词的意思:

commands--关键字

3.宏语言

我始终认为这是SI中最有趣的部分,这是一种功能强大的编程语言,几乎可以实现在编程过程可能使用到的各种功能。这里不准备对如何实用宏语言进行编程作介绍(可参阅SI帮助文档。),只介绍如何使用已编好程序。为方便使用,我已把这些程序都集中放在utils.em文件中,下文就此文件进行论述。该宏文件实现了一些在编码过程中可能会用到的功能, 如添加文件头、函数说明(使用时能自动添加文件名、函数名和当前日期)和宏定义,代码补全等。使用说明:

  1. Project/Open Project...
    打开Base工程(该工程一般在"我的文档/Source Insight/Projects/Base"中);
  2. Project/Add and Remove Project Files...
    加入宏文件(即utils.em);
  3. 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文件,改成你需要的名字。

4.另一篇文章写的很好,具体链接如下

http://www.cnblogs.com/wangqiguo/p/3713211.html

其中的资源在这里

http://download.csdn.net/download/qqliyunpeng/8631841

但是需要注意的是,在下载的第一个文件,mycomment中

macro _WangQiGuo_TrimString(szLine)
{
    szLine = TrimLeft(szLine)
    szLIne = TrimRight(szLine)

    return szLine
}

szlIne改成szLine,TrimLeft(szLine)改成_WangQiGuo_TrimLeft,TrimRight(szLine)改成_WangQiGuo_TrimRight。

对于作者文章中的快捷键,由于跟默认的有冲突而作的很小的更改如下

作者在WangQiGuo_MultiLineComment设置的快捷键是Ctrl+/,改成了Alt+1

作者在AutoExpand设置的快捷键是Ctrl+Enter,改成了Alt+Enter


跟着博客里边内容走完后,增加的快捷键如下:

Alt+1,是多行一起注释的快捷键,再按一次是取消多行注释

Ctrl+3,是为内容添加#if 0...#endif,之所以这样是因为3的上的#

Ctrl+8,是为内容添加/**/,之所以这样是因为8的上的*

Ctrl+t,打开正在显示的文件所在的文件夹,并且是选中的状态


1.添加文件头注释:
命令:fi  解释:file

2.添加函数说明注释:
命令:fu  解释: function

3.添加单行注释:
命令:as  解释: add start       (添加之后:/* add by zhangsan, 20140504, Mantis号:d, 原因: */ )
命令:ms  解释: modify start    (添加之后:/* modify by zhangsan, 20140504, Mantis号:d, 原因: */ )
命令:ds  解释: delete start    (添加之后:/* delete by zhangsan, 20140504, Mantis号:d, 原因: */ )

4.添加标记注释:
命令:ab  解释: add begin       (添加之后:/* add begin by zhangsan, 20140504, Mantis号:d 原因: */)
命令:ae  解释: add end         (添加之后:/* add end by zhangsan, 20140504 */)

命令:mb  解释: modify begin    (添加之后:/* modify begin by zhangsan, 20140504, Mantis号:d 原因: */)
命令:me  解释: modify end      (添加之后:/* modify end by zhangsan, 20140504 */)

命令:db  解释: delete begin    (添加之后:/* delete begin by zhangsan, 20140504, Mantis号:d 原因: */)
命令:de  解释: delete end      (添加之后:/* delete end by zhangsan, 20140504 */)

5.配置命令:

命令:co  解释:config (修改相关配置信息)

要更改名字什么的用它。

这里的版权说明只能自己手工修改代码,打开quicker.em文件,查找字符串 Copyright 更改两处,一个是中文的版权信息,一个是英文的版权信息。

语句块的自动补全功能:

1.


该命令自动生成C语言的注释,它能自动换行对齐,在把文档中一长串注释拷贝过来时特别管用,不用自己去对齐了。还能自动识别中文和英文单词,对于中文不会把一个字分开,对于英文单词分开时会自动添加连字符,下面是一个注释的例子abcdefghijk = abcd + cdefg +hijk     

1.2   自动生成   }

1.3  while  (wh)自动生成While语句

while ( # )
{
#
}

1.4 if   自动生成if语句

if 生成if结构的语句
ife  对应生成if else结构的语句
ifs 对应生成if elseif else结构的f语句
if ( # )
{
#
}

1.5  for  自动生成for语句,支持块命令插入

该命令自动生成如下格式
for ( #; #; # )
{
#
}
1.5.1 fo   自动生成for语句与前一条命令相比它直接会定义循环变量
UINT32 ulI = 0;

for ( ulI = 0;  ulI <#;  ulI++ )
{
#
}

1.6  do  自动生成 do while语句

该命令自动生成如下格式
do
{
#
} while ( # );

1.7  #ifd  自动生成 #ifdef 命令

该命令生成如下格式  
#ifdef UMSC
#endif

1.8  #ifn  自动生成 #ifndef 命令

该命令生成如下格式
#ifndef UMSC
#endif

1.9  #if  自动生成#if  命令

该命令生成如下格式
#if  ( UMSC == 1)
#endif

1.10  cpp 自动生成适用于c++的c原型说明定义

该命令生成如下格式
#ifdef __cplusplus
#if __cplusplus
extern "C"{
#endif
#endif


#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif

1.11  switch (sw) 自动生成switch语句

该命令将提示输入case的个数,生成如下格式
switch ( # )
{
case #:
#
break;
default:
#
}

1.12  case (ca)自动生成case语句

支持块命令输入
该命令生成如下格式,用它可以避免遗漏break
case #:
#
break;

1.13  struct (st) 自动生成结构类型

该命令自动生成如下结构定义,它提示输入结构名,会自动转换成大写形式,并且自动在其后添加_STRU作为结构类型
typedef struct HELLO_TEST
{
           
}HELLO_TEST_STRU;

1.14  enum (en) 自动生成枚举类型

该命令自动生成如下结构定义,它提示输入结构名,会自动转换成大写形式,并且自动在其后添加_STRU作为结构类型
typedef enum HELLO_TEST
{
         
}HELLO_TEST_ENUM;


5.特殊情况的解决办法

快捷键Alt+W在有的计算机上不能使用,以至于我们的快捷切换窗口不能使用。

一般这个问题的出现是因为你开着qq呢,qq的语音输入快捷键就是Alt+W,去掉就可以了:


source insight 中保存时自动去除每行尾部的空格和tab的实现方法:

Options->Perferences->Files-> Remove extra white space when saving。


版权声明:本文为博主原创文章,未经博主允许不得转载。