烤鸭的Source Insight学习笔记

来源:互联网 发布:淘宝怎么看卖家信誉度 编辑:程序博客网 时间:2024/04/30 03:47

如果你觉得这网页排版不好看,可以去下载我上传的word版:《烤鸭的Source Insight学习笔记.doc》 http://download.csdn.net/detail/benkaoya/4888311


烤鸭的SourceInsight学习笔记

1.前言

写这份文档时,我用的SI版本是:Version 3.5。

2.常用设置

2.1.缩进

Options菜单DocumentOptions选择合适的文件类型点击右边中间的Auto Indent钮在弹出的框中,左边选中点Simple。这样在输入函数回车后"{"不会缩进,而是和函数名称对齐。

2.2.TAB与空格

Options菜单DocumentOptions Editing Options框中,tab width= 4 EditingOptions框中,勾选Expand tabs(这样,按tab键、等价于输入4个空格)在严格的编码规范中不可以使用Tab,要使用空格。这个是节省工作的符合编码规范的好方法。

2.3.可视化制表符和空格导致乱码

Options > Document Options对话框中同时勾选了“VisiableTabs”和“Visiable spaces”两个选项,会导致tab和空格字符乱码

2.4.中文注释间有空格

用Source Install写代码的时候,中文注释的每个汉字间都会有一个空格,这样看起来相当的不习惯。打开options->styleproperties对话框,找到如下style:

comment

commentTo Do

里面的font->font name设置为“Fixedsys”或其它中文字体就可以了。

2.5.等宽字体的调整

Source Insight 菜单栏选择Options->DocumentOptions(或者直接Alt+T),打开DocumentOptions对话框,点击Screen Fonts,在新打开的字体对话框中设置为Fixedsys就OK啦。

Alt+F12可以将视图切换至草稿视图风格(draft view),可以有不同的视觉效果,试试吧。

2.6.不支持UTF-8

让我疑惑的是,广受欢迎的Source insight竟然不支持UTF-8,导致很多中文会显示乱码。转为ANSI格式即可正常显示。可以用记事本打开源代码,再另存为ANSI格式的文件来进行转化。

2.7.Options->Perferences菜单配置

2.7.1.General

把Misc->Use stricterconfirmation dialog选项去掉可以使确认时不输入"yes"。

2.7.2.Typing

Auto Completion->Use detailedcompletion window,选上后,联想时可以出现该函数的详细信息。如下图所示:

图表2‑1 Typing

2.7.3.Display

Show exact caseof file names。如果看不惯si把所有的文件名首字母都大写就勾上这个选项吧。

Trim long pathnames with ellipses。这个建议不要选中。事实上这个主要影响标题栏,但一般来说标题栏上的空间是充裕的,选上之后往往会令我们不知道所编辑文件的具体位置。

2.7.4.SyntaxFormatting

Basics->Useonly color formatting,个人还是习惯勾选这个,效果比较好。

3.SI宏

本章节介绍的宏文件,可以到我在CSDN上传的资源《Source Insight宏库.rar》去下载:http://download.csdn.net/detail/benkaoya/4888265

3.1.使用宏

这里举个例子。首先要有宏文件(如SuperBackspace.em),至于宏的基础知识不在本文讨论范围内。文件中有个宏Marco: SuperBackspace,该宏的作用是在删除中文时,增加了对双字节汉字的支持,我们要将该宏绑定到BackSpace键。那操作步骤如下:

①    将文件SuperBackspace.em复制入SourceInsight安装目录;

②    打开SI,选择菜单 Project→Open Project,打开Base项目(Base项目是SI安装是就有的);

③    将复制过去的SuperBackspace.em添加入Base项目;

④    重启SourceInsight;(不重启好像看不到宏Marco: SuperBackspace)

⑤    选择菜单Options→Key Assignments,将Marco:SuperBackspace绑定到BackSpace键;

3.2.官方宏库

http://www.sourceinsight.com/public/macros/

这里有很多例子值得学习。


3.3.我的宏库

宏文件(*.em)

宏名

我的快捷键/菜单

功能描述

CompleteWord.em

Macro: CompleteWord

Alt+E

字符补全功能(虽然SI在你输入时,能列出一个可选列表,但往往很多词他没法列出),这个宏非常好用。

AutoExpand.em

Macro: AutoExpand

Ctrl+Q

◆C语句自动扩展,如输入if后按快捷键Ctrl+Q即可实现自动扩展。

可支持有:for、while、do、switch、#if、#ifndef、#ifdef、{等

◆文件头注释块、函数头注释块模板自动扩展。输入/*或者/**按快捷键;

◆头文件要写防止重复编译的预编译处理时,可以输入#ifndefh,按快捷键自动完成。

Switch_cpp_hpp.em

Macro: switch_cpp_hpp

Alt+O

在同名的cpp和h文件之间切换

Home.em

Macro: Home

Macro: ShiftHome

Home

Shift+Home

SI自带快捷键Shif+Home的Navigation: Select To Start Of Line会把行首的空白字符也选进来。我还是更习惯于把行首非空白字符作为第一个字符。同样的Home是也如此

ChineseCharacters.em

Macro: SuperBackspace

绑定到

BackSpace

使SI对中文按一个字符操作(如删除,左右移),但鼠标拖动选中中文还是会出现乱码。

Macro: SuperDelete

绑定到

Del

Macro: SuperCursorLeft

绑定到

Left

Macro: SuperCursorRight

绑定到

Right

Macro: SuperShiftCursorLeft

绑定到Shift+Left

Macro: SuperShiftCursorRight

绑定到Shift+Right

 

说明:

◆CompleteWord.em

       字符补全的关键字所在文件要处于打开的状态,否则无效。按以下顺序查找关键字:

①    光标位置向上搜索(当前文件)

②    光标位置向下搜索(当前文件)

③    其他文件从开始位置搜索

CompleteWord按以上顺序搜索显示,CompleteWordBack则在CompleteWord搜索出来列表的基础上反方向显示。

4.常用快捷键

默认快捷键

我的快捷键

说明

Ctrl + L Click (select)

 

Symbol: Jump To Definition

Ctrl + R Click (select)

 

Symbol: Symbol Info... 

F3

 

向后搜索

F4

 

向前搜索

F5

Ctrl + g

 

Go to line

F12

 

向前搜索,到文件尾后会回到文件头

Shift+F3

 

向后搜索当前光标所处的字符串;

无须调出搜索对话框,而且使用过后就能用F3、F4、F12了

Shfit+F4

 

类似Shift+F3,只是向前搜索而已

Ctrl + m

 

Bookmark

Ctrl + home

 

Top of File

Ctrl + End

 

Bottom of File

Ctrl+9

 

跳至圆括号左边

Ctrl+0

 

跳至圆括号右边

Ctrl+Shift+{

 

跳至当前代码块所在的{,

鼠标可以置于{}块中的任一位置

Ctrl+Shift+}

 

跳至当前代码块所在的},

鼠标可以置于{}块中的任一位置

单击编辑窗口左边选择栏

Shift+F6

 

选择整行

双击编辑窗口左边选择栏

 

Select the whole enclosing symbol definition.

相当于双击symblo窗口中的symblo选中整个symblo,

可用于全选整个函数、整个结构体,以及其他类型的symblo

Ctrl + 单击编辑窗口左边的选择栏

 

全选(整个文件)

Ctrl + - (不能用小键盘的-号)

 

选择大括号、圆括号内的内容

鼠标可以置于匹配范围内任一地方

在匹配符前面,双击或者Alt+=

 

即可选中{}、()、<>、[]、“”匹配范围;

注意:鼠标一定要放在以上符号前面执行动作

Alt+]

 

跳至匹配的字符{}、()、<>、[];

注意:SI默认的命令Jump To Match要求鼠标一定要放在以上符号前面执行动作

Shift+Tab

 

Back Tab

Ctrl+S

 

File: Save

Ctrl+A

 

File: Save All

Alt + (KeyPad) +

 

Navigation: Go To Next Change

Alt + (KeyPad) -

 

Navigation: Go To Previous Change

Alt + L Click

 

Navigation: Make Column Selection

Shift+F1

 

Windows: Select Previous Window

Shift+F2

 

Windows: Select Next Window

Shift+F8

 

View: Highlight Word

Ctrl+Tab

 

Windows: Last Window

Ctrl+Shift+]

 

到块的下面

Ctrl+Shift+[

 

到块的上面

 

 

 

5.CustomCommands

5.1.自定义命令

自定义命令可以让你很容易的执行外部shell批处理程序或者window程序,自定义一个命令后,你可以给该命令定义一个快捷键或者一个菜单项,以方便调用。自定义命令的完整步骤如下:

◆Source Insight菜单Options->CustomCommands...在弹出的Custom Commands对话框中点击Add按钮新建一个自定义命令(名称自己随便取个,如Editwith UE);

◆添加完新命令后,回到Custom Commands对话框界面,在Run编辑框中输入完整的命令,包括应用程序路径,程序条用的参数,如:"C:\Program Files\UltraEdit-32/uedit32" %f(意思是:在ultriEdit中编辑SI当前文件)。可以点击Run按钮来试运行下效果。

◆你还可以按Menu或Keys按钮来给刚自定义的命令关联一个菜单或者快捷键。

图表5‑1 Custom Commands

5.2.我的自定义命令

以下几个自定义命令我把他们关联到了菜单。

自定义的菜单名

功能

Run编辑框内容

Explore File

打开资源管理器并选中当前文件

ShellExecute open explorer /e,/select,%f

Edit with UE

在ultriEdit中编辑

"C:\Program Files\UltraEdit-32/uedit32" %f

Edit with VIM

在vim中编辑并定位到当前行

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

AStyle_C

格式化当前文件(后面章节会介绍)

"C:\AStyle\bin\AStyle.exe" --options="C:\AStyle\bin\c.opt" %f

Trim Whitespace

删除整个文件每行行末尾的空白字符

这个是从Edit: Trim Whitespace从加进来的,是SI自带的功能,只是没有放到菜单上来而已。

关于这些%f、%l等参数什么意思,这是SI的通配符,可以搜索下SI帮助文档“Command Line Substitutions”章节,里面有详细的介绍。我这里列举几个:

Character

Expands to

Example

%f

full path name of the current file *

c:\myproj\file.c

%r

path name of current file relative to the project source directory *

file.c

%n

leaf name of the current file *

file.c

%d

directory path of the current file

c:\myproj

%h

directory path of current file without the drive letter

\myproj

%b

leaf name of current file w/o extension *

file

%e

extension of the current file

c

%c

drive letter of the current file

c:

%p

the current project name

c:\myproj\myproj

%j

the source directory of the current project

c:\myproj

%J

the data directory of the current project

C:\Documents and Settings\Jim Smith\My Documents\Source Insight\Projects\Base

%v

the drive letter of the current project’s source directory

c:

%o

leaf name of the project without path

myproj

%l

the current line number

any number

%w

first word in the selection, or the word under the cursor

any word

%s

name of a temp file where the current selection is saved while the custom command runs.

d:\tmp\vt0004.

%a

the current date

2005-12-2

%t

the current time

8:23

%1 - %9

user is prompted for arguments

any strings

6.代码格式化

Source Insight本身没有对代码进行格式化的功能,如果将Artistic Style集成到SourceInsight中,那就可以为它扩展出代码格式化的功能了。

很可惜的是:SI只能格式化整个文件,我还没找到可以格式化部分选中行的方法。如果有谁知道了,请告知我下。

6.1.AStyle下载路径

AStyle为开源项目,支持C/C++、C#、java的代码格式化

Home Page: http://astyle.sourceforge.net/

Project Page:  http://sourceforge.net/projects/astyle/

下载最新Windows版本的AStyle,解压到C盘根目录,如C:\AStyle\bin\AStyle.exe

6.2.自定义命令集成Astyle工具

添加新的自定义命令Astyle_C,参数设置为:

“C:\AStyle\bin\AStyle.exe” --style=linux -s4 -S -N -L -m0 -M40 --suffix=none --convert-tabs %f

你还可以把AStyle定制的选项放在一个配置文件里:

“C:\AStyle\bin\AStyle.exe” --options=”C:\AStyle\bin\c.opt” %f

配置文件C:\AStyle\bin\c.opt文件的内容大致如下:

#大括号的样式

--style=ansi

 

#缩进样式(用tab还是space)

--indent=tab=4

 

#有的if语句没有{},自动补全

--add-brackets

 

#定义指针变量时,*号紧贴变量名

--align-pointer=name

这里只是做个简介,详细的参数说明可以看AStyle安装目录的帮助文档,如C:\AStyle\doc\index.html,或者看在线帮助文档:http://astyle.sourceforge.net/astyle.html

6.3.其他工具

也可以用其他格式化工具,可以选自己喜欢的用。比如:

工具

官网

indent

http://www.gnu.org/software/indent/

http://mirror.bjtu.edu.cn/gnu/indent/

 

[for windows]

http://gnuwin32.sourceforge.net/packages/indent.htm

uncrustify

http://sourceforge.net/projects/uncrustify/files/

 

 

7.插件

7.1.TabSiPlus

作者博客 :http://blog.csdn.net/orbit/article/details/7702472

下载地址1:http://www.winmsg.com/download/TabSiPlus_0_99b2_1749.rar

下载地址2:http://www.winmsg.com/download/TabSiPlus_0_99b2_1510.rar

 

这是个文件标签的插件,蛮好用的,谁用谁知道。效果如下图所示:

图表7‑1 TabSiPlus效果图

8.其他

8.1.ProjectWindow

比如要快速查找autoexp.em文件,可以在编辑框中输入*.em回车。如果要再次显示全部文件,输入**回车。如果你要查看非项目里的文件输入点‘.’回车。


转自: http://blog.csdn.net/benkaoya/article/details/8296197





1. SMART TAB的用法. 解决自动缩进.


    新开一个PROJECT后,点Options->Document Options,弹出对话框后先在左上角选好要用的Document Type,主要就是设C Source File和C++ Source File,选好后点右边中间的Auto Indent调整缩进。单选里一定要点Smart,右边有两个复选框Indent Open Brace和Indent Close Brace,具体效果是如何的可以看SIS的HELP。

    勾选Auto Indent和SMART的效果: 在C程序里, 如果遇到行末没有分号的语句,如IF, WHILE, SWITCH等, 写到该行末按回车,则新行自动相对上一行缩进四列.

    勾掉indent Open Brace和Indent Close Brace的效果: 继上一段,在相对缩进行里, 如果输入"{"或"}", 则自动和上一行列对齐。



2.TAB键=4个SPACE

    写代码时候很头痛的问题是在SIS界面里,即使设置好了Tab Width=4,按四个空格所显示的缩进,和按TAB键的缩进位置是不同的,后者要更靠里面三个字符的位置,但在左下角看到的Col=5都是一样的。这样 的代码在SIS里看了不对齐,到PB里看了却是对齐的。而SIS里面看着对其的代码,在PB里面会差三格。现在发现Options-> Document Options里面的右下角Editing Options栏里,把Expand tabs勾起来,然后确定。OK,现在TAB键的缩进和四个空格的缩进在SIS里面看起来就对齐咯!

3 字体
由于使用Source Insight编码,使用其他工具查看时,发现代码不能对其问题,正对这一现象,做如下要求:
使用Source Insight进行编码是,请将字体修改为Courier New,常规,12号字体。
修改方法如下:
1、从Options菜单内选择Document Options选项。
2、在弹出页面内,选择Screen Fonts选项。
3、在弹出字体对话框内,选择Courier New字体,常规字形,12号字体。然后确定退出。

4、从Options菜单内选择Save Configuration选项,然后确定保存。


转自: http://blog.csdn.net/lanyou1900/article/details/7382769

0 0
原创粉丝点击