SourceInsight4.0的使用

2023-05-16

转自:https://blog.csdn.net/qq_39660930/article/details/77499455

一、项目管理

1、新建一个项目

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

2、添加和删除项目文件

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

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

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

关闭项目:Alt+Shift+W

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

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

4、同步文件

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

5、项目报告

菜单栏-项目-项目报告,获取当前项目的文件个数,代码行数等。

6、重建项目

菜单栏-项目-重建项目,重新同步代码依赖关系。

二、Source Insight的7种窗口的使用。

1、文档窗口

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

(2)、Alt+Y打开文档类型选项窗口,修改字体显示大小、是否显示行号、解析语言选择、工程文件过滤、扩展tab键、是否显示符号窗口等。

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

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

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

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

(4)、F8,高亮

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

(6)、Alt+,:后退

(7)、Alt+.   :前进

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

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

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

(11)、编码格式设置,设置完毕后需要重新打开文件进行浏览。

(12)、Ctrl+F打开查找界面,配置好查找选项,然后关闭查找界面,选中一个单词,按一次Shift+F3,然后只要按F3和F4即可进行查找上一个和下一个。

2、符号窗口

这个窗口是显示文档的符号的,那么文档内容哪些是符号呢,这个应该是看文档窗口是设置哪种语言来解析文档的。

(1)、Alt+F8:打开/关闭当前文档的符号窗口。

(2)、Alt+Y打开文档选项窗口,配置所有文档是否打开符号窗口。

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

(4)、右击符号窗口-符号窗口选项,可以修改字体、背景颜色等。

3、项目窗口

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

(1)、右击窗口选项,修改字体或背景颜色、不显示文件大小、目录、日期等。

4、关联窗口

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

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

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

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

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

5、上下文窗口

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

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

6、剪辑窗口

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

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

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

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

7、代码片段窗口

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

(2)、可以自定义一些代码片段,使用时直接插入即可。

三、自定义命令

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

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

望君举一反三。

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

命令名:svnshowlog

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

命令名:svncommit

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

四、宏的使用

 

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

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

1、宏语言语法

这个再说

2、quiker.em的使用(从网络下载)

(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://pan.baidu.com/s/1pKViFHp。

八、布局使用

软件提供了四个布局的保存,当配置好一个界面布局后可保存到一个布局当中,这样可以方便切换软件布局。

九、文件名标签设置为最近的使用靠左显示

10、显示/去掉overview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SourceInsight4.0的使用 的相关文章

  • c语言之链表学习小结

    1 链表 Typedef struct linkworker 此处Typedef 就是给结构体变量名struct linkworker取别名LINK char id 10 char name 10 struct linkworker nex
  • Linux的vim编辑器的使用方法

    Vim 没有菜单 xff0c 只有命令 vim 编辑器有三种模式 xff1a 1 命令模式 xff08 等待用户输入命令 xff09 xff0c 2 输入模式 xff08 等待用户向文本中输入内容 xff09 xff0c 3 底行模式 xf
  • shell中的俄罗斯方块小游戏

    俄罗斯方块的shell脚本 bin Bash Tetris Game APP declaration APP NAME 61 34 0 34 APP VERSION 61 34 1 0 34 颜色定义 cRed 61 1 cGreen 61
  • 三个方法实现求两个数的最大公约数

    复制而来 xff0c 这不是我写的 xff01 从键盘输入两个整数 xff0c 求着两个整数的最大公约数 解题思路 xff1a 从键盘输入两个数 xff0c 通过以下的三个方法实现求两个数的最大公约数 xff1a 辗转相除法 xff1a 取
  • c语言 一维字符型数组

    什么是一维字符型数组 xff1a char a 5 这个数组中含有5各元素 xff0c 每个元素都是一个字符型变量 如何定义一字符型维数组 xff1a 格式 xff1a char 数组名 长度 ex char a 6 定义了一个含有6个字符
  • c语言常用的几个函数

    strcpy函数 2 xff09 如何给字符串进行赋值 xff1a A 字符串不能直接赋值 B 目前而言 给字符串赋值的方法是通过strcpy函数 C strcpy函数需要string h的头文件的支持 D 在使用strcpy函数时不能把大
  • 两个字符型数组,a[]="abcdefgh",用户输入一个值n,把数组a中右边n个字符复制到数组t中,最后输出数组t的值。

    两个字符型数组 xff0c a 61 34 abcdefgh 34 用户输入一个值n xff0c 把数组a中右边n个字符复制到数组t中 xff0c 最后输出数组t的值 算法分析 xff1a 定义两个字符型数组 char a 61 34 ab
  • 图文详解win10/8.1/7系统cmd命令提示符出现“不是内部或外部命令,也不是可运行的程序或批处理文件”

    声明下 xff1a 本教程支持win10 win8 1 8 win7 winxp等windows桌面系统 首先我们需要打开系统的环境变量 xff0c 那么在哪里能找到环境变量呢 xff1f 当然是在系统属性里了 tips xff1a 按下w
  • 关于字符串前导*的移动/删除的几种情况

    1 编写一个程序把所有字符串的前导 保留 xff0c 其他的 号都删除 效果 xff1a shd swbd dwh 转换成 shdswbddwh 算法分析 xff0c 先研究一个字符串 char a 100 61 34 shd swbd d
  • 函数的嵌套与递归调用

    什么函数的嵌套调用 main gt fun gt fun2 gt fun3 归调用 什么函数的 求1 xff01 43 2 xff01 43 3 xff01 43 4 43 43 n 算法分析 xff1a 写一个函数求n的阶乘 要写一个函数
  • c语言学习之 变量的分类学习笔记

    A 按作用域来分类 全局变量 xff1a 不在任何一个函数里面定义的变量 局部变量 xff1a 在函数里面定义的变量 区别 xff1a 全局变量可以被一个程序中的所有函数都来使用 局部变量只能在定义它的本函数中来使用 所有的函数都共享全局变
  • 以数组作为函数的参数c学习笔记

    以数组作为函数的参数 格式 xff1a 类型标识符 函数名 类型标识符 数组名 int n 处理的代码 A n表示数组的长度 B 在以数组作为函数参数时 xff0c 数组一般不写大小 C 它的大小由变量n来决定 sum int a int
  • c语言之指针之谜

    变量地址的意义 指针的定义 指针的赋初值 通过指针改变变量的值 内存 xff1a xff08 锅 xff09 A 在计算机中有一个很大的处理场 B 程序都是在内存中运行的 C 总结 xff1a 数据的处理场地 外存 xff1a xff08
  • 指向二维数组的指针学习笔记

    二维数组与一维数组的关系 二维数组的指针指向一维数组的指针 一维数组的情况下 xff1a 数组名代表数组首地址 a 43 i 61 a i 二维数组与指针 int a 3 4 61 1 2 3 4 5 6 7 8 9 10 11 12 a
  • 指向一维数组的指针学习笔记

    main int a 61 2 4 6 8 10 y 61 1 x p p 61 amp a 1 for x 61 0 x lt 3 x 43 43 y 43 61 p 43 x 1 43 4 43 6 43 8 printf 34 y 6
  • 生日快乐音乐小程序

    include 34 iostream 34 include 34 time h 34 include lt windows h gt include lt stdio h gt include lt conio h gt using na
  • c语言之指向字符串的指针学习笔记

    一 指向字符串的指针 1 xff1a 什么是字符串 xff1f 用双引号括起来的0个或多个字符 34 123 34 2 xff1a 字符串的结束符号 39 0 39 39 0 39 它是一个字符 xff0c 不是一个字符串 3 xff1a
  • 指向函数的指针与指针数组学习笔记

    指向函数的指针 1 char p 指向字符串的指针 2 int p 指向整型变量的指针 3 int a 4 61 1 2 3 4 p 61 a 指向一维数组的指针 4 int a 3 4 61 p 4 61 a 指向二维数组的指针 5 指针
  • makefile

    目录 一 Makefile简介 1 make解决的问题 xff1a 1 大量代码的关系维护 2 减少重复编译时间 二 Makefile文件命名规则 三 Makefile语法规则 1 Makefile基本规则三要素 xff1a 1 xff09

随机推荐

  • c语言之宏学习笔记

    宏 宏 什么是宏 xff1f 1 用一个字符串表示有意义的常量或常量表达式被称为宏 2 使用宏可以增加程序的灵活性 3 宏为了区分变量一般用大写字母 xff0c 也可以用小写字母 4 宏不是语句 xff0c 所以在定义宏的时候不要加分号 x
  • 一道有趣的数学题

    爱因斯坦曾出过这样一道有趣的数学题 xff1a 有一个长阶梯 xff0c 若每步上2 阶 xff0c 最后剩1阶 xff1b 若每步上3阶 xff0c 最后剩2阶 xff1b 若每步上5阶 xff0c 最后剩4阶 xff1b 若每步上6阶
  • c语言之文件学习

    文件是相关信息的集合 文字信息 声音信息 图形信息 文件的取名 xff1a 主文件名 扩展名 文件的分类 xff1a xff08 c 程序中 xff09 A xff1a 文本文件 B xff1a 二进制文件 xff08 data xff09
  • 翻转c风格的字符串

    这里的字符串是c风格的字符串 以 39 0 39 结尾 include lt stdio h gt using namespace std void reverse string 01 char void reverse string 02
  • 交换两个字符串

    swap char p1 char p2 char p p 61 p1 p1 61 p2 p2 61 p void main char str1 61 34 12345 34 char str2 61 34 ABCDEFG 34 char
  • 翻转句子中单词的顺序

    include 34 stdafx h 34 include 34 iostream 34 include lt windows h gt include lt stdlib h gt include lt stdio h gt using
  • 常用的vi/vim命令

    转载自 xff1a https blog csdn net wang907553141 article details 78846784 常用的vi vim命令 xff1a vi命令 xff1a yy xff1a 复制 光标所在的这一行 n
  • sql中limit使用方法

    sql中limit使用方法 此处以mysql为例 xff0c 但是我相信物以变通在oracle上也一定适用 1 下面是几种limit的方法 xff1a 原则看看下面几个例子应该就懂了 在数据库中很多地方都会用到 xff0c 比如当你数据库查
  • 数据库sql的优化问题的面试题

    想一下这个道面试题怎么做 有一张user表有1000万条数据 xff0c 请为下面的sql提供优化建议 xff1f 字段分别为 xff1a 主键id xff0c 用户id xff0c 姓名 xff0c 性别 select from user
  • 日期加一天的函数

    bool isLeapYear int year if year 4 61 61 0 amp amp year 100 61 0 year 400 61 61 0 判断闰年 return true return false void add
  • SpringAOP简单案例

    简介 本文是一个老师在学校给学生上课的简单案例 xff0c 介绍了AOP的五个通知的使用 xff0c 以及通知的执行顺序 通过自定义注解来充当切入点 xff0c 获取注解的类型分别对不同的老师做对应的业务处理 代码中的消息响应体 xff08
  • 学习 shell脚本之前的基础知识

    转载自http www 92csz com study linux 12 htm 日常的linux系统管理工作中必不可少的就是shell脚本 xff0c 如果不会写shell脚本 xff0c 那么你就不算一个合格的管理员 目前很多单位在招聘
  • Linux入门教程

    http www 92csz com study linux 发现这个写的不错 xff0c 作为小白入门非常棒 xff01
  • c与c++的区别

    相同 xff1a C 43 43 是在C语言的基础上改进的 xff0c C语言的很多语法在 C 43 43 中依然广泛使用 xff0c 例如 xff1a C 43 43 仍然使用 char short int long float doub
  • 多线程--线程管理

    说到多线程编程 xff0c 那么就不得不提并行和并发 xff0c 多线程是实现并发 xff08 并行 xff09 的一种手段 并行是指两个或多个独立的操作同时进行 注意这里是同时进行 xff0c 区别于并发 xff0c 在一个时间段内执行多
  • 选择排序和冒泡排序

    void select sort int a int n 选择排序 选择排序 xff0c 每次选择最小的放在第一个位置 xff0c 然后下次从第二个位置开始 for i 61 0 i lt n 1 43 43 i j 61 i 给下标放在一
  • 数据库面试题

    1 数据库系统的核心是 A 数据模型B 数据库管理系统C 软件工具D 数据库 2 下列叙述中正确的是 A 数据库是一个独立的系统 xff0c 不需要操作系统的支持 B 数据库设计是指设计数据库管理系统 C 数据库技术的根本目标是要解决数据共
  • 什么是shell?

    操作系统与外部最主要的接口就叫做shell shell是操作系统最外面的一层 shell管理你与操作系统之间的交互 等待你输入 xff0c 向操作系统解释你的输入 xff0c 并且处理各种各样的操作系统的输出结果 shell提供了你与操作系
  • 《心流》——每天十分钟,解读完本书

    心流 每天十分钟 xff0c 解读完本书 你好 xff01 这里是 每天十分钟 xff0c 解读完本书 xff0c 我是财哥哥 xff0c 今天为你解读的是 心流 xff0c 作者是米哈里 契克森米哈赖 他是积极心理体验这一领域的权威学者
  • SourceInsight4.0的使用

    转自 xff1a https blog csdn net qq 39660930 article details 77499455 一 项目管理 1 新建一个项目 快捷键Alt 43 Shift 43 N可以打开新建项目对话框 xff0c