source insight 4.0 常用快捷键(提高编程效率)

倖福魔咒の 提交于 2019-12-01 14:40:01

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,不能使用,更改options->key assignment 中的Edit: Insert Line Before Next 的快捷键,我的更改成了ctrl+o。

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. 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后面,运行该宏则会得到

 

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

 

 

对于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.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;
 

 

 

参考博客: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编码格式),一张截图如下:


原文:https://blog.csdn.net/qqliyunpeng/article/details/45136127 
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!