Source Insight的使用

落花浮王杯 提交于 2019-12-01 14:44:51

一、Source Insight的6种窗口的使用。

6种窗口的作用:浏览编辑源代码。

使用Source Insight打开一个文本文档后,显示文档的窗口就叫做文档窗口,符号窗口、项目窗口、剪辑窗口、上下文窗口和关联窗口可以在菜单栏-视图中打开。

1、文档窗口

这个窗口使用起来比较复杂,下面一条条来陈述(包括编辑的一些技巧):

(1)、修改窗口颜色属性:菜单栏-选项-参数-颜色标签,可以修改背景颜色、默认字体颜色、修改标记颜色等,如背景颜色改为护眼模式:R199 G237 B204。

(2)、右击文档窗口-文档选项,点击屏幕字体按钮,可以修改字体显示大小。

(3)、右击文档窗口-文档选项-勾选显示行号按钮。

(4)、右击文档窗口-文档选项-解析语言,如C语言,则Source Insight使用C语言解析该文档。

扩充1:Source Insight可以定义风格,菜单栏-选项-风格,即可以打开风格窗口,可以新建一个风格或修改一个风格。风格可以继承(和C++继承差不多)。

扩充2:如何使用风格。当选中某种语言解析文档的时候,可以定义一些固定字符以不同的风格显示出来。菜单栏-选项-参数-语言标签,选中解析文档的语言,点击关键字按钮,打开语言关键字窗口,在样式这一栏选中一种风格,然后添加关键字即可。这样文档中这个关键字就以那种风格显示了。

扩充3:如何查看和修改符号(如函数名、变量等)的风格,右击该符号,选择风格,打开窗口就可以看到该符号的风格是什么,然后进行修改。

(5)、快速更名ctrl+',选中某个函数名,然后按ctrl+',弹出快速更名窗口,然后根据相应的选项,可以快速更换函数名。(包括函数的声明处,定义处,引用处等)。

(6)、Shift+F8,高亮

(7)、ctrl+左击,进入函数定义或变量声明处。

(8)、Alt+,:后退

(9)、Alt+.   :前进

(10)、ctrl+g:调到固定行

(11)、Alt+左击拖动:可以进行列编辑

(12)、扩展制表符(意思是使用空格代替tab):打开文档选项窗口(Alt+T)就可以看到tab由几个空格组成,是否启用扩展制表符选项。

(13)、自动缩进:Alt+T打开文档选项窗口,点击自动选项,选中第三个smart缩进,并把后面的两个勾都去掉,这样配置比较好。可以尝试一下勾上的效果,然后和不勾的效果对比一下。

(14)、后续补充。

2、符号窗口

这个窗口是显示文档的符号的,那么文档内容哪些是符号呢,这个应该是看文档窗口是设置哪种语言来解析文档的,还有如何定义该语言的符号待研究。

(1)、右击符号窗口-属性-符号类型,可以选择显示的符号种类。

(2)、右击符号窗口-属性,可以修改字体、背景颜色等。

(3)、后续补充。

3、项目窗口

这个窗口可以使用各种模式来显示文件名、文件目录等。

(1)、右击窗口-属性,修改字体或背景颜色等。

(2)、后续补充。

4、关联窗口

这个窗口用来显示文档中的符号在哪些地方进行了引用。如哪些地方调用了函数,或该函数调用了哪些函数等。关联窗口可以有好多个。

(1)、右击关联窗口-窗口属性,可以修改字体、背景颜色等。

(2)、右击关联窗口-新建窗口,则可以打开一个新的关联窗口。

(3)、关联窗口的功能修改,右击关联窗口-窗口属性,可以修改对应符号的关系类型,如对于函数选择参考,则该窗口显示调用该函数的地方,选择calls,则该窗口显示该函数调用了哪些函数。

(4)、如何使用该窗口:选中某个函数或变量,关联窗口会自动显示对于内容,如果不想它自己变,就锁上,然后需要找的时候刷新。(锁定、刷新按钮应该可以看到吧)

(5)、后续补充。

5、上下文窗口

这个窗口一般配合关联窗口使用,单机关联窗口的某一项,可以自动在上下文窗口显示该项的上下文,双击上下文内容,则可以在文档窗口打开上下文。

(1)、右击窗口-属性,修改字体、背景颜色等。

(2)、后续补充。

6、剪辑窗口

这个窗口的作用相当于是定义了好多粘贴板的意思。一个剪辑相当于一个粘贴板。

(1)、右击窗口-属性,修改字体、背景颜色等。

(2)、新建、修改、删除一个剪辑。

(3)、如何使用新建的剪辑:菜单栏-编辑-粘贴自剪辑/拷贝到剪辑。

(4)、后续补充。

二、项目管理

1、新建一个项目

快捷键Alt+Shift+N可以打开新建项目对话框,然后根据提示填好项目存储位置,源文件位置等,然后会出现添加删除项目文件对话框,选中自己想要编辑和浏览的文件添加即可,这样就建好了一个项目。

2、添加和删除项目文件

(1)、在添加删除文件前,可以先设置文件过滤器,菜单栏-选项-文档选项,就可以看到文件过滤器了,怎么设置应该是一目了然的。

(2)、菜单栏-项目-添加或删除文件,即可打开添加和删除项目文件对话框。

3、关闭项目、打开项目、删除项目

关闭项目:Alt+Shift+W

打开项目:Alt+Shift+P,在项目列表里选中项目进行打开

删除项目:菜单栏-项目-删除项目

4、同步文件

快捷键Alt+Shift+S可以同步文件,同步文件后就可以自动找到源代码之间的依赖关系了(如:可以自动找到调用某个函数或变量的位置)。

5、项目报告

6、重建项目

三、自定义命令

菜单栏-选项-自定义命令,可以添加一条命令,定义该命令的名字、执行命令语句。

如何运行命令:可以将命令显示在菜单栏(参考第五点菜单分配)或者给命令定义一个快捷键(参考第六点键分配)。

望君举一反三。

1、定义使用gvim打开当前文档的命令,前提是要先安装一个gvim程序。

命令名:editWithGvim

执行命令:"C:\Program Files\Vim\vim63\gvim.exe" --remote-silent +%l %f

备注:--remote-silent 是如果已经打开了对应文件,就不会打开第二次,而是在已经打开的文件里跳转到对应行;%l 是当前行;%f是当前文件。

2、在资源管理器中显示当前文档,即打开当前文档位置。

命令名:explorer

执行命令:explorer /select,%f

备注:不知道,再说吧。

3、调用SVN的可执行程序,直接比较当前文件和SVN服务器上的文件。前提条件是安装好了SVN,且当前文件是SVN服务器Checkout下来的。

命令名:svnDiff

执行命令:"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f

备注:再说吧。

4、后续补充

四、宏的使用

宏语言是SourceInsight定义的一种可编程语言。安装好一个SourceInsight后,打开SourceInsight,可以看到有一个base项目。打开base项目,可以看到有一个Utils.em文件,该文件就是宏语言文件,在里面可以自己写一些宏,也可以新建一个.em文件写宏,或者下载一个别人写好的.em文件如quiker.em(lushengwen写的,用的人比较多)。新建的.em或别人的.em文件要加载到base工程中(如何加载:菜单栏-项目-添加/删除文件)。

如何调用宏:可以将宏显示在菜单栏(参考第五点菜单分配)或者给宏定义一个快捷键(参考第六点键分配)。

1、宏语言语法

这个再说

2、quiker.em的使用(从    http://zhoupengfei.ys168.com/    获取)

(1)、首先要把这个文件搞到手,然后将其加载到Base工程中,其次要定义一个快捷键调用quiker.em中的宏AutoExpand。quiker.em中写了那么多宏,为什么只调用AutoExpand宏就可以。因为调用AutoExpand宏后,AutoExpand会根据当前文本内容自动调用其他宏。一般情况下都用快捷键ctrl+enter调用AutoExpand宏。

(2)、输入文本config,然后执行AutoExpand,根据提示完成语言、姓名配置。

(3)、输入文本fu,然后执行AutoExpand,根据提示完成函数的注释。(在函数名的上一行执行)

(4)、输入文本if,然后执行AutoExpand,可以自动完成语法。其他类似。

(5)、输入文本file,然后执行AutoExpand,可以自动生成.c文件描述。

(6)、输入文本hdn,然后执行AutoExpand,根据提示完成.h文件宏定义。

(7)、在.c文件里输入hd,然后执行AutoExpand,可以自动生成.c文件对应的头文件。

(8)、后续补充

3、自己写的宏

(1)、自动注释,给这个宏定义一个快捷键,然后选中几行文本,执行快捷键,即可以看到效果。

macro MultiLineComment()
{
    hwnd = GetCurrentWnd()
    selection = GetWndSel(hwnd)
    LnFirst =GetWndSelLnFirst(hwnd)      //取首行行号
    LnLast =GetWndSelLnLast(hwnd)      //取末行行号
    hbuf = GetCurrentBuf()
    if(GetBufLine(hbuf, 0) =="//magic-number:tph85666031"){
        stop
    }
    Ln = Lnfirst
    buf = GetBufLine(hbuf, Ln)
    len = strlen(buf)
    while(Ln <= Lnlast) {
        buf = GetBufLine(hbuf, Ln)  //取Ln对应的行
        if(buf ==""){                   //跳过空行
            Ln = Ln + 1
            continue
        }
        if(StrMid(buf, 0, 1) == "/"){       //需要取消注释,防止只有单字符的行
            if(StrMid(buf, 1, 2) == "/"){
                PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
            }
        }
        if(StrMid(buf,0,1) !="/"){          //需要添加注释
            PutBufLine(hbuf, Ln, Cat("//", buf))
        }
        Ln = Ln + 1
    }
    SetWndSel(hwnd, selection)
}

五、菜单分配

菜单栏-选项-菜单分配,可以将自定义命令、宏等显示到菜单栏列表里。

六、健分配

菜单栏-选项-键分配,定义快捷键,可以将自定义命令、宏等定义一个快捷键。

七、配置的保存和载入

菜单栏-选项-载入配置或保存配置,可以把自己的配置保存下来,或者发给别人让别人使用。从    http://zhoupengfei.ys168.com/    获取我的配置文件。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!