source insight中的快捷键总结

来源:互联网 发布:中国经济网数据库 编辑:程序博客网 时间:2024/06/05 18:03

转自: http://blog.csdn.net/qqliyunpeng/article/details/45136127

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的快捷键,这个用于处理数字顺序排列的情况相当有效,比如数组下标。例如现有代码

[html] view plain copy
 print?
  1. array[0] = 1;  
  2. array[1] = 2;  
  3. array[2] = 3;  

现在要改为

[cpp] view plain copy
 print?
  1. array[0] = 0;  
  2. array[1] = 1;  
  3. array[2] = 2;  
  4. array[3] = 3;  

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


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

commands--关键字


3. source insight 的配色方案

刚安装上的自己配置颜色还是很耗费时间的,我有一个配色方案比较好,

从这里下载:http://download.csdn.net/download/qqliyunpeng/8799431

要把这个文件放置在这个路径下:C:\Users\Administrator\Documents\Source Insight\Settings

加载这个配置文件:Options->Load Configuration 弹出的对话框选中 All Configuration Setting 然后 Load 选中新的配置


4.宏语言

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

1. 下载必要文件:

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

下载地址设置为  C:\Users\sks\Documents\Source Insight\Projects\Base


2. 打开source insight,并打开设置工程文件:

Project/Open Project

3. 添加下载的文件到工程中:

然后 close 

4. 为这些宏分配快捷键:

从里边找到

        Macro: WangQiGuo_AddMacroComment

        Macro: WangQiGuo_CommentSelStr

        Macro: WangQiGuo_MultiLineComment (多行注释,首先先选中多行,然后按他的快捷键)

并设置快捷键分别是

        Ctrl + 3

        Ctrl + 8

        Alt + 1

另外为了以防万一,查看下下边的快捷键分配是不是设置了:

Macro: AutoExpand     -->     Alt + Enter  (代码自动补全功能)

Macro: ToExplorerFolder     -->     Ctrl + T (打开本文件所在的文件夹)


关于AutoExpand的举例说明, 当你输入了 switch 且光标正处于switch后面,运行该宏则会得到

[cpp] view plain copy
 print?
  1. switch ( # )  
  2. {  
  3.     case # :  
  4.         #  
  5.         break;  
  6.     case # :  
  7.         #  
  8.         break;  
  9.     default:  
  10.         #  
  11. }  

对于InsFunHeader宏,如果有如下函数体,(此处说的是后边的 fu 自动补全的运行结果)


    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文件,改成你需要的名字。

修改后的快捷键就如下:

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语句

[cpp] view plain copy
 print?
  1. while (#)  
  2. {  
  3. #  
  4. }  

1.4 if   自动生成if语句

if 生成if结构的语句
ife  对应生成if else结构的语句
ifs 对应生成if elseif else结构的f语句


[cpp] view plain copy
 print?
  1. if ( # )  
  2. {  
  3. #  
  4. }  


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

该命令自动生成如下格式

[cpp] view plain copy
 print?
  1. for ( #; #; # )  
  2. {  
  3. #  
  4. }  


1.5.1 fo   自动生成for语句与前一条命令相比它直接会定义循环变量
UINT32 ulI = 0;
[cpp] view plain copy
 print?
  1. for ( ulI = 0;  ulI <#;  ulI++ )  
  2. {  
  3. #  
  4. }  

1.6  do  自动生成 do while语句

该命令自动生成如下格式

[cpp] view plain copy
 print?
  1. do  
  2. {  
  3. #  
  4. while ( # );  

1.7  #ifd  自动生成 #ifdef 命令

该命令生成如下格式  

[cpp] view plain copy
 print?
  1. #ifdef UMSC  
  2. #endif  

1.8  #ifn  自动生成 #ifndef 命令

该命令生成如下格式

[cpp] view plain copy
 print?
  1. #ifndef UMSC  
  2. #endif  

1.9  #if  自动生成#if  命令

该命令生成如下格式

[cpp] view plain copy
 print?
  1. #if  ( UMSC == 1)  
  2. #endif  

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

该命令生成如下格式

[cpp] view plain copy
 print?
  1. #ifdef __cplusplus  
  2. #if __cplusplus  
  3. extern "C"{  
  4. #endif  
  5. #endif  
  6.   
  7.   
  8. #ifdef __cplusplus  
  9. #if __cplusplus  
  10. }  
  11. #endif  
  12. #endif  


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

该命令将提示输入case的个数,生成如下格式

[cpp] view plain copy
 print?
  1. switch ( # )  
  2. {  
  3. case #:  
  4. #  
  5. break;  
  6. default:  
  7. #  
  8. }  


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

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

[cpp] view plain copy
 print?
  1. case #:  
  2. #  
  3. break;  


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

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

[cpp] view plain copy
 print?
  1. typedef struct HELLO_TEST  
  2. {  
  3. #              
  4. }HELLO_TEST_STRU;  


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

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

[cpp] view plain copy
 print?
  1. typedef enum HELLO_TEST  
  2. {  
  3. #            
  4. }HELLO_TEST_ENUM;  


参考博客http://www.cnblogs.com/wangqiguo/p/3713211.html

5.特殊情况的解决办法

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

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


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

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


5.3 打开文件时乱码:

        当打开一个文件时,中文注释乱码,如论如何设置source insight都不能解决,那你需要考虑考虑是不是文件本身的问题了,source insight处理的是文档格式中不能很好的处理utf-8的格式,因此如果是这个格式的文件就需要更改一下文档了,具体的方法也很简单,只要用notepad++打开要修改的文档,然后 (编码->转为ANSI编码格式),一张截图如下:

原创粉丝点击