这篇文章并不介绍 Source Insight 的具体使用方法,这类教程网上有很多,这里只分析 Souce Insight 工具栏图标的功能。
Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。
Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息。 Source Insight提供了快速和革新的访问源代码和源信息的能力。与众多其它编辑器产品不同。
Source Insight是如今最好用的语言编辑器之一,支持几乎所有的语言, 如C、C++、ASM、PAS、ASP、HTML等常见的,还支持自己定义关键字,Source Insight提供了可快速访问源代码和源信息的功能。
Source Insight自动创建并维护它自己高性能的符号数据库,包括函数、method、全局变量、结构、类和工程源文件里定义的其它类型的符号。Source Insight 可以迅速地更新的文件信息,即使在编辑代码的时候。而且符号数据库的符号可以自动创建到的工程文件中。——百度百科
本文讲解的”工具栏“位与 Source Insight 窗口第二行,这些功能按钮几乎覆盖了 Source Insight 的所有查阅代码的操作,下面就简单介绍一下各个功能按钮对应的功能。
我可能不会按照从左往右的顺序介绍这些功能,不同版本 Source Insight 的工具栏图标也有一定差别(比如图标位置发生改变,新增图标),所以我会将它们分为几大类来介绍。
这些都是对当前正在编辑的文件的操作(除了新建文件)
创建一个新文件
在当前工程打开或创建一个新文件
保存当前文件
打印当前文件
将选中的文本拷贝到剪贴板并删除原文本
复制选中文本到剪贴板
从剪贴板粘贴文本
撤销崔后一次编辑操作
在撤销操作后,可以使用该命令来恢复最后的编辑操作
查找和替换也是编辑器的基本功能,图标也是很简洁易懂,稍微多看几眼就能记住了。
这个功能还是非常给力的(虽然我只用过Ctrl+F),它可以在指定的文件里查找指定文本,而且查找选项很多,可以高效率解决代码定位问题。
在当前文件中替换文本
当然,点击 “Files…” 也可以实现多文件替换
这个功能作用应该不大,毕竟,大家应该都是在没有网络的环境下使用的 Source Insight。。(懂得都懂)
移动光标位置,这在阅读代码时是很重要的操作,比如在main函数里进入某个子函数时,可以通过返回功能回到main函数。
这里的链接目标指的是搜索结果窗口(后文有介绍)中,每个搜索结果对应位置。其实就和上面的往后查找类似,只不过这里会跨文件查找。
和往前查找类似,只是这里会在不同文件直接跳转者
打开窗口后,点击左下角的新建书签,即可在当前光标所在行添加书签,当然,直接输入 Ctrl+M 也可以打开书签窗口(只不过再输 Ctrl + M 不能关闭窗口)。
这里还有一种高亮方式的定位方式,它并没有对应操作快捷图标,不过可以在右键菜单中找到它们:
高亮文字和高亮引用,在使用时,貌似只能高亮一个单词(不能高亮指定文本),两者作用几乎没有差别,只不过高亮引用貌似不能高亮关键字(这里指 C 语言的关键字),下图中黄色为高亮文字,蓝色为高亮引用。
上一节介绍到的代码定位操作可能你在普通的编辑器上都能看到,但下面几个代码定位操作,可能要在 IDE(Integrated Development Environment )或者高级代码编辑器上才看得到(比如 VS Stduio 、Qt Creator 以及 VS Code)。
显示一个符号定义的弹窗(符号包括函数、变量等)
和跳转到定义处功能一样,都是找到符号的定义位置,只不过后者不会跳转到定义处,而是在一个新的弹窗中显示。
跳转到函数(或标识符)的调用或引用处
搜索指定字段的引用
和之前的查找文件相比,这个查找引用更加强大,它可以在整个工程中查找某一文本字段,选项也是非常多,还可以规定查找的文件类型(比如C/C++,Java)。
窗口布局这种功能我几乎没用过,屏幕太小,基本上是最大化当前操作的代码窗口。
只显示一个当前窗口,其他窗口最小化
只平铺显示两个最近使用的代码窗口
这里主要包含一些项目、符号、上下文窗口的开启或关闭,一般都不是针对某一个代码文件,而是整个项目工程的资源窗口。
项目窗口默认位于代码窗口右侧,里面还包括几个子窗口,分别是工程文件、工程目录、工程符号和工程符号类别,其中工程符号还有一个单独的工具栏图标(下文有介绍)。
项目符号列表位于项目窗口内部,该列表包括代码项目的所有符号,而每个代码窗口左侧也有一个符号窗口,它只包含当前代码文件里存在的符号。下图左侧为代码窗口的符号列表,右侧为项目符号列表:
上下文窗口会把选中文本的上下文单独显示出来。
代码段就是一些语句模板,如 case 语句、for 循环语句、if 语句,个人觉得,没啥用处。
剪切窗口默认存在 Clipboard,我们复制和粘贴时会修改该剪切板的内容,我们也可以自己创建一个剪切板,比如下图我创建了一个名为 “my_clip” 的剪切板。
调转到搜索结果窗口,前提是有搜索结果的窗口(除了普通查找外,其他查找都会出现该窗口,如在多文件查找和查找引用)
窗口列表里的内容是代码窗口中所有的子窗口,
打开或关闭 FTP 浏览窗口,
文件传输协议(File Transfer Protocol,FTP)允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。
FTP 这里就不多做介绍,主要是用来下载其他主机文件的工具,目前我没在 Source Insight 上用过它。
显示或隐藏总览窗格
总览窗格就是下面框中的那玩意:
显示目录比较窗口
比较目录和文件还是用专业工具吧,这里的小工具应该不好用
比较目录和文件还是用专业工具吧,这里的小工具应该不好用
展开和折叠只能操作当前文件
函数方法或者宏条件语句可以选择折叠起来或者展开显示:
折叠所有主概括项,不会折叠子项
例如下面的 1 被折叠了,但子概括项 2 没有折叠:
布局管理是用来加载和保存之前提到的窗口布局的,窗口布局本来我就用得少,这个就更不用说了。
可以将当前窗口布局保存为 Layout A-D,或者保存为一个文件,
可以加载四种快捷布局
从已经保存的布局文件中加载布局
工具栏除了上面提到的图标,其实还有两类,分别是 Source Control 和 Build,不过这两个类操作默认没有在工具栏里显示,需要手动打开:
它们的图标包括:
只不过点击它们基本都会报类似下面的这种错误,提示 “Comand shell program not found”,既然这样我也就不去研究它们了。