一、建立工程、界面介绍
- 打开
Source Insight
,选择Project
菜单->New Project
; - 在出现的对话框中选择并选择存放工程文件的文件夹,输入工程名(比如McuSystem),点击“保存”;
- 又出现一个对话框,在
Configuration
部分可以选择这个工程使用全局配置文件还是自己单独的配置文件,这个无所谓,(不过最好选择单独的配置文件),再点击“OK”; - 再次出现一个对话框,这是选择文件添加到
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
会自动显示这个变量、函数、宏定义、或者多个定义列表。
查找:
- 在编辑区内,选中要查找的变量、函数、宏等,点击右键->
Lookup Reference
; - 出现
Lookup Reference
对话框,(关于Option
选项,我们后面再说),点击Search
; - 接下来的对话框是选择查询结果的存放、显示方式,一般选择
Replace
(你可以试试其它选项的效果);(如果将查找结果列表窗口关闭,这个对话框就不出现) - 接下来就出现了查询结果列表窗口。
- 点击任意一条结果前的红色图标
,编辑区就转到了程序中相应的部分;在编辑
区点击语句开头的红色图标就又回到查询结果列表;或者点击任务栏中红色向左
、向右
图标,就可以在不同查询结果之间转换。
现在我们在说说前面提到的 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`。
小细节
凡是修改了、还没有保存的语句,前面都用黄色标注。
修改了保存了的语句,前面用绿色标注。
二、常用使用技巧
- 按住
"ctrl"
, 再用鼠标指向某个变量(或函数),点击一下,就能进入这个变量(或
函数)的定义。 - 快捷键
"Alt + F12"
,可以让显示界面中的每个字符宽度一致。 "shift+F8"
标亮所有文本中光标所在位置的单词。- 跳到某一行:
F5
或者"ctrl + g"
。 "Ctrl + o"
跳转至Project Window
的查找入口,"回车"
大开相应文件并关闭查找窗口;如果找不到直接使用ESC键
也可关闭该查找窗口。
快捷键
按键 | 作用 |
---|---|
Ctrl+= | Jump to definition |
Alt+/ | Look up reference |
F3 | search backward |
F4 | search forward |
F5 | go to Line |
F7 | Look up symbols |
F8 | Look up local symbols |
F9 | Ident left |
F10 | Ident right |
Alt+, | Jump backword |
Alt+. | Jump forward |
Shift+F3 | search the word under cusor backward |
Shift+F4 | search the word under cusor forward |
F12 | incremental search |
Shift+Ctrl+f | search in project |
shift+F8 | hilight 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 window | Ctrl+O | 打开 |
symbol window | Alt+F8 | 打开和关闭 |
Contex Window | 自定义键 | 打开和关闭 |
Relation Window | 自定义键打开 | 先锁定再刷新联系 |
三、常用问题解决
- 文件过滤器
- 颜色选择
- 解决字符大小不一
- 解决缩进问题
- 解决汉字注释操作半删半移问题
- 恢复
Ctrl + a
的全选功能