source insight 笔记

Posted 浅水湾的回眸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了source insight 笔记相关的知识,希望对你有一定的参考价值。

一、建立工程、界面介绍

  1. 打开Source Insight,选择Project 菜单->New Project
  2. 在出现的对话框中选择并选择存放工程文件的文件夹,输入工程名(比如McuSystem),点击“保存”;
  3. 又出现一个对话框,在 Configuration 部分可以选择这个工程使用全局配置文件还是自己单独的配置文件,这个无所谓,(不过最好选择单独的配置文件),再点击“OK”;
  4. 再次出现一个对话框,这是选择文件添加到 Project 中,通过左边的树状图找到你想添加的文件,点击Add 就可以了。你可以将不通路径下的文件添加到同一个工程中,而不用拷贝源文件。选择完后点击Close;
      这样工程就建立好了,文件列表就出现在Project Window 中(如果Project Window 被关闭了,可以选中View菜单->Project Window)。点击Project Window 中任意一个文件,文件的内容出现在中央的编辑区了。

注意:
  如果某个函数或变量是小黑字显示,那么这个函数或者变量在这个工程内就还
没有定义(如下图)。这便于检查程序中未定义的函数、变量。当然啦,如果是诸如printf这样的库函数,你可以不用管,编译器自己会找到这个函数。
这里写图片描述

有时候可能会出现明明定义了的函数或者变量,却仍然是小黑字,这时你可以点击
Project菜单->Synchronize Files,让文件重新同步一下。

工具栏上有两个蓝黑色的向前这里写图片描述、向后这里写图片描述图标,它可以让编辑区转到你前一次、后一次编辑过的地方,这在源文件很多的时候特别有用。比如说你先后修改了3 个文件中的3个函数,现在又想回过头来再改改第一个函数,只要点击“向前”图标三次就可以回到第一个函数那里。

source insight 查询功能

查找定义

编辑区内,选中任意一个变量、函数、宏等,点击右键->Jump Definition

 如果只有一个定义,编辑区就会自动转到这个变量、函数、宏定义处;
 如果有多个定义比如 McuSystem 中的msg_queue_out()函数,根据宏定义不同,对应不同函数,将会出现一个定义列表,选择不同表项,编辑区就会转到相应的定义处。

或者,在编辑区内,选中这个变量、函数、宏等,过了1、2秒钟,Context Window会自动显示这个变量、函数、宏定义、或者多个定义列表。

查找:

  1. 在编辑区内,选中要查找的变量、函数、宏等,点击右键->Lookup Reference
  2. 出现Lookup Reference 对话框,(关于Option 选项,我们后面再说),点击Search
  3. 接下来的对话框是选择查询结果的存放、显示方式,一般选择 Replace(你可以试试其它选项的效果);(如果将查找结果列表窗口关闭,这个对话框就不出现)
  4. 接下来就出现了查询结果列表窗口。
  5. 点击任意一条结果前的红色图标这里写图片描述,编辑区就转到了程序中相应的部分;在编辑
    区点击语句开头的红色图标这里写图片描述就又回到查询结果列表;或者点击任务栏中红色向左这里写图片描述、向右这里写图片描述图标,就可以在不同查询结果之间转换。

现在我们在说说前面提到的 Lookup Reference 对话框的关于Option 选项。
这里写图片描述

  • Case Sensitive:查找时区分大小写;
  • Skip Inactive Code:诸如#if 0 .... #endif内的代码,因为是Inactive的,所以不在查找之列;
  • Skip Comments:注释内的代码不在查找之列
  • Search Only Comments:只查找注释内的代码

      当Search Method 选中Simple String 时,还可以选中或者取消Whole Words Only 选项。当取消Whole Words Only 时,就不再按照整字查询,举个例子,当你查询“int”时,“interrupt”也会被查到。

查找调用

编辑区内,选中函数名,点击右键->Jump to Caller

如果这个变量、函数、宏等在工程中只被调用了一次,编辑区会直接转到该处;

如果被调用了多次,就会出现查询结果列表对话框,选择不同表项,编辑区就会转到相应的调用处。

这里说的 Jump to Caller 和前面说的Lookup Reference 很相似,Jump to Caller查询条件更加严格,定义、声明、注释等都不在它的查询之列。

`Jump to Caller` 有这种情况存在:
如果函数A 中多次调用函数B,使用`Jump to Caller` 时,A 中的B 函数只会被列出一次。
所以我个人更加喜欢用`Lookup Reference`。
小细节

凡是修改了、还没有保存的语句,前面都用黄色标注。
这里写图片描述

修改了保存了的语句,前面用绿色标注。
这里写图片描述

二、常用使用技巧

  1. 按住"ctrl", 再用鼠标指向某个变量(或函数),点击一下,就能进入这个变量(或
    函数)的定义
  2. 快捷键 "Alt + F12",可以让显示界面中的每个字符宽度一致。
  3. "shift+F8" 标亮所有文本中光标所在位置的单词。
  4. 跳到某一行:F5 或者"ctrl + g"
  5. "Ctrl + o"跳转至Project Window的查找入口,"回车"大开相应文件并关闭查找窗口;如果找不到直接使用ESC键也可关闭该查找窗口。

快捷键

按键作用
Ctrl+=Jump to definition
Alt+/Look up reference
F3search backward
F4search forward
F5go to Line
F7Look up symbols
F8Look up local symbols
F9Ident left
F10Ident right
Alt+,Jump backword
Alt+.Jump forward
Shift+F3search the word under cusor backward
Shift+F4search the word under cusor forward
F12incremental search
Shift+Ctrl+fsearch in project
shift+F8hilight word
退出程序Alt+F4
重画屏幕Ctrl+Alt+Space
完成语法Ctrl+E
复制一行Ctrl+K
恰好复制该位置右边的该行的字符Ctrl+Shift+K
复制到剪贴板Ctrl+Del
剪切一行Ctrl+U
剪切该位置右边的该行的字符Ctrl+;
剪切到剪贴板Ctrl+Shift+X
剪切一个字Ctrl+,
左边缩进F9
右边缩进F10
插入一行Ctrl+I
插入新行Ctrl+Enter
加入一行Ctrl+J
从剪切板粘贴Ctrl+Ins
粘贴一行Ctrl+P
重复上一个动作Ctrl+Y
重新编号Ctrl+R
重复输入Ctrl+
替换Ctrl+H
智能重命名Ctrl+’
关闭文件Ctrl+W
关闭所有文件Ctrl+Shift+W
新建Ctrl+N
转到下一个文件Ctrl+Shift+N
打开Ctrl+O
重新装载文件Ctrl+Shift+O
另存为Ctrl+Shift+S
显示文件状态Shift+F10
激活语法窗口Alt+L
回到该行的开始Home
回到选择的开始Ctrl+Alt+[
到块的下面Ctrl+Shift+]
到块的上面Ctrl+Shift+[
书签Ctrl+M
到文件底部Ctrl+End, Ctrl+(KeyPad) End
到窗口底部(KeyPad) End (小键盘的END)
到一行的尾部End
到选择部分的尾部Ctrl+Alt+]
到下一个函数小键盘 +
上一个函数小键盘 -
后退Alt+,, Thumb 1 Click
后退到索引Alt+M
向前Alt+., Thumb 2 Click
转到行F5, Ctrl+G
转到下一个修改Alt+(KeyPad) +
转到下一个链接Shift+F9, Ctrl+Shift+L
回到前一个修改Alt+(KeyPad) -
跳到连接(就是语法串口列表的地方)Ctrl+L
跳到匹配Alt+]
下一页PgDn, (KeyPad) PgDn
上一页PgUp, (KeyPad) PgUp
向上滚动半屏Ctrl+PgDn, Ctrl+(KeyPad) PgDn, (KeyPad) *
向下滚动半屏Ctrl+PgUp, Ctrl+(KeyPad) PgUp, (KeyPad) /
左滚Alt+Left
向上滚动一行Alt+Down
向下滚动一行Alt+Up
右滚Alt+Right
选择一块Ctrl+-
选择当前位置的左边一个字符Shift+Left
选择当前位置右边一个字符Shift+Right
选择一行Shift+F6
从当前行其开始向下选择Shift+Down
从当前行其开始向上选择Shift+Up
选择上页Shift+PgDn, Shift+(KeyPad) PgDn
选择下页Shift+PgUp, Shift+(KeyPad) PgUp
选择句子(直到遇到一个 . 为止)Shift+F7, Ctrl+.
从当前位置选择到文件结束Ctrl+Shift+End
从当前位置选择到行结束Shift+End
从当前位置选择到行的开始Shift+Home
从当前位置选择到文件顶部Ctrl+Shift+Home
选择一个单词Shift+F5
选择左边单词Ctrl+Shift+Left
选择右边单词Ctrl+Shift+Right
到文件顶部Ctrl+Home, Ctrl+(KeyPad) Home
到窗口顶部(KeyPad) Home
到单词左边(也就是到一个单词的开始)Ctrl+Left
到单词右边(到该单词的结束)Ctrl+Right
排列语法窗口(有三种排列方式分别按1,2,3次)Alt+F7
移除文件Alt+Shift+R
同步文件Alt+Shift+S
增量搜索(当用Ctrl + F 搜索,然后按F12就会转到下一个匹配)F12
替换文件Ctrl+Shift+H
向后搜索F3
在多个文件中搜索Ctrl+Shift+F
向前搜索F4
搜索选择的(比如选择了一个单词,shift+F4将搜索下一个)Shift+F4
搜索Ctrl+F
浏览本地语法(弹出该文件语法列表窗口,如果你光标放到一个变量/函数等,那么列出本文件该变量/函数等信息)
浏览工程语法F7, Alt+G
跳到基本类型(即跳到原型)Alt+0
跳到定义出(也就是声明)Ctrl+=, Ctrl+L Click (select), Ctrl+Double L Click
检查引用Ctrl+/
语法信息(弹出该语法的信息)Alt+/, Ctrl+R Click (select)
高亮当前单词Shift+F8
语法窗口(隐藏/显示语法窗口)Alt+F8
关闭窗口Alt+F6, Ctrl+F4
最后一个窗口Ctrl+Tab, Ctrl+Shift+Tab

窗口操作

窗口按键作用
project windowCtrl+O打开
symbol windowAlt+F8打开和关闭
Contex Window自定义键打开和关闭
Relation Window自定义键打开先锁定再刷新联系

三、常用问题解决

  1. 文件过滤器
    这里写图片描述
  2. 颜色选择
    这里写图片描述
  3. 解决字符大小不一
    这里写图片描述
  4. 解决缩进问题
    这里写图片描述
  5. 解决汉字注释操作半删半移问题
    这里写图片描述
  6. 恢复Ctrl + a的全选功能
    这里写图片描述

本文内容部分摘自:
1. http://wenku.baidu.com/link?url=gQZpIQQKc6nKY9c7LG4VUspNwTTmlYPp5Onw3Y-JOLaRGMjdwmRXGqBHIenB84eiASr74TxYih3X_oFoVxJmboVzWER1Yt7xWnTiUWR-Co_

以上是关于source insight 笔记的主要内容,如果未能解决你的问题,请参考以下文章

Source Insight 4.0常用设置

Source Insight怎样修改注释字体

怎么修改source insight的快捷键

转载软件安装Source Insight 4.0常用设置

Env: Linux下Source Insight安装

Source Insight 如何将script等文件加入