SourceInsight使用技巧(强大的编程必备工具)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组。在进行替换时可通过组从匹配内容中抽取出特定串。在正则表达式中每个组都有一个编号,自左至右编号从
1
开始。例如: abc/(xyx/) 将能匹配 abcxyz ,此时组 1 就包含了 xyz 串。在进行替换操作时,就可以通过在替换后内
容框中填入 /1 来取出这个字符串。推而广之,可以使用 /<number> 来取得组 <number> 所包含的串。例如:当设
。同时勾选其中的 Show right
创建便捷的快捷键快乐工作 几个较常用的快捷键
默认情况下, SI 已经定义了很多非常实用的快捷键:
F5
指定行号,实现行跳转 ,在遇到编译错误的时候,能特别方便的找到出错行。
Shift+F8
高亮显示指定标识 ,快速浏览标识的使用情况。
Ctrl+ 鼠标点击标识
直接跳转至标识定义处。
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; ,然后列选数组下标,使用
中的两个可选项 ,这样得到的默
while (1) { I }
每次都要手工去调整其缩进,其实 只要把两个勾选项去掉,就可以得到
while (1) {
I }
何乐而不为呢?
显示坐标
选择 Options/Document Options
页面,勾选其中的 Show line numbers
margin ,我们就可显示一条右边界,随时提醒我们是否该行代码写得过长了。

标识符样式选择
在与 颜色定义 一节同样的界面内即可完成此项配置。
背景色选择
在希望要改变背景色的窗口点击鼠标右键 (假定使用的是右手鼠标 ),选择上下文菜单的 xxx Window Properties 项,然后点击弹出窗口的 Back Color 按钮,即可修改该窗口背景色。对于 SI 的源码主窗口,只需选择上下文菜单 的 Special Window Color 项即可完成背景色修改。
起来都有良好的对齐效果,这里强烈建议使用等宽字体,
Courier 、New Courier 、宋体等都是较好的选择。
颜色定义
选择 Options/Style Properties
页面,就可以在其中修改所有样式了。选择等号
以选择 Pick( 或者 ON/OFF 等 ) 去配置一个新值
(=) 表示继承 Parent Style ,也可
Name 框中可以填入文件名或文件夹。注意当要查询的文件夹双包含子文件夹时,可以勾选
Options 中的
Include Subdirectiories ,实现对各层文件的递归搜索。
3. Search Project
选择 Search/Search Project ,在弹出的 Search Project 窗口进行查找操作。操作与 Loopup References
换,否则会同时替换所有符合替换条件内容。
2. 多文件替换 选择 Search/Replace Files 或按 Ctrl+Shift+H 组合键,在弹出的 Replace Files 窗口进行查找操作。除了 增加 New 框 (替换后的内容 )外,其余均与 Search Files 窗口相同,可参照查找部分的说明进行操作。
配置合理的默认值高效工作 使用合理的缩进
选择 Options/Document Options 默认配置为 Auto Indent Type 认缩进效果为
页面,点击其内的 Auto Indent 按钮,在弹出的 Auto Indenting 窗口中,
选择 Smart ,且勾选了 Smart Indent Options
Renumber 功能以 0 为起始值重填数值。
Edit Condition 很多代码尤其是驱动代码,当中有大量的预编译定义,以实现对不同硬件配置的支持。在阅读这样的代码时
最痛苦的是不能简单判断程序实际执行的代码分枝。大量分枝同时存在,常常会混淆我们的视听。比如对于 下面的代码:
#ifdef DEV1 /* DEV1 代码代码 */
学会偷懒 - 高级应用 附录 1-SI 中正则表达式
由于在查找及替换中,经常会使用用正则表达式,这里对
SI 的正则表达式进行简单介绍。
通配符
正则表达式通配符总表:
Character
Matches
^ ( 在表达式开始处 ) 行的开始部分
.
Baidu Nhomakorabea
任意单个字符
[abc]
任意属于集合 abc 的单个字符
[^abc]
mytrace 调用
mytrace("Create parameter list... ");
有时希望把它们全部注释掉,而有些时候又希望把它们全部恢复回来。这是个简单的例子,可以使用
^/(.*/)/(//*/)/(.*mytrace.*/)/(/*//)___FCKpd___6nbsp;==> /1/3
选择美丽的界面享受工作 字体选择
在 SI 中样式是可以被继承,如果要从根本上改变字体,最简单的方式就是直接修改根样式中的字体,因为其它样式
都会由此继承而来。选择 Options/Document Options
页面内的 Font Options 中的 Screen Fonts 字体,即可
改变根样式中的字体 。SI 中的默认配置为 Verdana 字体, 是一种非等宽字体, 为了使编写的代码在各种编辑器中看
SourceInsight 一些使用技巧
2009-08-18 07:26 2798 人阅读 评论 (1) 收藏 举报
源: http://blog.csdn.net/Jupin/archive/2007/10/19/1832536.aspx
(精简版)
开胃菜 - 初级应用 Source Insight 常用的快捷键:
Ctrl+F
本文件内查找。
F3
本文件查找结果的上一个。
F4
本文件查找结果的下一个。
F7
打开 Browse Project Symbols
窗口,快速浏览工程内标识定义 。
Ctrl+M
创建或查找书签,方便下次找回此位置。
自定义快捷健
选择 Options/Key Assignments 荐的有如下几个快捷键定义:
在弹出的 Loopup References 窗口进行查找操作。在 Search Method 中有四种可选的查找方式: Simple
String 、Regular Expression 、 Keyword Expression 和 Look Up Reference 。其中 Simple String 是最普
#else /* 其它设备执行代码 */
#endif
如果确定我们当前分析的是 DEV1 的执行情况 ,那么可以选择上下文件菜单的 Edit Condition 选项,在弹 出的 Conditional Parsing 窗口中把 DEV1 的值设置为 True ,那么 #ifdef DEV1 就等价于 #if 1 了,相当注 释掉了 #else 分枝的代码。反之,设置为 Flase 时,则注释掉 #ifdef DEV1 分枝的代码。
列操作
虽然开篇时就说过, SI 的列操作功能比较弱,但不等于没有。先按下 可以删除指定的列。
Alt 键,接着就可用鼠标进行列选择,然后就
无名技巧
这里介绍一些小技巧,大多数情况下我们可以无视它们的存在。但如果我们知道这些,某些时候,会有效提高工作 效率。
Smart Rename 在上下文件菜单中选 Smart Rename 或按 Ctrl+' 组合键,即可弹出 Smart Rename 窗口。它有很强大的功 能,但最便捷的使用方式是更改函数内局部变量的名字,操作只作用于函数内部,速度非常快。 Renumber 使用 Ctrl+R 将弹出 Renumber 窗口,这个用于处理数字顺序排列的情况相当有效,比如数组下标。例如现 有代码
小技巧 - 中级应用 查找与替换
在 SI 中支持多种查找及替换方式,除了上文提到的文件内查找外,还支持工程范围内查找、目录查找、指定多文件 查找等等。
查找
1. Loopup References
我们最常用的一种查找方式是选择 Search/Lookup References 或按 Ctrl+/ 组合键再或者鼠标点 R 按钮,
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+, :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
任意不属于集合 abc 的单个字符
*
前面字符的 0 个或多个重复
+
前面字符的 1 个或多个重复
/t
一个 tab 字符
/s
一个空格符
/w
一个空白符 (包括 tab 符和空格符 )
$
行的结束部分
表达式中的组
在执行替换操作时,组将大有用武之地。正则表达式的各个部分可以用
/( 和 /) 进行分隔,分隔得到的每一项就是一个
把它们恢复回来,而使用
^/(.*/)/(mytrace/)/(.*/)___FCKpd___7nbsp;==> /1/*/2/3*/
则完成把它们全部注释掉。
附录 2-SI 中的宏语言
我始终认为这是 SI 中最有趣的部分,这是一种功能强大的编程语言,几乎可以实现在编程过程可能使用到的各种功
几乎完全一致,它们各自保存上次搜索的配置。
替换
1. 单文件替换
选择 Search/Replace 或按 Ctrl+H 组合键,在弹出的 Replace 窗口进行查找操作。在 Search 项目里勾选
Selection 则仅对当前选中的文档部分进行替换。另外如果勾选了
Confirm Replacements 则是逐个确认替
通的查找方式,可以查找文件中出现的任意字符或字符,甚至可以查找
_upap || u 这样的字符串,但是在工
程较大时,查找过程会较慢。 Regular Expression 查找方式将在后面讲述正则表达时会介绍到,这里暂时按
下不表。 Keyword Expression 和 Look Up Reference 查找的结果基本相同,但是显示方式略有差异。这两
定把 /(abc/)/(xyz/) 替换为 /2/1 的替换规则时,对于 abcxyz 被替换串,则组 1 包含 abc ,组 2 包含 xyz ,而替换后
的内容定义为组 2 内容后跟组 1 内容 (/2/1) ,因此将得到 xyzabc 。举个真实的使用例子,相信会增加大家的兴趣。
有时为方便调试,代码中到处流浪着各种形式的
,在弹出的 Key Assignments 窗口中可自由添加自己喜欢的快捷键。比较值得推
Edit: Drag Line Down 光标当前行下移。 Edit: Drag Line Up 光标当前行下移。 Edit: Join Lines 当前行和下一行连接成一行。
更多的快捷键
如果你正好对 SI 的 Marco 语言 (下文将会介绍 )有研究,那么还可以定义更多有用的快捷键,比如添加文件头、函数 头、注释等 (下文在介绍 Marco 语言时会介绍如何实现 )。
种方式都是使用 SI 预先建立的数据库, 查找起来速度相当快。 但通常这种速度只对在查找标识符时有明显效
果。对于像函数名,变量名等的查找,强烈建议使用这两种方式进行查找。
2. Search Files
选择 Search/Search Files 或按 Ctrl+Shift+F 组合键,在弹出的 Search Files 窗口进行查找操作。在 File
相关文档
最新文档