请教一个关于source insight 教程的使用

您的位置: >
Source Insight学习教程
日 16:29 来源:本站整理 作者:秩名 (0)
  Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。
  作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂, 同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结 构,使得Linux内核源代码的阅读变得尤为困难。
  当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。它们的功能 是非常强大的。比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索 功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文 章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。
  为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是&师以长夷以制夷&吧。但是在 Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩 色显示。于是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从 /上 边下载30天试用版本。由于Source Insight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在 linux平台上将/usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。
  下面主要讲解如何使用Source Insight,考虑到阅读源程序的爱好者都有相当的软件使用水平,本文对于一些琐碎、人所共知的细节略过不提,仅介绍一些主要内容,以便大家能够很快熟练使用本软件,减少摸索的过程。
  安装Source Insight并启动程序,可以进入图1界面。在工具条上有几个值得注意的地方,如图所示,图中内凹左边的是工程按钮,用于显示工程窗口的情况;右边的那 个按钮按下去将会显示一个窗口,里边提供光标所在的函数体内对其他函数的调用图,通过点击该窗体里那些函数就可以进入该函数所在的地方。
  图1 Source Insight界面图
  由于Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,而被我们当成源代码阅读工具使用。所以,为了有效的阅读源程序,首先必须选择功 能菜单上的 &Project&选项的子菜单&New Project&新建一个项目,项目名称可以自由选定,当然也可以选择删除(Remove)一个项目。当删除一个项目的时候,并不删除原有的源代码文件, 只是将该软件生成的那些工程辅助文件删除。设定之后,将会弹出一个对话框如图2,接受默认选择,如果,硬盘空间足够,可以将第一个复选框选上,该选项将会 需要与源代码大致同等的空间来建立一个本地数据库以加快查找的速度。
  图2 工程设置
  点击&OK&按钮,接受选择后,将会有一个新的对话框弹出,在这个对话框里,可以选择将要阅读的文件加入工程,一种方式是通过在File Name中输入要阅读源代码文件的名称,点击&Add&按钮将其加入,也可以通过其中&Add All&和&Add Tree&两个按钮可以将选中目录的所有文件加入到工程中,其中&Add All&选项会提示加入顶层文件和递归加入所有文件两种方式,而&Add Tree&相当于&Add All&选项的递归加入所有文件,可以根据需要使用,就我来说,更喜欢&Add Tree&一些。由于该程序采用了部分打开文件的方式,没有用到的文件不会打开,所以,加入数千个文件也不用担心加入的文件超出程序的所能容忍的最大值, 我就是采用&Add Tree&的方式将Linux2.4内核的四千五百九十一个文件加入的。
  图3 添加文件
  加入文件后,点击一个文件,可以出现使用界面,如图4所示,其中,右边的那个窗口(Linux Project,即工程窗口)缺省按照字母顺序列出当前工程中所有的文件。
相关技术文章:
相关资料下载:
技术交流、我要发言
发表评论,获取积分! 请遵守相关规定!提 交
编辑器业界动态
编辑器技术应用
编辑器资料下载Linux下有没有类似SourceInsight的代码阅读工具?
希望能快速查看常量声明,函数声明,宏展开。
按投票排序
同意苏子的说法,我的配置稍有不同,vim+cscope+minibufexp+taglist+netrwcscope : ,用于各种Symbol的搜索和跳转,包括但不限于源文件名,函数,变量,宏,结构体定义。minibufexp : ,打开多个文件时的标签式管理。taglist : ,文件的Symbol列表netrw :
(),目录树浏览。Screenshot:
更新:写了一个脚本,完整精确导入Linux Kernel u-boot编译过的Source文件与依赖的头文件到SourceInsight与Understand与SlickEdit。脚本解析make过程中间产生的文件依赖关系,完整的找到所有被包含的头文件与.c文件,以及依赖的头文件。以后还会添加Eclipse的支持。 可以方便大家在查看Kernel与Uboot代码的时候创建工程。-----------------------------------------------------------------------------原来回答-----------------------------------------------------------------------------如果不想用其他软件,完全可以直接用Wine + Source Insight。列出几个跨平台(Windows/Linux/MacOS)的类似软件:Understand:生成的函数调用图蛮有用的,代码检测和代码密度功能,很好用 SlickEdit:编辑是很棒的,这方面远超SIEclipse:中规中矩,如果商业软件管理严格,推荐这个这些软件各有各的优势,就个人经验,我一般查看Linux Kernel/U-boot代码,偶尔是整个OS的代码,Source Insight和Eclipse才是好的,其他的软件Tag Index性能和效率实在太差,且不说生成的Tag文件&1GB,关键是软件响应很慢,这个无法接受。如果你需要添加的文件少,那么这些软件都可以。你可以都尝试一遍。这些软件都有你期望的功能。还有一点,在Ubuntu12.04上面,SI的菜单经常无法用鼠标点击,这个在Wine的官网有对应的Bug票。但是可以使用快捷键来替代。例如Alt + W为窗口菜单。在更高版本的Ubuntu/Wine上面,这个Bug似乎已经解决了,但我没有验证,只是看到其他人用的时候没有这个问题。另外我也用Vim,在编辑的快速和便利方面,Vim是最棒的,对我而言,对服务器ssh登录编辑而言,也有很多人用emacs和Sublime。你可以从我的github上clone配置好的Vim:git clone
vim + ctags + cscope + taglist
有类似的,但是 Windows,Mac,Linux 没见过比 SourceInsight 更强大的代码工具了。可惜 SourceInsight 的编码太蛋疼了。我用的是:Emacs + etags + xcscope + helm 虽然没那么强大,但是基本上日常用足够了。
建议慢慢适应vim,我的vim插件:
看代码还是用IDE,个人习惯。用Jetbrains家的一系列都可以。
给大家推荐一个好用的“读代码”利器:图片来自:图片来自:,这是个 windows 界面,但这个软件是 java 编写的。实际上这不是一个专门的代码阅读软件,而是一个桌面搜索引擎,你可以把任意文件目录添加到 df 中生成数据库,然后就可以像使用 google 一样搜索文件名和里面的内容。由于源代码纯文本的性质,是非常适合使用搜索引擎辅助阅读的。自从有了这个东西,在不需要调试的情况下,我现在都不喜欢用 VisualStudio、Eclipse 这类 IDE 看代码(不过VS 2015 的 Peak Definition 功能确实挺酷炫)。SourceInsight 更是压根就没打开过。为什么说搜索引擎比带 parser 的 IDE / 阅读器更好用:支持所有文件,当你搜一个关键词时,不光能搜源代码,文档、readme 等等,全给你搜到。跟具体语言无关,all in one,你永远不需要考虑什么项目使用什么工具,如何建立工程等问题。虽然你需要在搜索结果中辨认有效的信息,精确性受影响,但是在这个过程中你会了解到额外的信息,这对理解源代码是很有用的。免费、开源,无需破解。比 grep / ctrl+f 好在哪里:全文索引是被缓存的,比 grep 快。由于不需要打开文件,显然也比 ctrl+f 方便的多。完备的预览和关键词高亮功能。比如关键词在网页里,你单击结果就可以直接预览网页。比其他桌面搜索工具好在哪里:可以生成局部索引。我硬盘里大部分内容是不需要索引的,局部索引节省了时间和空间。为什么不用 vim:我之前曾经提过一个问题,关于“为什么我就是学不会 vim”。后来因为工作原因使用 shell 的时间多了起来,我现在用 vim 写代码问题不大了,但太复杂的功能说实话还是折腾不了,也没有意愿。尤其是涉及到多种语言,多种文件,多个项目的场合,vim 还是洗洗睡吧,我伺候不了。
为什么没人提 Source Navigator 和source insight 类似的软件,但肯定比不了我平常是用vim+cscope+tagbar,不过熟练才顺手
没人知道understand这个软件吗?mac linux win都有客户端,全是推荐vim+插件的
不要犹豫了,使用Eclipse系列。
已有帐号?
无法登录?
社交帐号登录Source Insight基本使用和快捷键
  为什么要用Source Insight呢?貌似是因为比完整的IDE要更快一些,比较利于查看大量的代码。
  软件的安装很简单,设置好安装目录。
  配置好文档路径,当然这个也可以在Options里面改,选Options-&Preferences&里面的Folders标签就行。
Project的建立和工作区域
  在菜单中选择Project-&New Project&可以建立新的工程,自定义工程名,选择保存路径,然后新建。
  新建确定之后,在接下来的菜单中,需要选择Project Source Directory: the main location of your source files. 比如我可以选最新的Android API 19的源码目录。
  选定之后会出现Add and Remove Project Files的对话框,这时候可以选择刚才目录中的文件,然后添加进来。
  Load完成之后close对话框就可以了。可以加不同路径的代码进来。
  完成之后,Project Window就出现在右边了,点击其中任意一个文件,内容就显示在中央编辑区域了。左边是Symbol Window,可以快速定位函数、变量定义等。下面是Context Window,显示有用的上下文相关信息。可以通过View菜单调出或者关闭各种窗口。比如Relative Window可以显示出方法中调用的方法。
  在编辑区域中,键盘按下Ctrl,用鼠标单击变量或方法时,会跳到变量或方法的定义。
  如果某个变量或者方法是黑色字体表示的,说明它还没有被定义。
  当然有时候也不是因为没定义,需要同步一下,Project-&Synchronizing Files。
  可以选中一个变量,然后右键,Jump to Definition,跳转到定义。
  当然,上面提过,也可以直接Ctrl+鼠标点击。
  在编辑区域内选中变量或者方法,过一两秒,Context Window会自动显示定义。
  选择一个变量或方法后右键Lookup References&就可以进行查找。
  查找结果显示在一个框里,点击每条查找结果前面的红色标记(两个红色的相背的三角形),可以该条结果对应代码文件,进入代码编辑状态;再点击代码中的查找对应行开头的红色标记可以转回查找结果页面。
  工具栏上有相应的图标进行上一条和下一条的跳转。
  Lookup References弹出的对话框里可以进行查询的选项配置。比如是否大小写敏感,是不查找注释还是只在注释里查找。
  另外Search Method也可以选是字符串、正则、关键字、还是引用类型。
  这个是针对方法的,选中方法名,然后右键Jump to Caller,如果只有一次调用,则直接跳转,如果多次调用,则显示一个列表框,选择一项就会跳转过去。
  文件中的查找可以通过菜单Search。
Source Insight常用快捷键
  1.Ctrl + 鼠标单击 进入定义.
  2.Alt + F12可以切换,让字符宽度变得一致,或者是大小不同地显示。
  3.Shift + F8 标亮文本中光标所在的单词。
  4.Ctrl + G (或者F5) 跳转到某一行。
  5.Ctrl + O 搜索文件,找到回车打开,找不到ESC退出
  6.Alt + G (或者F7) 打开Symbol Window.
  7.Alt +, 后退;Alt+.前进.
  8.Ctrl + F 查找关键字。
阅读(...) 评论()source Insight工程的建立步骤_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
source Insight工程的建立步骤
上传于||文档简介
&&M​T​K​开​发​常​用​工​具
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
你可能喜欢source insight怎么让一整块代码忘左缩进_百度知道
source insight怎么让一整块代码忘左缩进
注意是往左,不是往右!
提问者采纳
按下Shift按键后再按TAB键进行的就是左缩进,比右缩进正好多了一个Shift按键。
提问者评价
其他类似问题
为您推荐:
左缩进的相关知识
其他1条回答
他也会如何
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 source insight的使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信