source insight研究——配置篇(转)
4/22/2009 9:57:30 PM
source insight研究——配置篇
用si有好几年了,零零散散也累积了不少心得,但总觉得还有一些内容是不知道的,所以今天干脆来个大清扫,把所有的选项都研究一遍,并把自认为有用的内容在这里整理一下。
si的主要配置都在Options->Perferences菜单里,
1、General
Project File Synchronization->Remove missing file from project选上可以避免因文件找不到而弹出错误对话框。
把Misc->Use stricter confirmation dialog选项去掉可以使确认时不输入"yes"。
2、Typing
Source Editing->Indent commands affect #-preprocessor statements。去掉后(默认值),进行多行缩进时不会影响预处理语句(如#if...#endif)。
Auto Completion->Use detailed completion window,选上后,联想时可以出现该函数的详细信息。见下图:
(简单)
(详细)
Auto Completion->Insert paremeters for functions,去掉后,自动联想不会把整个参数都输出到当前行。
Browsing in Lists->Match syllables while typing(slower)。在symbol list框检索符号时是否采用音节匹配方式,如对于函数FindNext,输入find或者next都可以找到该函数。该功能可能导致反应缓慢(视工程和机器配置而定),建议关闭,因为即使在关闭状态下也可以通过先输入空格再输入单词来动态启用该功能。
注意Browsing in Lists里其实有两个功能,但一般我们只能看到Match syllables while typing这一条,应该是si的菜单设计没有做好,导致在中文windows下不能显示全,另一个功能是Match members while typing,用于打开/关闭按成员变量名来检索类/结构体的功能。
3、Files
Opening Files->Sharing: Let other programs modify files,以共享方式打开文件,这个很重要,保证可以在其它编辑中同时编辑该文件。典型的场景就是用ide环境去动态编译调试,而用si静态阅读。
Customize 'Open' Command...,用于设置Ctrl+O打开的页面,默认选项是 Project File list view in Project Window,建议保持默认。
Saving Files->Preserve Undo data and revision marks after saving,如果发现保存后就不能undo了,请检查该选项是否选中。
Remove extra white space when saving。保存时自动去除每行尾部的空格和tab。建议选中。
4、Languages
自定义其它编程语言的语法解析,这个...还是另写一篇来讲吧。
Conditional Parsing不要错过了,这里的Conditions功能实在让人喜欢。Conditions是什么意思呢?我们的代码中一般都会有一些开关宏,通过在Conditions中配置这些宏的默认值,可以让si把配置为不开启的宏视为无效代码,从而不进行符号检索。
如果源代码中的开关宏太多,还可以使用Condition Parsing中的Scan Files来自动找出所有开关宏。
5、Symbol Lookups
没太多特别的。
6、Display
显示配置和个人喜好和显示器的状态有关,偶用的x60小本,屏幕资源有限,所以在Display Elements里把Project Window, Status Bar, Tool Bar,Clip Window都关了,基本用快捷键可以代替它们。
Options->Horizontal scroll bars for each new window。很多大师都教导我们说一行不要写太多代码。在这个指导思想下,我们不需要这个东东。
Show exact case of file names。如果看不惯si把所有的文件名首字母都大写就勾上这个选项吧。
Tile source and destination windows for Source Link commands。Source Link很多时候用于外部命令输出结果的解析(如Make, lint),这个功能会把解析结果与目标窗口自动tile,很实用。
Trim long path names with ellipses。这个建议不要选中。事实上这个主要影响标题栏,但一般来说标题栏上的空间是充裕的,选上之后往往会令我们不知道所编辑文件的具体位置。
7、Color
这个不用多说了。自己怎么喜欢怎么配吧。
8、Syntax Formatting
如果让大家说出喜欢si的几个理由,我想语法着色一定会是其中之一。
Basics->Use only color formatting。只启用style中关于颜色的设置。其它如粗体、斜体、阴影等都不启用。
Apply Styles for Lanugage Elements。把分类启用style,都选上吧。
Symbol Reference Lookups->Qualify references to members。检测成员的有效性,如果不是类/结构体中的一部分,则不启用style。虽然可能导致性能降低,但还是建议打开。同样Qualify references to functions也是。
这里有个按钮可以进入Doc Types页面(Options菜单也可以进入),里面有很多重要选项:
Editing Options中,
Expand tabs, Visible tabs可以帮助我们发现并转换tab。
Show right margint和Margin width可以提醒我们是否把一行写得太长。
Symbol Window选项建议关闭(因为有快捷键)。
Auto Indent对话框中,
如果没有特别喜好,建议把Smart Indent Options的两个勾都去掉。同时Auto Indent Type选Smart。
9、Syntax Decorations
可以把一些符号转换成特殊形式显示,如->转换成→。如果要使用该功能,不能开启Syntax Formatting->Basics->Use only color formatting。
Auto annotations下的三个功能都比较有用,
Show arrows at goto statements可以在goto时显示一个向上或向下的箭头,表示是向上goto还是向下goto。不过我们还是尽量不要用goto了。
Annotate closing braces with end-statement。在"}"后显示标识,表示该"}"与哪个if/switch配对。而下面的Annotate closing braces only for long blocks则是一个补充选项,表示只在较长的语句块时才显示标识。
10、Searching
没什么特别的,注意Automatically load selection into Find pattern。
11、Remote
与远程登录相关的一些选项。可以提高远程使用的显示性能。
12、Folders
没什么特别的。
最后简单说下si的配置文件。可以通过Options->Load Configuration/Save Configuration来导入/导出配置,可以导出全部,也可以导出某几个部分(如style)。si的配置有两级,一是全局配置,一是项目配置。出入方便考虑,统一一个配置就好了,在创建项目时选择用全局配置(默认值)。
导入配置也可以通过双击配置文件来完成。
si的主要配置都在Options->Perferences菜单里,
1、General
Project File Synchronization->Remove missing file from project选上可以避免因文件找不到而弹出错误对话框。
把Misc->Use stricter confirmation dialog选项去掉可以使确认时不输入"yes"。
2、Typing
Source Editing->Indent commands affect #-preprocessor statements。去掉后(默认值),进行多行缩进时不会影响预处理语句(如#if...#endif)。
Auto Completion->Use detailed completion window,选上后,联想时可以出现该函数的详细信息。见下图:
(简单)
(详细)
Auto Completion->Insert paremeters for functions,去掉后,自动联想不会把整个参数都输出到当前行。
Browsing in Lists->Match syllables while typing(slower)。在symbol list框检索符号时是否采用音节匹配方式,如对于函数FindNext,输入find或者next都可以找到该函数。该功能可能导致反应缓慢(视工程和机器配置而定),建议关闭,因为即使在关闭状态下也可以通过先输入空格再输入单词来动态启用该功能。
注意Browsing in Lists里其实有两个功能,但一般我们只能看到Match syllables while typing这一条,应该是si的菜单设计没有做好,导致在中文windows下不能显示全,另一个功能是Match members while typing,用于打开/关闭按成员变量名来检索类/结构体的功能。
3、Files
Opening Files->Sharing: Let other programs modify files,以共享方式打开文件,这个很重要,保证可以在其它编辑中同时编辑该文件。典型的场景就是用ide环境去动态编译调试,而用si静态阅读。
Customize 'Open' Command...,用于设置Ctrl+O打开的页面,默认选项是 Project File list view in Project Window,建议保持默认。
Saving Files->Preserve Undo data and revision marks after saving,如果发现保存后就不能undo了,请检查该选项是否选中。
Remove extra white space when saving。保存时自动去除每行尾部的空格和tab。建议选中。
4、Languages
自定义其它编程语言的语法解析,这个...还是另写一篇来讲吧。
Conditional Parsing不要错过了,这里的Conditions功能实在让人喜欢。Conditions是什么意思呢?我们的代码中一般都会有一些开关宏,通过在Conditions中配置这些宏的默认值,可以让si把配置为不开启的宏视为无效代码,从而不进行符号检索。
如果源代码中的开关宏太多,还可以使用Condition Parsing中的Scan Files来自动找出所有开关宏。
5、Symbol Lookups
没太多特别的。
6、Display
显示配置和个人喜好和显示器的状态有关,偶用的x60小本,屏幕资源有限,所以在Display Elements里把Project Window, Status Bar, Tool Bar,Clip Window都关了,基本用快捷键可以代替它们。
Options->Horizontal scroll bars for each new window。很多大师都教导我们说一行不要写太多代码。在这个指导思想下,我们不需要这个东东。
Show exact case of file names。如果看不惯si把所有的文件名首字母都大写就勾上这个选项吧。
Tile source and destination windows for Source Link commands。Source Link很多时候用于外部命令输出结果的解析(如Make, lint),这个功能会把解析结果与目标窗口自动tile,很实用。
Trim long path names with ellipses。这个建议不要选中。事实上这个主要影响标题栏,但一般来说标题栏上的空间是充裕的,选上之后往往会令我们不知道所编辑文件的具体位置。
7、Color
这个不用多说了。自己怎么喜欢怎么配吧。
8、Syntax Formatting
如果让大家说出喜欢si的几个理由,我想语法着色一定会是其中之一。
Basics->Use only color formatting。只启用style中关于颜色的设置。其它如粗体、斜体、阴影等都不启用。
Apply Styles for Lanugage Elements。把分类启用style,都选上吧。
Symbol Reference Lookups->Qualify references to members。检测成员的有效性,如果不是类/结构体中的一部分,则不启用style。虽然可能导致性能降低,但还是建议打开。同样Qualify references to functions也是。
这里有个按钮可以进入Doc Types页面(Options菜单也可以进入),里面有很多重要选项:
Editing Options中,
Expand tabs, Visible tabs可以帮助我们发现并转换tab。
Show right margint和Margin width可以提醒我们是否把一行写得太长。
Symbol Window选项建议关闭(因为有快捷键)。
Auto Indent对话框中,
如果没有特别喜好,建议把Smart Indent Options的两个勾都去掉。同时Auto Indent Type选Smart。
9、Syntax Decorations
可以把一些符号转换成特殊形式显示,如->转换成→。如果要使用该功能,不能开启Syntax Formatting->Basics->Use only color formatting。
Auto annotations下的三个功能都比较有用,
Show arrows at goto statements可以在goto时显示一个向上或向下的箭头,表示是向上goto还是向下goto。不过我们还是尽量不要用goto了。
Annotate closing braces with end-statement。在"}"后显示标识,表示该"}"与哪个if/switch配对。而下面的Annotate closing braces only for long blocks则是一个补充选项,表示只在较长的语句块时才显示标识。
10、Searching
没什么特别的,注意Automatically load selection into Find pattern。
11、Remote
与远程登录相关的一些选项。可以提高远程使用的显示性能。
12、Folders
没什么特别的。
最后简单说下si的配置文件。可以通过Options->Load Configuration/Save Configuration来导入/导出配置,可以导出全部,也可以导出某几个部分(如style)。si的配置有两级,一是全局配置,一是项目配置。出入方便考虑,统一一个配置就好了,在创建项目时选择用全局配置(默认值)。
导入配置也可以通过双击配置文件来完成。