SourceInsight教程及技巧.docx
- 文档编号:28070789
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:45
- 大小:3.60MB
SourceInsight教程及技巧.docx
《SourceInsight教程及技巧.docx》由会员分享,可在线阅读,更多相关《SourceInsight教程及技巧.docx(45页珍藏版)》请在冰豆网上搜索。
SourceInsight教程及技巧
1
图1
这样工程就建立好了,文件列表就出现在ProjectWindow中(如果ProjectWindow被关闭了,可以选中View菜单->ProjectWindow)。
点击ProjectWindow中任意一个文件,文件的内容出现在中央的编辑区了。
(如图2)
4.
3.
1.
2.
打开SourceInsight,选择Project菜单->NewProject;
在出现的对话框中选择并选择存放工程文件的文件夹,输入工程名(比如
McuSystem),点击“保存”;
又出现一个对话框,在Configuration部分可以选择这个工程使用全局配置文件还是自己单独的配置文件,这个无所谓,(不过最好选择单独的配置文件),再点击“OK”;
再次出现一个对话框,这是选择文件添加到Project中,通过左边的树状图找到你想添加的文件,点击Add就可以了(如图1)。
你可以将不通路径下的文件添加到
同一个工程中,而不用拷贝源文件。
选择完后点击Close;
和众多程序编辑环境一样,SourceInsight中也有Project。
建立工程的方法很简单:
SourceInsight是一个功能十分强大、使用也很方便的程序编辑器。
它内置对C/C++、Java
甚至x86汇编语言程序的解析,在你编程时提供有用的函数、宏、参数等提示,因而,Source
Insight正在国际、国内众多的IT公司使用。
SourceInsight功能强大,它的窗口、菜单初一看来似乎很多,所以刚刚开始使用SourceInsight的朋友往往觉得很麻烦。
这里本人结合自己的使用经验,简单说说SourceInsight的使用。
(本文以McuSystem为例,SourceInsight以3.0版本为例。
其他版本的SourceInsight大同小异)
SourceInsight使用简单说明
2
图3
对于编辑区,你该觉得熟悉吧。
你可以像使用你已经习惯了的编辑器一样输入、删除、
修改。
通过左边的SymbolWindow可以快速定位某一个函数、变量、宏等的定义。
SourceInsight使用不同的颜色、字体区别类型名、函数名、全局变量、局部变量、宏、注释、关键字等等,这样程序就一幕了然。
注意啦,如果某个函数或变量是小黑字显示,那么这个函数或者变量在这个工程内就还
没有定义(如图3)。
这便于检查程序中未定义的函数、变量。
当然啦,如果是诸如printf
这样的库函数,你可以不用管,编译器自己会找到这个函数。
如果工程已经建立好了,想要打开、关闭、删除工程,直接点击Project菜单下相应的
选项就可以了,这里就不多说了。
当然,类似的,要是本文说到的某个Window没有打开,直接选中View菜单下相应的选项即可,以后也不在重复说了。
这些Window的位置是可以随意的移动、停靠的,看你的习惯和方便了。
图2
3
图5
图4
如果只有一个定义,编辑区就会自动转到这个变量、函数、宏定义处;如果有多个定义(比如McuSystem中的msg_queue_out()函数,根据宏定义不同,对
应不同函数),将会出现一个定义列表(如图5),选择不同表项,编辑区就会转到相应的定义处。
查找定义:
在编辑区内,选中任意一个变量、函数、宏等,点击右键->JumpDefinition。
(如图4)
现在接下来说说SourceInsight的查询功能,这也是开发人员最常使用的功能。
次编辑过的地方,这在源文件很多的时候特别有用。
比如说你先后修改了3个文件中的3
个函数,现在又想回过头来再改改第一个函数,只要点击“向前”图标三次就可以回到第一个函数那里。
图标,它可以让编辑区转到你前一次、后一
、向后
工具栏上有两个蓝黑色的向前
有时候可能会出现明明定义了的函数或者变量,却仍然是小黑字,这时你可以点击
Project菜单->SynchronizeFiles,让文件重新同步一下。
4
图7
图6
Window会
或者,在编辑区内,选中这个变量、函数、宏等,过了1、2秒钟,Context
自动显示这个变量、函数、宏定义(如图6)、或者多个定义列表(如图7)
5
●
●
●
●
CaseSensitive:
查找时区分大小写;
SkipInactiveCode:
诸如#if0....#endif内的代码,因为是Inactive的,所以不在查找之列;
SkipComments:
注释内的代码不在查找之列
SearchOnlyComments:
只查找注释内的代码
图9
现在我们在说说前面提到的LookupReference对话框的关于Option选项。
(如图9)
这个查询功能是很好用的。
图标,就可以在不同查询结果之间转换。
、向右
左
就又回到查询结果列表;或者点击任务栏中红色向
区点击语句开头的红色图标
点击任意一条结果前的红色图标
5.
图8
,编辑区就转到了程序中相应的部分;在编辑
4.
在编辑区内,选中要查找的变量、函数、宏等,点击右键->LookupReference;
出现LookupReference对话框,(关于Option选项,我们后面再说),点击Search;接下来的对话框是选择查询结果的存放、显示方式,一般选择Replace(你可以试试其它选项的效果);(如果将查找结果列表窗口关闭,这个对话框就不出现)
接下来就出现了查询结果列表窗口(如图8)。
1.
2.
3.
查找:
6
图10
当编辑区中选中某个宏、变量时:
RelationWindow就出现了该宏、变量在整个工程中被引用的关系图(如图11)
再来说说一直没有说到的RelationWindow。
其实细心的朋友一定都已经发现了它的使用
方法:
当编辑区中选中某个函数时:
RelationWindow就出现了该函数和该函数中被调用的其它函数的关系图(如图10);
SourceInsight中也有一个文件中查找、一个或多个文件中替换的功能,点击Search菜单
下相应的选项就可以了。
查找调用:
在编辑区内,选中函数名,点击右键->JumptoCaller;如果这个变量、函数、宏等在工程中只被调用了一次,编辑区会直接转到该处;如果被调用了多次,就会出现查询结果列表对话框,选择不同表项,编辑区就会转到相
应的调用处。
这里说的JumptoCaller和前面说的LookupReference很相似,JumptoCaller的查询条件更加严格,定义、声明、注释等都不在它的查询之列。
但是就我的使用经验来说,JumptoCaller有这种情况存在:
如果函数A中多次调用函数
B,使用JumptoCaller时,A中的B函数只会被列出一次。
所以我个人更加喜欢用Lookup
Reference。
当SearchMethod选中SimpleString时,还可以选中或者取消WholeWordsOnly选项。
当取消WholeWordsOnly时,就不再按照整字查询,举个例子,当你查询“int”时,“interrupt”也会被查到。
(呵呵,厉害吧)
下面两个选项我就不清楚了。
☹
7
以上就是我根据自己的使用经验总结出来的SourceInsight使用的简单说明。
至于诸如
图13
图12
修改了保存了的语句,前面用绿色标注(如图13):
SourceInsight很多细节上都考虑到了,尽量从方便程序开发的角度区设计。
比如,凡是
修改了、还没有保存的语句,前面都用黄色标注(如图12):
图11
由于RelationWindow采用图形结构,非常直观形象。
8
王绍伟
wangsw317@
2005年1月18日
相信大家一旦用了SourceInsight以后,会和我一样,觉得它真是意见得心应手的好工具。
也欢迎大家来信讨论。
Undo、Redo、GotoLine等操作、语言及颜色等的设置,大家可以从菜单项或者任务栏中的
图标内找到。
1
图2
图1
3.打开SourceInsight3.5软件进入图2界面。
一、建立工程:
1.在桌面上新建一个保存工程文件的文件夹,文件夹取名为project,如图1所示。
(当然您可以在你任何路径下建立文件夹,文件夹的名称也可随意取。
)
2.将要加入工程中的源文件(*.h,*.c等),都拷贝到建立的project文件夹中。
SourceInsight3.5使用教程
2
图4
5.图3中弹出的NewProject对话框内,修改您要建立的工程名称,在此我们改成
test;再点击Browse选择您要保存的路径,在本例我们选择第1步中建立的project
文件夹,即C:
\DocumentsandSettings\tang03\桌面\project。
如图4:
图3
4.点击菜单“Porject→NewProject”进入图3
3
图6
7.在图6中,我们要选择要加入工程中的源文件。
在“AddandRemoveProjectFiles”
对话框中的“FilesName”栏目下点击选中任一你想加入到工程中的文件,比如:
I2C.C
文件,再点击右侧的“ADD”按纽即可将I2C.C文件加入工程,如图7和8所示。
图5
6.点击图4中的NewProject的“OK”按纽后进入新工程设置如图5所示界面,在
此我们按图5中的选择进行设置后,点击“OK”确定,进入图6所示界面。
4
图8
图7
5
图9
9.所有文件都加入到工程后,点击“AddandRemoveProjectFiles”对话框中右上
角的“Close”后,进入图9所示界面。
8.如果Directory栏下的“project“文件夹中所有的文件都需要加入工程,那么,只
需要点击右侧的“ADDAll”按纽即可将所有文件加入工程。
6
图10
10.双击图9右侧区的“FileName区”中的Main.c即可打开Main.c文件,进入图
10界面。
图10中共有4个区:
左侧显示main.c文件中的所有变量、函数、包含文件的名称(双击该区的任意一项,会在中间区域显示出它的实体,如图11所示);中间区显示main.c的内容;右侧区显示整个工程中的文件;最下方的区域为关联区,如图10所示显示,当鼠标放置在中间区域的SCI1_INIT()函数后,在下放关联区会立刻调出SCI1_INIT()的实体。
7
2)
3)
4)
SourceInsight常用使用技巧
按住"ctrl",再用鼠标指向某个变量(或函数),点击一下,就能进入这个变量(或函数)的定义。
快捷键"Alt+F12",可以让显示界面中的每个字符宽度一致。
"shift+F8"标亮所有文本中光标所在位置的单词跳到某一行:
"ctrl+g"
二
1)
图11
Reserved.
Rights
All
维护组整理开发
开发人:
谷俊奇
--让编程更简单更高效更规范
Insight提高工作效率
使用Source
•
使用该软件的这些功能可以极大的提高我们开发人员
的工作效率,而且在项目开发工程中可以提高我们的代码质量的编程规范,同时有利于后期测试问题和网上问题的BUG修改维护。
Insight是一个功能非常强大的软件开发工具,
Source
Insight的一些功能。
大家交流一下Source
基于个人以前的工作经验,本篇从三个方面来简单和
•
序言(废话)
5.总结
4.使用CodeReview.em
3.使用Chnchar.em
2.使用quicker.em
1.SI自带的功能
下面一一罗列,LOOK:
使用的快捷键,鼠标键盘同时配合使用,可以极大的提
高工作速度。
(打过星际的帅哥(也许也有美女)应该知道,熟练使用一些常用的快捷键在战斗的时候是多么的重要啊,而且快速的使用某些功能,提高工作流畅度的同时,也锻炼了我们的脑袋灵光度,保持青春不老哦。
很重要很有用吧?
!
)
Insight自带的功能定义成个人习惯
将一些Source
Insight自带的功能
1.Source
个人建议:
不要使用菜单工具栏的图标按钮,建议
使用Ctrl+O快捷键,效果是一样的,而且找到想要的文件后直接回车就可以打开对应的文件并且关闭该查找窗口,找不到直接使用ESC键也可以关闭该查找窗口,而用图标按钮则不行。
该菜单点击后会将当前使用的工程里所有包含的文
件罗列出来。
通常,当我们已经比较熟悉产品的工程架构设计后,
我们已经记住了相应的模块和文件名。
这时,我们有两种方式可以快速的找到我们需要的文件:
1、在输入框里输入文件名(从首字母开始);如:
config.h
2、使用*关键字母*(如:
*fig*)
Window
Project
请看自定义快捷键演示。
个人建议:
建议使用Ctrl+G快捷键(当然可以使用
其他快捷键,这个是我根据个人使用习惯定义的)。
这个就不用多说了,大家都非常了解。
Window窗口显示出来。
定义的位置及上下文在Context
该菜单点击后会将当前鼠标点到的函数或者参数所
Window
Context
请看自定义快捷键演示。
另:
1、使用锁定开关;
2、可定义Refresh快捷键(Alt+R)。
Window。
使用习惯)来打开或关闭Relation
个人建议:
使用Ctrl+H快捷键(当然也是我的个人
看到大家不少人都是使用查找的功能去搜索某个函
数相关的调用关系,这样操作很麻烦,其实大可不必这样,只要照下面的方式定义两个快捷键就可以了。
Window窗口显示出来。
相关调用关系在Relation
该菜单点击后会将当前鼠标点到的函数或者参数的
Window
Relation
请看自定义快捷键演示。
Window。
使用习惯)来打开或关闭Symbol
个人建议:
使用Alt+G快捷键(当然也是我的个人
列,这样对大家培养函数功能的实现分配和接口规范性
的分块顺序设计思想比较有用。
Line来进行排
By
Symbols
这个一般建议按照Sort
Window窗口中。
显示到Relation
该菜单点击后会将当前查看的工程文件中的符号表
Window
Symbol
Ctrl+F来查找某些关键字,并使用F4或者F3来前进查找或者后退查找。
shift+F8来高亮显示文件中所有指定的字符
saveconfiguration(保存配置)和loadconfiguration(加载配置)。
•
•
•
Alt+,或者Alt+.来后退和前进。
•
更改sourceinsight使用的windowsbackground背景色为灰色,不伤
眼(白色对眼睛的伤害最大)。
•
F7显示整个sourceinsight工程的symbols参数(比如当我们记得想
要查找的函数名时可以直接跳过去)。
•
显示行号,并使用F5快捷键跳转到某一行(比如我们编译的时候碰到
warning或者error编译不过去的时候我们需要去代码中查看逻辑有什
么错误)。
•
增加说明
另:
该em文件里面有几个小BUG我已经进行了修
改,让我们的开发工作更方便更高效率。
该文件在华为系公司里得到了广泛的应用。
后来该高手在2003年华三成立时划到了华三公司,
不知道现在还在不在华三。
呵呵。
工号2万多)于2002年进行整理和开发的。
胜文
絮絮叨叨讲一下历史:
该宏功能扩展文件是华为的lushengwen(卢
2.使用quicker.em
Assignments对话框里
insight的Options工具菜单的Key
通过macro关键字找到。
注:
所有Quicker.em定义的功能都可以在source
配置说明.txt
请看自定义快捷键演示。
个人建议:
使用Ctrl+Enter快捷键(这个可不是我
的个人习惯,而是QQ的马化腾灌输给全国人民的使用习惯,呵呵。
)来自动扩展。
这个是几乎所有我们常用的宏功能的基础。
该宏功能定义快捷键后就可以通过输入对应的功能
关键字(如config、pn等,后面详述)后使用该快捷键自动配置和扩展。
AutoExpand
请看演示。
使用方法:
在一个空白行首处输入config后使用Ctrl+Enter键进行自动扩展,则弹出对话框提示用户输入语言类型和用户姓名。
该宏功能用于配置我们使用的语言和使用者姓名。
config
请看演示。
如:
BUG[23170]
使用方法:
在一个空白行首处输入pn后使用Ctrl+Enter键进行自动扩展,则弹出对话框提示用户输入问题单号。
该宏功能用于配置我们使用的问题单号。
pn
请看演示。
使用方法:
在一个空白行首处输入abg/mbg/dbg后使用
Ctrl+Enter键进行自动扩展,则自动添加注释。
该三个宏功能类似,所以我们放在一起进行说明。
三个宏功能分别为增加代码注释、修改代码注释、删除代码注释。
abg/mbg/dbg
请看演示。
使用方法:
在函数的前面空白行首处输入func后使用Ctrl+Enter键进行自动扩展,则弹出对话框提示用户输入函数功能描述。
该宏功能用于自动生成函数头注释。
func
请看演示。
使用方法:
在一个.C源文件首部输入file后使用Ctrl+Enter键进行自动扩展,则弹出对话框提示用户输入文件功能描述。
该宏功能用于自动生成.C源文件头注释。
file
请看演示。
使用方法:
在一个函数头注释的最后一个空白行首处输入hi后使用Ctrl+Enter键进行自动扩展,则弹出对话框提示用户输入修改内容。
该宏功能用于添加修改历史记录的注释。
hi
请看自定义添加快捷菜单演示。
HeaderFileCreate通过insert键点选加入到软件为我们
预留的work菜单里。
assignments将宏
insight里的menu
通过source
需要注意的是:
须首先在菜单栏里进行定义。
使用方法:
在任意一个.C源文件上点击菜单就可以自动生成该.C源文件的.h头文件。
该宏功能用于自动创建一个.C源文件的头文件。
HeaderFileCreate
•
所有的快捷语法使用都可以在《Quicker.doc》里找到。
•
•
•
•
•
•
•
•
•
加入该Quicker.em宏后,sourceinsight便扩展出了许多宏功能,如
下所示,它们均使用我们前面所定义的快捷键Alt+Enter:
1、{
2、for
3、while
4、switch
5、do{}while
6、if
7、struct
8、enum
......等等。
•
增加说明(个人不太建议经常使用)
我们只需把常用的几个宏功能定义为键盘上对应的功能
键就可以了。
Assignments对话框里
insight的Options工具菜单的Key
通过EM关键字找到。
注:
所有Chnchar.em定义的功能都可以在source
的支持问题,即:
在我们的代码中添加了中文注释后,
若需要修改或者删除注释的汉字,左移右移或者使用退格键delete键时,光标只能一次跳动一个字符,而汉字都是两个字符的。
有时很容易出现删除了半个汉字而导致所有的注释都是乱码的情况。
insight软件本身对中国汉字
该文件主要解决了source
3.使用Chnchar.em
请看自定义快捷键演示和操作演示。
可以兼容一键删除一个汉字或者一个英文字符。
义宏功能backspace和delete的快捷键分别对应键盘功能
键backspace和delete。
assignments对话框里定
insight里的key
使用方法:
在source
该两个宏功能用于向前或者向后删除一个汉字或者
一个英文字符。
backspace/delete
请看自定义快捷键演示和操作演示。
可以兼容一键移动一个汉字或者一个英文字符。
CursorUp/CursorDown/CursorLeft/CursorRight的快捷
键分别对应键盘功能键Up/Down/Left/Right。
assignments对话框里定
insight里的key
使用方法:
在source
义宏功能
该四个宏功能用于光标的向上/向下/向左/向后移动
一个汉字或者一个英文字符。
CursorUp/CursorDown/CursorLeft/CursorRight
CodeReview工具的作用:
1.减少评审人的缺陷记录和汇总时间,方便责任人查找问题出处;
2.检视完成后生成检查报告,代码作者点击按钮可以直接找到错误处;
3.任务责任人修改完成后,直接修改问题状态,组织者按快捷键即可统计出缺陷数;方便度量数据收集。
4.使用CodeReview.em
该文件主要解决了在项目开发过程中或者在质量部组织的代码飞检活动中评审人统计代码缺陷并提交代码作者进行缺陷确认修改,之后再提交给评审人进行问题修改确认的活动。
请看自定义快捷键演示和操作演示。
使用方法:
评审人对发现问题的代码处增加注释;代码作者对评审人发现的问题恢复链接并修改问题;评审人对修改后的问题进行问题确认并生成汇总信息;项目经理汇总所有的信息并转换文本进行数据度量。
该四个宏功能用于增加注释/恢复链接/生成汇总信息/
生成转换后的文本。
Review_Add_Comment/Review_Restore_Link
/Review_Summary/Review_Output_123
成“一键点击”自动启动产品批处理编译(当然前提是
批处理.bat文件写得比较好)等。
Insight菜单中集
程的PC-LINT代码检查功能;在Source
Insight中集成单个文件或者单个工
如:
可以在Source
我们去挖掘呢。
呵呵。
Insight还有很多深藏着的宏功能还等着
毕竟,Source
当然也可以在我的文件基础上修改KEY定义自己的使用习
惯,当然更可以完全定义自己的快捷键。
如果大家接受我个人的使用习惯的话,直接使用我的配
置文件就可以了。
SourceInsightonfigurationFil
5.总结
谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SourceInsight 教程 技巧