【工具】source insight4的使用方法整理|sourceinsight加快搜索速度
目录
9.删除注释时半个汉字问题(删除一个汉字,汉字没有了,但会多出一个问号?)
sourceinsight下载地址:
https://download.csdn.net/download/carl361133244/10543661?utm_source=bbsseo
source insight的使用方法逆天整理-http://www.cnblogs.com/ningskyer/articles/4038501.html
本文连接:http://t.csdn.cn/24wIs ,不断更新ing
基本用法
============================================================
Source Insight 入门使用 - https://www.wpgdadatong.com/cn/blog/detail?BID=B0733
官网说明书:Source Insight 4.0-https://www.sourceinsight.com/doc/v4/userguide
1、新建工程
看代码:
新建工程——>命名工程——>设置源码目录——>OK
2、设置
设置字体背景之类:
Options->Preferences
3、使用方法
1.函数和变量无法关联跳转
source insight4.0 建立工程添加文件后,函数和变量无法关联跳转
1.同步Project->Synchronizing Files
如果某个变量或者方法是黑色字体表示的,说明它还没有被定义。
当然有时候也不是因为没定义,需要同步一下,Project->Synchronizing Files。
重建:project->rebuild project 重建
解决办法:
project >
Synchronize Files>start
解决函数间的关联
没有同步文件,在“项目”(Project)->“同步文件”(Synchronize Files)。并勾1、2和5项,然后OK。就可以了
把工程重新build一下,应该在project菜单下
project-rebuild project
2.查看定义
1、Ctrl + 鼠标单击变量或方法。
2、右键-->Jump to Definition,跳转到定义。
当然,上面提过,也可以直接Ctrl+鼠标点击。
3、在编辑区域内选中变量或者方法,过一两秒,Context Window会自动显示定义。
Ctrl+F :本文件内查找
3.查找引用
选择一个变量或方法后右键Lookup References…就可以进行查找。
add all add tree的区别
“Add”:将选择文件加入工程,
“Add All”:会提示加入顶层文件和递归加入所有文件(“Add Tree”)两种方式
“Add Tree”:递归加入所有文件
可以根据需要使用,就我来说,更喜欢“Add Tree”一些。由于该程序采用了部分打开文件的方式,没有用到的文件不会打开,所以,加入数千个文件也不用担心加入的文件超出程序的所能容忍的最大值,我就是采用“Add Tree”的方式将Linux2.4内核的四千五百九十一个文件加入的。
4.查找调用
这个是针对方法的,选中方法名,然后右键,Jump to Caller,如果只有一次调用,则直接跳转,如果多次调用,则显示一个列表框,选择一项就会跳转过去。
5.查找类
在点击 symbol窗口,显示出类,然后在类窗口右键,选择“search List”,然后在弹出的窗口输入想要搜索的类,点击OK搜索。
6.高亮
括号配对高亮:
“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间)
高亮选中单词:
F8
可以更改:(1)选择“options->key assignments"
(2)找到高亮的命令view:Highlight Word ,可以看到默认的快捷键是F8;
(3)点击“Assign new key”,分配新的快捷键。
(4)用鼠标选中想要高亮的字符,按刚才的快捷键,即可让对应的字符高亮,再按一次刚才的快捷键,高亮消失。设置成功。
选中自动高亮:
> 菜单 Tools -> File Type Options (Alt + Y) -> Hightlight references to selected symbol
更多精细的设置:source insight4点击变量高亮设置 - 暴风城 - 博客园
SourceInsight4.0的高亮快捷键无法使用问题:
4.0之后高亮的快捷键从shift+F8换成了F8,系统中有其他软件占用了该F8快捷键。我是有道词典占用了该快捷键(取词功能)。关闭有道词典之后就OK了,或者修改快捷键。
7.设置快捷键
选择“options->key assignments"
8.字符大小不一
方法1:选上"view --> draft view", 就可以让每个字符的宽度一致了。快捷键是 "Alt + F12"
方法2:解决中文注释字体间距太大:
(1).Options->Style Properties
(2). 在左边Style Name下找到Comment Multi Line和Comment.在其右边对应的Font属性框下的Font Name中选“Pick...” 设置为宋体、常规、小四。确定,退回Style Properties界面,Size设为10。最后设置Clolors框下Foreground,点“Pick...”选择一种自己喜欢的颜色就OK了
注:以上方法1为通用设置,方法2中可以设置注释字体以及字体大小!
9.删除注释时半个汉字问题(删除一个汉字,汉字没有了,但会多出一个问号?)
方法:
① 将 SuperBackspace.em 复制到 Source Insight安装目录;
② Project→Open Project,打开Base项目;
③ 将复制过去的SuperBackspace.em添加入Base项目;
④ 重启SourceInsight;
⑤ Options→Key Assignments,将Marco: SuperBackspace绑定到BackSpace键;
⑥ Enjoy!!
加快查找速度的方法
============================================================
1、符号搜索project symbols
适合搜索函数定义和符号
在右边栏窗口,点击“project symbols",搜索框输入要查找的函数/符号,然后在列出的结果中点击对应的文件内查到的符号即可。 (注意“project symbols"标签可能会隐藏,需要点菜单栏的 小书本符号 让他显示出来)
2、缩小筛选范围(推荐)
1)只搜索C/C++文件
一般我们搜索基本都是搜索C/C++的内容 ,只搜索C/C++加快速度
2)只查找在Project files面板中被选中的文件
如,在search in:选择files selected Project files Panel。即只查找在Project files面板中被选中的文件。然后在Project files窗口,按shift+左键选择要在哪些文件里面查找即可。
3)选择目录中的文件查找 SearchFiles 查找文件
Ctrl+Shift+F组合键,选择要查找的目录。注意如果目录里面有子目录且也要搜索子目录,就要把“include subdirectories”也勾选上
3、选择查找参数
匹配方法search method:
Simple String:简单字符匹配<---查找到的可能只是名字相同,慢
Regular Expression:正则表达<---查找到的可能只是名字相同,比较快
Look Up Reference:数据库查找 <---查找精度高,查找到的确实是该函数被调用,慢
KeywordExpression:可多个关键字组合查找<---查找到的可能只是名字相同,快
各种匹配方法的选项Options:
whole wordsonly : 全字匹配查找
casesensitive : 区分大小写
projectwide : 项目内查找
includesubdirectories : 包含子目录查找
skip inactivecode : 跳过无效代码查找
skipcomments : 跳过注释查找
search onlycomments : 仅在注释在查找
详情见:
查找参数:
whole wordsonly : 全字匹配查找
casesensitive : 区分大小写
projectwide : 项目内查找
includesubdirectories : 包含子目录查找
skip inactivecode : 跳过无效代码查找
skipcomments : 跳过注释查找
search onlycomments : 仅在注释在查找
Smart Reference Matching 智能参考匹配(匹配精确的参考会减慢参考查找过程)
这将启用 Source Insight 的智能参考匹配功能。 Source Insight 将确定找到的每个引用是否实际上是指您正在寻找的符号。
智能参考匹配选项意味着搜索结果将只包含对您指定的确切符号的严格引用。例如,如果您选择结构的一个成员并查找其引用,搜索结果将仅包含对该特定结构的该特定成员的引用——而不仅仅是任何等效的字符串。请注意,此选项会减慢进程的速度,因为每个相同字符串的出现都必须使用符号查找进行限定。(但实践的结果是Look Up Reference如果不勾选Smart Reference Matching查不到结果)
Touch files and cause recompile (Touch文件并导致重新编译)
打开此选项可使每个文件的“上次修改”时间戳设置为当前时间。如果您对标识符使用有编译时依赖性,这将很有用。只需打开它并使用此命令搜索参考即可。引用标识符的位置将被“触及”,并且您的 make 程序或开发系统将在您下次构建程序时重新编译这些文件。
注意:勾选 Smart Reference Matching 智能参考匹配 会减慢查找过程
匹配精确的参考会减慢参考查找过程(实践的结果是Look Up Reference如果不勾选Smart Reference Matching查不到结果)
关于“Smart Reference Matching”见后文。
4、选择合适的查找方式
1、Search/Lookup References(按Ctrl+/组合键/鼠标点 R按钮)
四种可选的查找方式:
Simple String:
可以查找任意字符或字符,甚至 _upap || u这样的字符串;实时查询,最慢。
Regular Expression:正则表达
正则表达式是特殊的搜索字符串,可用于匹配复杂的模式。可以用于匹配查找、模糊查找,如:perf_msgr_* 查找perf_msgr_开头的字符串
Look Up Reference:数据库查找
使用SI预先建立的数据库进行查找,速度相当快。但通常这种速度只对在查找标识符时有明显效果。对于像函数名,变量名等的查找,强烈建议使用种方式进行查找。
(实践的结果是Look Up Reference如果不勾选Smart Reference Matching查不到结果)
KeywordExpression:可多个关键字组合查找
就像网络搜索引擎(百度、谷歌)一样工作,可以多个关键字组合和表达式,如:
如果您键入“cat food”,则 Source Insight 将在彼此的 X 行内搜索“cat”和“food”的出现。
关键字之间有一个隐式的逻辑与运算符。也就是说,如果您键入多个关键字,则必须同时存在这两个关键字才能符合匹配条件。您也可以包括其他布尔运算。下表列出了可用的运算符:
Operator | Example | Action |
AND or + | cat and dog | Both terms must be present. |
OR | cat or dog | Either term must be present |
NOT | -cat | The term must not be present |
= | =Betty | Case sensitive match |
? "regexp" | ? "^Ich" | Term is a regular expression |
您还可以使用括号对表达式进行分组。例如:
(cat or kitty) and food
(file or buffer) and (save or write) and !error
(结果)内容的行数(Lines of Context)
Keyword Expression搜索方式还能指定关键字必须出现的紧密程度(以行数计)才能符合匹配条件。(显示结果行和附近行的行数)
查找单词和变体(Find word variations)
Keyword Expression搜索方式还可以查找单词和变体, 如果启用,还将查找您指定的关键字的不同结尾形式。例如,如果您指定关键字“open”,还会查找“opens”、“opened”或“opening”。
search project:
search project是 lookup renfences 一个具体实例(也就是 lookup renfences选择了Keyword Expression搜索模式和选择了特定搜索参数)
Find Word Variations
如果您启用了“Find word variations”选项,那么 Source Insight 还会查找您指定的关键字的不同结尾形式。例如,如果您指定关键字“open”,还会找到“opens”、“opened”和“opening”。这与键入以下表达式具有相同的效果:(open or opens or opening)
Word variations应用于每个关键字词。例如,如果您指定:
save write
这意味着必须存在"save" and "write" 。启用单词变体后,此搜索将等效于:
(save or saves or saving) and (write or writes or writing)
Find Word Fragments
如果您启用了“Find word fragments ”选项,则 Source Insight 将搜索名称或单词片段。例如,如果您指定关键字“open doc”,Source Insight 将匹配出现的标识符,例如 OpenDoc、DocumentOpen、IsDocthingOpened 等。
这是一种非常强大的搜索类型。如果您的项目使用相当一致的命名约定,您可以搜索对多个子系统的组合引用。
一些例子:
Find String | Typical Matches |
open | DocOpen, HTMLOpen, FileOpenReadWrite |
ip open | IpOpen, OpenIp, OpeningIp, IpsecOpen |
doc save remote | SaveDocToRemote, IsDocSavedOnRemote |
Up Lookup References有几个选项会影响其速度。
Smart Reference Matching option选项意味着根据上下文搜索结果将只包含对你指定的确切符号的引用的匹配(搜索更准)。这个选项会减慢搜索速度,因为找到相同字符串就通过符号解析查询来确定是不是你要的符号 还是仅仅是同名。如果你关闭这个选项,它就会像Source Insight的2.x版本那样工作。
Skip Comments 和Search Only Comments options 也会使搜索速度减慢一些。
官方提供加速教程
Speeding Up Program Features https://www.sourceinsight.com/doc/v3/af916739.htm
加快语法格式化
在浏览对话框中加快打字速度
加快构建和同步项目
加速关系窗口
加速自动完成
加速 .Net Framework 自动完成
加速搜索文件
加快查找引用
加快 Building 和Synchronizing Projects
https://www.sourceinsight.com/doc/v3/af916791.htm
- 在项目设置Project Settings, turn off Quick browsing for symbol syllables。这个索引选项使用了大量的内存,并减慢了索引的进程。
- 在项目设置Project Settings, turn off Quick browsing for member names。这个索引选项也会使用大量的内存。
- 减少添加到项目中的文件类型的数量。默认情况下,Source Insight带有许多定义的文件类型,如Visual Basic文件,和ASP文件。如果你的源代码树中有这样的文件,但你不需要对它们进行处理,那么就从你的项目中删除它们。你可以通过运行 "file type options " 并取消勾选 "Include when adding to projects"的复选框,将这些文档类型从你的项目中永久地排除出去。
- 把你的项目分成小的项目。如果你想在项目之间仍然使用 "跳到定义 "命令,你可以把 "子项目 "添加到项目符号路径中,该路径在 "首选项 "中定义。符号查询 "对话框中定义。
附录:Source Insight常用快捷键
跳转到定义:ctrl + =
后退 Alt +,
前进 Alt+.
限定范围查找:ctrl+shift+f
本页查找:ctrl+H 或ctrl+F ;F4上一个,F3下一个
替换:ctrl+H
2.Alt + F12(实践:字体加粗、行加大)
3.Shift + F8 标亮文本中光标所在的单词。(实践是F8)
4.Ctrl + G (或者F5) 跳转到某一行。
5.Ctrl + O 搜索文件,找到回车打开,找不到ESC退出
6.Alt + G (或者F7) 打开Symbol Window.
8.Ctrl + F 查找关键字。
9. Ctrl + Shift + F 全工程查找关键字
F3
本文件查找结果的上一个。
F4
本文件查找结果的下一个。
Ctrl+M
创建或查找书签,方便下次找回此位置。
1.Ctrl + 鼠标单击 进入定义.
报错记录
Symbol not found
1、确保代码文件已经加入到工程中
2、文件同步。Project->Syncronize,然后勾选上Force all files to be re-parsed,点击start开始