作者:网络素材 “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是说是“最好的之一”绝对是妥妥的。它以丰富的语言支持、便捷的功能、快速的源码导航、实时的上下文显示、独立的符号数据库等众多优点,在全世界范围内广受程序员们的欢迎。本文将结合笔者的实际操作和学习,基于SI3.5做一些使用记录。另外,笔者对SI的使用,主要是用于阅读源码,本文介绍的功能也是基于阅读方面的。 本文的主要内容如下:一、SI简介 SI是一款面向项目开发的程序编辑器和代码浏览器,它提供了一个视图将分散在各个地方的代码汇合在一起形成一个虚拟的整体,供开发者方便地阅读和编辑,如下图所示。Source Insight was designed to enhance your ability to understand and modify your program. Our company mission is to increase programming team productivity by clarifying source code, presenting information in a useful way, and allowing programmers to modify software in large, complex projects. ……Source Insight acts as an information server that surrounds your project’s source code. With it, you can have instant access to symbolic and textual information in your program. 该段英文摘自SI官方帮助文档,从这里可以看出SI的设计宗旨就是方便开发者查看和修改项目源码。二、SI的优势 SI是如今最好用的语言编辑器之一,具有很多其他编辑器无法比拟的优点,比如下面几点。 1、支持语言种类多。 SI几乎支持所有的语言,如C、C++、C#、JAVA、ASM、PAS、ASP、HTML等,而其它编辑器往往只支持其中某类或某几种语言,丰富性远不及SI。2、拥有自己的数据库。 SI自动传创建并维护他自己高性能的符号数据库,包括包名、函数、method、全局变量、结构、类、注释和功能源文件里定义的其它类型的符号等。我们可以通俗地理解为缓存,当需要再次查找某个符号时,就可以直接从数据库中查找,而不用在整个源码库中搜索,极大提高了效率。3、显示丰富的程序相关信息。SI提供了丰富多彩的窗口,为被选中的代码提供丰富的信息,如reference trees、class inheritance diagrams、call tress,symbol windows等。后面会专门介绍这些窗口的使用。 4、实时显示上下文信息。SI提供了Context Window,当鼠标选择代码中的某个符号时,该window会实时显示选中符号的上下文信息。在下文中的Context Window会详细讲到。甚至在你编辑的时候,SI同时分析你的源码,提供实时的信息并进行分析。 5、快速。提供了快速和革新的访问源代码和源信息的能力,能以最快的速度对源代码导航和提供任何程序编辑器的源信息。参考资料:Source Insight 百度百科 三、创建项目在SI窗口的顶部工具栏上依次点击 Project > New Project,即可开始创建一个新的项目了。之所以要特别介绍项目的创建过程,除了这是一个极常用的操作外,还有就是创建过程中有一些注意事项需要留心,笔者在使用过程中就曾经走过不少弯路,在这里特别记录一下。1、项目命名及设置项目存储路径2、项目设置如下图,在红框部分选择需要打开的源码所在的路径,笔者最初使用的时候,就忽略了这里,导致在后面的步骤中,找不到源码,一度以为是SI版本异常了,所以这里特别提醒一下。其它的选项这里就按照默认的选择就可以了,笔者就是这么做的。当然,这个要根据用户自己需要来选择了,看个人喜好。 3、添加/删除项目文件在这个界面上,可以看到左侧“Directory”这一栏的根节点,就是第二步“项目设置”中咱们选择的源码路径所在的盘符,如果你要添加的源文件不在这个盘符,就没法找到了。在该盘符下选择想要添加的文件,如蓝色部分“Android-8.0.0_r1”,这是Android 系统源码根目录,因为这里选择的是文件夹,所以点击右边的“Add Tree”来添加整个目录。如果选择的是文件,多个文件就选择“Add All”,单个文件就选择“Add”添加时会给出对话框,表示正在添加。笔者添加的源码目录有4G以上,所以这时需要等待好几分钟的时间。添加完成以后,可以看到对话框提示,点击“确定”即可,此时可以继续添加项目文件。4、完成项目创建当不需要再添加文件了,点击“Close”按钮关闭该界面,即完成了项目的创建。此时显示的界面如下,左下区域显示的就是新建的项目,列表显示了项目中文件。四、常用窗口SI的用户接口主要包含如下几种类型:(1)顶部主要菜单和工具栏;(2)用于编辑的源文件窗口;(3)可停放或浮动的工具窗口。 由于SI是一个MDI(Multiple Document Interface,多文档接口),这意味着每一个你打开的源文件都拥有它自己的子窗口。在这一节中,将主要介绍主要菜单和最常用到的9个应用窗口。下图展示了主界面常用窗口概貌:1、主菜单(Main Menu)和其他所有编辑器一样,主菜单栏包含了所有编辑器功能的入口。每一类功能又都分类到某个子菜单中,这一点自然不用多说,地球人都知道,就不一一展示每个子菜单和功能点界面了,一些常用和重要的操作,咱们后文详细介绍。 从上图可以看到,分类其实是非常简洁和明确的,看子菜单名称大概就能知道其中包含了哪些功能,很方便查找。这里笔者着重推荐一下“Help”子菜单。无疑,官方的帮助文档,是最权威,最全面的,如果英文不是太差,对某些功能不是太明白的话,完全可以从这个文档中去查找,笔者看过其中不少说明,其实还是很容易看懂的。如下为官方帮助文档概貌,内容还是比较全面的:2、工具栏(Toolbars)工具栏列出了不少比较常用的一些功能快捷按键,这个也是地球人都知道的吧。如下显示了SI设置的所有快捷工具图标。(1)显示/隐藏工具栏点击菜单栏View子菜单栏,点开Toolbars,就可以看到工具栏显示选择界面,可以在这里选择显示/隐藏哪些工具,如下图所示。也可以右键点击SI窗口顶部或工具栏空白处,也可以显示下图界面。 (2)工具栏工具简介把鼠标停留在工具栏的图标上,会简单说明该工具的作用。咱们下面简单看看工具栏都包含了哪些功能,做到心中有数,这有助于以后快速定位到某些功能的入口而不用每次都到菜单栏中去找,少走一些弯路。 1)标准工具栏(Standard Toolbar):包含了基本的文件操作 2)编辑工具栏(Edit Toolbar):包含一些基本的编辑操作 3)搜索工具栏(Search Toolbar):包含了一些搜索命令 4)导航工具栏(Navigation Toolbar):包含了一些界面导航功能。 a)Go To Previous Link / Go To Next Link:在搜索结果界面,用于跳转到前一个/后一个结果的链接。b)Go Back/Go Forward:回到上个/下个操作界面;c)Go To Line:跳转到某一行d)Bookmarks:添加书签,或定位到书签处。鼠标光标停留在编辑窗口的某一行,点击该按钮,会显示如下界面。可以选择在“Name”处输入书签名并点击“Set”按钮,新增一个书签;也可以在“Marks”处显示的书签列表中选择一个书签,双击或者点击“Go To”按钮,就可以跳转到该书签对应的代码处了。对于要经常查看某处代码,这个工具算是相当给力了。5)符号工具栏(Symbol Toolbar):用于访问一些符号信息(这里说的符号,前面第二大点第2小点讲过其含义了,不明白的可以返回去看看)。 a)Jump To Definition:跳转到选中的某个符号定义的地方。其实当在编辑器中用鼠标选择某个符号,如果打开了“Contex Window”的话,可以在“Context Window”中实时看到该符号的定义处,这个后面讲到该窗口时再详细讲,这里不赘述。b)Symbol Info:弹出对话,显示选择的符号的相关信息,以及一些操作按钮,如下图所示。可以看到上面“Jump To Definition”是这里的一个小功能。 c)Browser Project Symbols:可以查看整个项目中的符号列表。 d)Look up References:显示该符号被引用的地方。会弹出一个对话框,根据选择的搜索条件进行搜索,显示一个搜索结果窗口列出这些引用信息(由于该该窗口尺寸原因,这里不好显示,就不贴图了)。其实在“Relation Window”中,也会实时显示这些应用列表的,这个后面在讲该窗口时会详细讲,这里就不赘述了。 6)窗口工具栏( Window Toolbar):用于控制窗口的排列7)帮助工具栏(Help Toolbar):访问帮助文档。 点击“Help Mode”后会出现一个“?”,将其拖到你想寻求帮助的地方,就会显示该处相关的帮助文档。 8)视图工具栏(View Toolbar):开启/隐藏常用的几个窗口,后面会专门对这几个窗口做介绍。 9)构建工具栏(Build Toolbar):运行和编译项目。 10)版本控制工具栏(Source Control Toolbar):包含了操作版本控制的相关工具。 3、源文件窗口(Source File Windows) 源文件窗口,可以称作是SI的主角了,因为源码都显示在这个窗口,可编辑,可同时打开多个窗口,在左上角红框处显示了源文件文件名和路径。 在源文件窗口选中某个符号并点击右键,会显示一个功能菜单,可以对源文件进行操作,如下图所示: 这些功能有些是基本操作,有些是“见名思义”,一看就知道功能,有些在前面介绍工具栏的时候介绍过,这里就不再一一说明了,仅选择性简单介绍几个:
Highlight Word 将文件中所有所选单词高亮显示,再次点击会取消高亮。比如截图中选择“reason”并高亮,文件中的所有“reason”这个单词都高亮了。另外,这个功能对注释区无效。
Special Window Color/Remove Special Window Color 设置和取消编辑窗口的背景颜色。
1,微软下载免费Visual Studio Code2,安装C/C++插件,如果无法直接点击下载, 可以选择手动install from VSIX:ms-vscode.cpptools-1.23.6@win32-x64.vsix3,安装C/C++编译器MniGW (MinGW在 Windows 环境下提供类似于 Unix/Linux 环境下的开发工具,使开发者能够轻松地在 Windows 上编写和编译 C、C++ 等程序.)4,C/C++插件扩展设置中添加Include Path 5,