Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46678
  • 博文数量: 4
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 7
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-23 21:52
个人简介

专注Linux驱动开发、内核研究。

文章分类
文章存档

2015年(3)

2014年(1)

我的朋友

分类: 嵌入式

2014-10-11 10:40:36

 

1 Add from list功能使用

Project里面添加文件通常的做法是Add All或者Add Tree,但对于BSP代码来说,有更好的方式,那就是Add from list

如果把Uboot/Linux Kernel所有文件添加进来,阅读过程中会遇到一些障碍(如:1.内核需要支持不同的架构,会遇到很多同名函数 2.搜索速度变慢,影响阅读效率)

可以通过解析uboot.dependlinux kernel*.cmd来筛选出实际编译的文件,再通过source insightAdd from list功能添加。

这里以建立Linux kernel工程为例说明:

 

1.1生成文件列表

#执行脚本

./get-kernel-file.sh kernel_build_dir kernel_src_dir

运行完后会生成file_list.txt文件

kernel_build_dir:内核编译时存放中间文件(如.o.cmd文件 )的目录,默认和kernel_src_dir是同一目录,可以通过设置KBUILD_OUTPUT环境变量改变。

kernel_src_dir:内核源文件目录。

例如:

cd linux-3.0.8

./get-kernel-file.sh ./ ./

1.2通过Add from list添加文件

add from list选择file_list.txt添加即可

 

2 Edit Condition

很多BSP代码,由于可配置性和跨平台性,当中有大量的预编译宏。阅读过程中容易被分支代码干扰,Edit Condition功能可以解决这类问题 设置后无效的代码就会变灰 而且搜索的时候也可以选择跳过这些无效代码(inactive code)

这里以Linux kernel工程为例说明:

 

2.1设置有定义的宏

添加Quicker.em文件,打开autoconf.h并全选 运行ScanAutoconfFile 这样#define CONFIG_* 1的宏都被设置为1了。

 

2.2设置无定义的宏

linux kernel根目录运行 ./linux_kernel_condition_parse|sort|uniq > condition.c

condition.c文件添加到工程中,添加文件后需重建工程 Project->Rebuild Project

由于linux_kernel_condition_parse解析程序写的不完善,需手动确认condition.c里面的宏是否有定义,将有定义的宏删除。

全选condition.c的内容 运行ScanConditionFile 这样CONFIG_* 0的宏都被设置为0了。

 

3 设置等宽字体

Source Insight默认用的不是等宽字体 看起来可能不习惯 网上说选上"view --> draft view"即可 但是后来发现有些特性没了(:1. goto语句的箭头消失了 2.} ? end ... 之类的提示没了)

help里面draft view选项的解释是

The Draft View command on the View menu toggles the draft view mode on and off. When draft mode is on, almost all syntax formatting is suppressed, except for color changes.

All text is displayed using the “Draft View” style, which can be edited with the Style Properties dialog box. The “Draft View” style is preset to use a monospaced font (Courier New).

Options->Preferences->Syntax Decorations的设置都变得无效了 那么可以换一种思路,自己手动设置为Courier New字体而不用draft view选项

网上搜索到windows7下设置Courier New字体的一个方法

1) “控制面板:--->“字体”--->找到Courier New,然后选中该字体,点击上面的显示:

2) 然后重启source insight,你就能看到这个选项了,一定要重启哦。

3) Options->Document Options->Screen Fonts->Courier New

4 输入tab替换成空格

Options->Document Options

Editing Options框中

Tab width设置为2

勾选Expand tabs(这样,按tab键、等价于输入2个空格)

这个选项设置依据个人喜好

 

5 缩进与tab

1) Options->Preferences->Typing卡,勾掉下面两项:

Typing tab indents lineregardless of selection,空行按tab无法前进、不用选中内容tab即可前进

Typing tab replaces current selection

2) Options->Document Options选择合适的文件类型,点击右边中间的Auto Indent钮,在弹出的框中,左边一定要点Smart,右边有两个复选框Indent Open BraceIndent Close Brace,具体效果可以看SISHELP。按照部门里的编程风格要求,最方便的就是把两个复选框都取消掉,然后点OK

 

6 添加不能识别的文件类型

做底层开发时候,有时候需要看汇编代码。以.S为例说明如何添加,Options->Document Options->x86 Asm Source File 右边的File filter: 加上*.S

然后左下角的Parsing 选择C Language,这样就会以C语法解析该类型文件 语法看起来就不会一团黑了

接着就可以往工程里添加该后缀的文件了。

 

7 去掉功能强大但是无用的自动完成功能

Options->Preferences->Typing->Auto Completion框,勾掉Use automatic symbol completion window(这里是SIS的全局设置)

Options->Document Options->Editing Options框中,勾掉Allow auto-complete(针对特定文件类型的局部设置)

上面两项必须全部勾选,才能启用Auto Completion功能

 

8 恢复ctrl+a的全选功能

Options->Key Assignments

通过关键词save 找到save all,更改快捷键为ctrl+shift+a

通过关键词select找到select all 更改快捷键为ctrl+a

 

9 粘贴后光标移到文本后面

Options->Preferences->Typing->After pasting, select:at end of pasted text

 

10 上下文敏感的智能重命名(Context-Sensitive Smart Rename)

Smart Rename命令、快捷键是Ctrl+’,是上下文敏感的全局搜索替换。它可以智能地重命名全部项目文件中的一个标示符。Source Insight的搜索索引(search index)使得搜索过程进行地非常快。而且,使用Smart Rename所做的替换会被记录在Search Results窗口中,每一条替换记录旁有一个Source Link链接到替换发生地文件。

Smart Rename可以用来重命名标记(symbol)。如果勾选了Smart Reference Matching选项,Smart Rename就只在正确的上下文范围内进行重命名。它可以智能地重命名全部项目文件中的一个标示符;它可以重命名函数本地变量,类或结构体成员、函数。

 

11 加入svn功能

Options->Custom Commands

点击Add, Command name设为svn log

Run设为

"D:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend

然后点Keys,选择刚添加的命令,按Assign New Key设定自己的快捷键,我的就设为 Alt+Shift+L

同样的添加svn diff命令

"D:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend

快捷键设置为 Alt+Shift+D

 

12 Source Insight常用的快捷键

筛选了一些常用的 不常用的这里没有列出来

Application: Refresh Relation Window      :  Alt+R(custom)

Edit: Complete Symbol                     :  Ctrl+E

Edit: Copy Line                           :  Ctrl+K

Edit: Cut Line                            :  Ctrl+U

Edit: Paste Line                          :  Ctrl+P

Edit: Insert Line Before                  :  Ctrl+I

Edit: Redo                                :  Ctrl+Y

Edit: Replace...                          :  Ctrl+H

Edit: Smart Rename...                     :  Ctrl+'

File: Open...                             :  Ctrl+O

Menu: Activate Window Menu                :  Alt+W(然后可以通过数字和字母进行窗口选择)

Navigation: Activate Symbol Window        :  Alt+L

Navigation: Beginning Of Line             :  Home

Navigation: Block Down                    :  Ctrl+Shift+]

Navigation: Block Up                      :  Ctrl+Shift+[

Navigation: Bottom Of File                :  Ctrl+End

Navigation: End Of Line                   :  End

Navigation: Function Down                 :  (KeyPad) +

Navigation: Function Up                   :  (KeyPad) -

Navigation: Go Back                       :  Alt+,

Navigation: Go Back Toggle                :  Alt+M

Navigation: Go Forward                    :  Alt+.

Navigation: Go To Line...                 :  F5, Ctrl+G

Navigation: Go To Next Change             :  Alt+(KeyPad) +

Navigation: Go To Next Link               :  Shift+F9, Ctrl+Shift+L

Navigation: Go To Previous Change         :  Alt+(KeyPad) -

Navigation: Jump To Link                  :  Ctrl+L

Navigation: Jump To Match                 :  Alt+]

Navigation: Make Column Selection         :  Alt+L Click

Navigation: Paren Left                    :  Ctrl+9

Navigation: Paren Right                   :  Ctrl+0

Navigation: Scroll Half Page Down         :  Ctrl+PgDn, Ctrl+(KeyPad) PgDn, (KeyPad) *

Navigation: Scroll Half Page Up           :  Ctrl+PgUp, Ctrl+(KeyPad) PgUp, (KeyPad) /

Navigation: Select Block                  :  Ctrl+-

Navigation: Select Char Left              :  Shift+Left

Navigation: Select Char Right             :  Shift+Right

Navigation: Select Function or Symbol     :  Ctrl+Alt+F(custom)

Navigation: Select Line                   :  Shift+F6

Navigation: Select Line Down              :  Shift+Down

Navigation: Select Line Up                :  Shift+Up

Navigation: Select Match                  :  Alt+=

Navigation: Select Paragraph              :  Ctrl+P(custom)

Navigation: Select To                     :  Shift+L Click

Navigation: Select To End Of File         :  Ctrl+Shift+End

Navigation: Select To End Of Line         :  Shift+End

Navigation: Select To Start Of Line       :  Shift+Home

Navigation: Select To Top Of File         :  Ctrl+Shift+Home

Navigation: Select Word                   :  Shift+F5

Navigation: Select Word Left              :  Ctrl+Shift+Left

Navigation: Select Word Right             :  Ctrl+Shift+Right

Navigation: Selection History...          :  Ctrl+Shift+M

Navigation: Smart Beginning Of Line       :  Alt+Home(custom)

Navigation: Smart End Of Line             :  Alt+End(custom)

Navigation: Top Of File                   :  Ctrl+Home

Navigation: Word Left                     :  Ctrl+Left

Navigation: Word Right                    :  Ctrl+Right

Options: Sort Symbol Window               :  Alt+F7

Search: Incremental Search...             :  F12

Search: Replace Files...                  :  Ctrl+Shift+H

Search: Search Backward                   :  F3

Search: Search Backward for Selection     :  Shift+F3

Search: Search Files...                   :  Ctrl+Shift+F

Search: Search Forward                    :  F4


13 附件

脚本文件

阅读(3684) | 评论(2) | 转发(1) |
1

上一篇:没有了

下一篇:Fedora10 常用工具安装

给主人留下些什么吧!~~

1217864042017-02-21 09:36:24

good job

Daniel_Shieh2016-05-17 18:43:16

楼主,想问一下,你的那个get-kernel-file.sh这个shell文件在哪可以找到,是否可以分享一下??