ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:30.36KB ,
资源ID:4132129      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4132129.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SourceInsight使用技巧强大的编程必备工具.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SourceInsight使用技巧强大的编程必备工具.docx

1、SourceInsight使用技巧强大的编程必备工具SourceInsight一些使用技巧2009-08-18 07:262798人阅读评论(1)收藏举报源:开胃菜-初级应用Source Insight常用的快捷键: Ctrl+= :Jump to definition Alt+/ :Look up reference F3 : search backward F4 : search forward F5: go to Line F7 :Look up symbols F8 :Look up local symbols F9 :Ident left F10 :Ident right Alt+,

2、 :Jump backword Alt+. : Jump forward Shift+F3 : search the word under cusor backward Shift+F4 : search the word under cusor forward F12 : incremental search Shift+Ctrl+f: search in project shift+F8 : hilight word选择美丽的界面享受工作字体选择在SI中样式是可以被继承,如果要从根本上改变字体,最简单的方式就是直接修改根样式中的字体,因为其它样式都会由此继承而来。选择Options/Doc

3、ument Options页面内的Font Options中的Screen Fonts字体,即可改变根样式中的字体。SI中的默认配置为Verdana字体,是一种非等宽字体,为了使编写的代码在各种编辑器中看起来都有良好的对齐效果,这里强烈建议使用等宽字体,Courier、New Courier、宋体等都是较好的选择。颜色定义选择Options/Style Properties页面,就可以在其中修改所有样式了。选择等号(=)表示继承Parent Style,也可以选择Pick(或者ON/OFF等)去配置一个新值。标识符样式选择在与颜色定义一节同样的界面内即可完成此项配置。背景色选择在希望要改变背景

4、色的窗口点击鼠标右键(假定使用的是右手鼠标),选择上下文菜单的 xxx Window Properties项,然后点击弹出窗口的Back Color按钮,即可修改该窗口背景色。对于SI的源码主窗口,只需选择上下文菜单的Special Window Color项即可完成背景色修改。配置合理的默认值高效工作使用合理的缩进选择Options/Document Options页面,点击其内的Auto Indent按钮,在弹出的Auto Indenting窗口中,默认配置为 Auto Indent Type选择Smart,且勾选了Smart Indent Options中的两个可选项,这样得到的默认缩进

5、效果为while(1)I每次都要手工去调整其缩进,其实只要把两个勾选项去掉,就可以得到while(1)I何乐而不为呢?显示坐标选择Options/Document Options页面,勾选其中的Show line numbers。同时勾选其中的Show right margin,我们就可显示一条右边界,随时提醒我们是否该行代码写得过长了。创建便捷的快捷键快乐工作几个较常用的快捷键默认情况下,SI已经定义了很多非常实用的快捷键: F5指定行号,实现行跳转,在遇到编译错误的时候,能特别方便的找到出错行。 Shift+F8高亮显示指定标识,快速浏览标识的使用情况。 Ctrl+鼠标点击标识直接跳转至标

6、识定义处。 Ctrl+F本文件内查找。 F3本文件查找结果的上一个。 F4本文件查找结果的下一个。 F7打开Browse Project Symbols窗口,快速浏览工程内标识定义。 Ctrl+M创建或查找书签,方便下次找回此位置。自定义快捷健选择Options/Key Assignments,在弹出的Key Assignments窗口中可自由添加自己喜欢的快捷键。比较值得推荐的有如下几个快捷键定义: Edit: Drag Line Down光标当前行下移。 Edit: Drag Line Up光标当前行下移。 Edit: Join Lines当前行和下一行连接成一行。更多的快捷键如果你正好对

7、SI的Marco语言(下文将会介绍)有研究,那么还可以定义更多有用的快捷键,比如添加文件头、函数头、注释等(下文在介绍Marco语言时会介绍如何实现)。小技巧-中级应用查找与替换在SI中支持多种查找及替换方式,除了上文提到的文件内查找外,还支持工程范围内查找、目录查找、指定多文件查找等等。查找1. Loopup References我们最常用的一种查找方式是选择Search/Lookup References或按Ctrl+/组合键再或者鼠标点 R按钮,在弹出的Loopup References窗口进行查找操作。在Search Method中有四种可选的查找方式:Simple String、Re

8、gular Expression、 Keyword Expression和Look Up Reference。其中Simple String是最普通的查找方式,可以查找文件中出现的任意字符或字符,甚至可以查找_upap|u这样的字符串,但是在工程较大时,查找过程会较慢。Regular Expression查找方式将在后面讲述正则表达时会介绍到,这里暂时按下不表。Keyword Expression和Look Up Reference查找的结果基本相同,但是显示方式略有差异。这两种方式都是使用SI预先建立的数据库,查找起来速度相当快。但通常这种速度只对在查找标识符时有明显效果。对于像函数名,变量

9、名等的查找,强烈建议使用这两种方式进行查找。2. Search Files选择Search/Search Files或按Ctrl+Shift+F组合键,在弹出的Search Files窗口进行查找操作。在File Name框中可以填入文件名或文件夹。注意当要查询的文件夹双包含子文件夹时,可以勾选Options中的Include Subdirectiories,实现对各层文件的递归搜索。3. Search Project选择Search/Search Project,在弹出的Search Project窗口进行查找操作。操作与Loopup References几乎完全一致,它们各自保存上次搜索的

10、配置。替换1. 单文件替换选择Search/Replace或按Ctrl+H组合键,在弹出的Replace窗口进行查找操作。在Search项目里勾选Selection则仅对当前选中的文档部分进行替换。另外如果勾选了Confirm Replacements则是逐个确认替换,否则会同时替换所有符合替换条件内容。2. 多文件替换选择Search/Replace Files或按Ctrl+Shift+H组合键,在弹出的Replace Files 窗口进行查找操作。除了增加New框(替换后的内容)外,其余均与Search Files窗口相同,可参照查找部分的说明进行操作。列操作虽然开篇时就说过,SI的列操作

11、功能比较弱,但不等于没有。先按下Alt键,接着就可用鼠标进行列选择,然后就可以删除指定的列。无名技巧这里介绍一些小技巧,大多数情况下我们可以无视它们的存在。但如果我们知道这些,某些时候,会有效提高工作效率。 Smart Rename在上下文件菜单中选Smart Rename或按Ctrl+组合键,即可弹出Smart Rename窗口。它有很强大的功能,但最便捷的使用方式是更改函数内局部变量的名字,操作只作用于函数内部,速度非常快。 Renumber使用Ctrl+R将弹出Renumber窗口,这个用于处理数字顺序排列的情况相当有效,比如数组下标。例如现有代码array0=1;array1=2;ar

12、ray2=3;现在要改为array0=0;array1=1;array2=2;array3=3;当然可以一个个修改,但最快的方式是在array0=1;之前添加array0=0;,然后列选数组下标,使用Renumber功能以 0为起始值重填数值。 Edit Condition很多代码尤其是驱动代码,当中有大量的预编译定义,以实现对不同硬件配置的支持。在阅读这样的代码时最痛苦的是不能简单判断程序实际执行的代码分枝。大量分枝同时存在,常常会混淆我们的视听。比如对于下面的代码:#ifdef DEV1/* DEV1代码代码*/#else/*其它设备执行代码*/#endif如果确定我们当前分析的是DEV1

13、的执行情况,那么可以选择上下文件菜单的Edit Condition 选项,在弹出的Conditional Parsing窗口中把DEV1的值设置为True,那么#ifdef DEV1就等价于#if1了,相当注释掉了#else分枝的代码。反之,设置为Flase时,则注释掉#ifdef DEV1分枝的代码。学会偷懒-高级应用附录1-SI中正则表达式由于在查找及替换中,经常会使用用正则表达式,这里对SI的正则表达式进行简单介绍。通配符正则表达式通配符总表:CharacterMatches(在表达式开始处)行的开始部分.任意单个字符abc任意属于集合abc的单个字符abc任意不属于集合abc的单个字符

14、*前面字符的0个或多个重复+前面字符的1个或多个重复/t一个tab字符/s一个空格符/w一个空白符(包括tab符和空格符)$行的结束部分表达式中的组在执行替换操作时,组将大有用武之地。正则表达式的各个部分可以用/(和/)进行分隔,分隔得到的每一项就是一个组。在进行替换时可通过组从匹配内容中抽取出特定串。在正则表达式中每个组都有一个编号,自左至右编号从1开始。例如:abc/(xyx/)将能匹配abcxyz,此时组1就包含了xyz串。在进行替换操作时,就可以通过在替换后内容框中填入/1来取出这个字符串。推而广之,可以使用/来取得组所包含的串。例如:当设定把/(abc/)/(xyz/)替换为/2/1

15、的替换规则时,对于abcxyz被替换串,则组1包含abc,组2包含xyz,而替换后的内容定义为组2内容后跟组1内容(/2/1),因此将得到xyzabc。举个真实的使用例子,相信会增加大家的兴趣。有时为方便调试,代码中到处流浪着各种形式的mytrace调用 mytrace(Createparameterlist.);有时希望把它们全部注释掉,而有些时候又希望把它们全部恢复回来。这是个简单的例子,可以使用/(.*/)/(/*/)/(.*mytrace.*/)/(/*/)_FCKpd_6nbsp;=/1/3把它们恢复回来,而使用/(.*/)/(mytrace/)/(.*/)_FCKpd_7nbsp;

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

17、nsight/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后面,运行该宏

18、则会得到switch(#)casebreak;default:对于InsFunHeader宏,如果有如下函数体intnOpenConfigFile(char*pchMemConfig,char*pchFlashConfig,intnSize,intnMode)I光标在函数体内时运行该宏,那么将会在函数体上方得到/*nOpenConfigFile-*DESCRIPTION:-*Input:N/A*Output:N/A*Returns:N/A*modificationhistory*-*1.00,Apr19,2007, T357 written.*-*/其中的函数名及编写日期自动按实际情况填充,T

19、357串可通过修改utils.em文件,改成你需要的名字。附录3-推荐格式所谓人各有志,这里就不说啦。结束至此,已将我所知的所有关于Source Insight(未包括其附带的Macro语言)知识在此文档中描述出来。如有错漏,请指正。谢谢观赏Create byLATEXFrom CTEXFootnotes:1qiupingwu2在计算机显示字体中,有等宽字体和非等宽字体两种类别。对于等宽字体中在相同字号的情况下,所有字符占据的空间是一样的,绝对公平。而非等宽字体则即使是同一字号,字形也是有大有小,并不固定的。3当年我曾定义过黑白颠倒的颜色方案,那时看起来很酷,现在看来好累。4我本热衷于使用左手

20、鼠标,这里为照顾大多数,以右手鼠标为例。5这个时候,不要太过于武断,不要想当然地认为程序一定执行至此,必要时可通过使用#error或#warning 进行预编译确认。6这又是一个没有统一标准带来的罪恶,现代的编辑软件几乎都提供了正则表达式功能,虽然基本用法大致相同,但总存在不少细微的差异。常常会令人混淆,偶尔造成一些郁闷的感觉。-源:1、缩进与tab(1)Options菜单PreferencesTyping卡,勾掉下面两项Typing tab indents line,regardless of selection,空行按tab无法前进Typing tab replaces current s

21、election,选定部分内容、再按tab时会清除所选(2)Options菜单Document Options(针对不同文件类型,分别进行设置)下拉左上文件类型框、选择合适类型(c源文件)Editing Options框中,tab width=2Editing Options框中,勾选Expand tabs(这样,按tab键、等价于输入2个空格)(3)Options菜单Document Options选择合适的文件类型点击右边中间的Auto Indent钮在弹出的框中,左边一定要点Smart,右边有两个复选框Indent Open Brace和Indent Close Brace,具体效果可以

22、看SIS的HELP。按照部门里的编程风格要求,最方便的就是把两个复选框都取消掉,然后点OK。勾选Auto Indent之SMART的效果在C程序里,如果遇到行末没有分号的语句,如IF, WHILE, SWITCH等,写到该行末按回车,则新行自动相对上一行缩进两列。勾掉Indent Open Brace和Indent Close Brace的效果继上一段,在相对缩进行里,如果输入,则自动和上一行列对齐(好像勾不勾都会有这个功能);而输入时,不会与下面的行对齐(这是勾上Indent Open Brace时的效果)。2、向项目中添加文件时,只添加特定类型的文件(文件类型过滤器)有个同事比较生猛,得整

23、汇编代码,但在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来,只加了.inc和.asm后缀的,.s后缀的没有。而且用SIS打开.s的文件,一片黑白没有色彩,感觉回到DOS的EDIT时代了解决方法是在Options-Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Source File,然后在右边的File filter里*.asm;*.inc;的后面加上*.s;接着CLOSE就可以了。上面两个问题解决了,但注意加入*.s后还需要重新ADD TREE一遍才能把这些汇编加到PROJE

24、CT里面。3、去掉功能强大但是无用的自动完成功能Options菜单PreferencesTyping卡Auto Completion框,勾掉Use automatic symbol completion window(这里是SIS的全局设置)Options菜单Document OptionsEditing Options框中,勾掉Allow auto-complete(局部设置)上面两项必须全部勾选,才能启用Auto Completion功能4、恢复小键盘的“+,-,*,/”功能Options菜单Key assignments,通过关键词Scroll找到Scroll Half Page Up,

25、取消小键盘/;通过关键词Scroll找到Scroll Half Page Down取消小键盘*;通过关键词Function找到Function Up,取消小键盘-,通过关键词Function找到Function down,取消小键盘+。5、恢复ctrl+a的全选功能通过关键词save找到save all,更改为ctrl+shift+a,通过关键词select找到select all,更改为ctrl +a6、解决字符等宽对齐问题。SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行llllllllllMMMM

26、MMMMMM同样10个字符,长度差多了.用VERDANA来看程序,有些本应该对齐的就歪了。解放方法是使用等宽的字体,但肯定比较丑。可以用DOS字体,也就是记事本里的默认字体sysfixed很丑,要有心理准备。比较推荐的是用Courier New。SourceInsight提供的功能1、解析日志信息时非常有用的Source Link总地说来,SourceLink根据特定的搜索模式,把当前文件中满足模式的行、链接到由该行指定的其他源文件中。所谓特定的搜索模式,共有两种“File, then line”和“Line, then file”,其中前后两部分依靠正则表达式的组的概念来予以分割。如果当前文

27、件具有匹配行,比如“Error d:tcsrcq5.c 18: Lvalue required in function jsSort”,那么SourceInsight在该行创建SourceLink、把该行链接到由该行指定的文件中(即d:tcsrcq5.c,第18行)。1.1创建SourceLink运行Search菜单的Parse Source Links命令,在弹出的框中、选择搜索模式、并填入相应的正则表达式串,点OK,SIS就会解析当前文件,如果有匹配,就创建SourceLink。1.2在解析日志信息时,使用SourceLink可以打开日志信息,运行Parse Source Links命令,

28、日志中能够匹配模式的每一行(通常是含有错误信息的行)、就会被设置上一个SourceLink1.3在解析自定义命令输出时,使用SourceLink首先勾选Custom Command中的“Parse Links in Output”,然后选择特定的搜索模式,最后填入合适的正则表达式。这样,Source Insight把输出信息作为当前搜索用文件;并且,如果有匹配行(通常即编译错误信息行),SIS为该行创建SourceLink、并把每一个错误信息中给定的文件(和行号)作为link目的地,这对于我们修改源代码错误非常有帮助。2、替换(Replace)VS上下文敏感的智能重命名(Context-Sensitive Smart Rename)2.1替换(Replace)目前来说,普通的替换命令、快捷键为ctrl+H,足以已满足工作要求。在弹出的替换窗口中,在Search框中勾选Selection来只在所选文本区域中替换(当然这时你要先选定区域然后再按ctrl+H)、勾选WholeFile来在整个当前文件内替换、两者都不勾选来从当前光标处替换至文件末尾;点右边的Files按钮,可选择替换多个文件的内容。2.2上下文敏感的智能重

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1