source insight 保存时删除多余空格,去除多余空格 space tab键

摘自:https://blog.csdn.net/lanmanck/article/details/8638391
 
2013年03月05日 15:57:28 lanmanck 阅读数:16527更多

个人分类: 嵌入式/Linux/C语言
 
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanmanck/article/details/8638391

上传源码时最好把空格行去掉,以前介绍了使用notepad++,现在发现,习惯用source insight的人士也可以很easy的去掉了:

Options->Perferences->Files-> Remove extra white space when saving。保存时自动去除每行尾部的空格和tab。

以下是另一个兄弟的心得:

http://blog.csdn.net/ison81/article/details/3510043

用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的配置有两级,一是全局配置,一是项目配置。出入方便考虑,统一一个配置就好了,在创建项目时选择用全局配置(默认值)。

导入配置也可以通过双击配置文件来完成。

source insight 保存时删除多余空格,去除多余空格 space tab键的更多相关文章

  1. source insight 保存时删除多余空格,去除多余空格 space tab键【转】

    转自:http://blog.csdn.net/lanmanck/article/details/8638391 上传源码时最好把空格行去掉,以前介绍了使用notepad++,现在发现,习惯用sour ...

  2. 在source insight project中删除文件夹或者文件的通用方法

    1.删除文件夹或者文件在硬盘上的数据 2.project->synchronize files...看到如下图,然后勾选remove missing files from project

  3. source insight 完全卸载和重装

    Source insight的卸载不干净,会影响之后的安装 切入正题,完美卸载source insight的方法: 一.在pc的控制面板—>程序—>卸载程序 找到source insigh ...

  4. source insight 相对路径新建工程

    在创建source insight工程时,最好用“相对路径”,并“将si的工程文件,保存到源码包里”! 这样一来,等以后,将源码包放置于硬盘上其他位置,或分发给其他人,或改了源码包的名称,si工程仍然 ...

  5. 【转】Source Insight的Alt + W键不能使用的解决办法

    转载地址:http://velep.com/archives/607.html 对于Source Insight 3.5,习惯于使用Alt + W组合键并配合数字键来切换文件窗口,带来无比的便利.但是 ...

  6. Source insight添加工具自动排版

    当在网上找了一些别人的程序拿来学习,用Source insight来看时,会不会因为代码太乱看了义愤填膺呢? 有很多集成的开发环境可以自动排版,但source insight却不行!不过,有工具和配置 ...

  7. 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结

    现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...

  8. Sublime 保存时自动转换tab成空格

    笔者最近学习c, c语言的清新代码风格让人眼前一亮,不禁爱上这种写作风格,变量名.等号.常量值之间空格分隔,清爽便于阅读. 于是笔者以此为代码写作规范,查阅自己以前写的java代码,以下用notepa ...

  9. 字符串中去除多余的空格保留一个(C#)

    在C#的字符串,其中有许多空格,现要求是把多余的空格去除保留一个.原理是使用Split()方法进行分割,分割有一个选项是RemoveEmptyEntries,然后再把分割后的字符串Join起来. st ...

随机推荐

  1. dts、dtb编译

    设备树(Device Tree)包括DTC(device tree compiler),DTS(device tree source和DTB(device tree blob). dtc编译器能够把 ...

  2. MySQL COUNT(*) & COUNT(1) & COUNT(col) 比较分析

    在面试的时候我们会经常遇到这个问题: MySQL 中,COUNT(*).COUNT(1).COUNT(col) 有区别吗? 有区别. 接下来我们分析一下这三者有什么样的区别. 一.SQL Syntax ...

  3. 20165226 2017-2018-4 《Java程序设计》第7周学习总结

    20165226 2017-2018-4 <Java程序设计>第7周学习总结 教材学习内容总结 第十一章 JDBC与MySQL数据库 下载MySQL最新版本. 连接数据库 下载JDBC-M ...

  4. 【UVA】10763 Foreign Exchange(map)

    题目 题目     分析 没什么好说的,字符串拼接一下再放进map.其实可以直接开俩数组排序后对比一下,但是我还是想熟悉熟悉map用法. 呃400ms,有点慢.     代码 #include < ...

  5. Python Twisted系列教程17:造”回调”的另一种方法

    作者:dave@http://krondo.com/just-another-way-to-spell-callback/  译者: Cheng Luo 你可以从”第一部分 Twist理论基础“开始阅 ...

  6. 【转】C#调用java类、jar包方法

    原文地址:http://blog.csdn.net/black0707/article/details/5769366 一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录 ...

  7. python开发_python中的module

    在python中,我们可以把一些功能模块化,就有一点类似于java中,把一些功能相关或者相同的代码放到一起,这样我们需要用的时候,就可以直接调用了 这样做的好处: 1,只要写好了一个功能模块,就可以在 ...

  8. Sping实战之通过JAVA代码装配Bean

    尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置Spring.比如说,你想要将第三方库中的组件装配到你的应用中,在这 ...

  9. 1、svn架设、基本命令

    SVN是Subversion的简称,是一个开放源代码的版本控制系统.是一项十分基础,必须能够熟练使用的工具.Apache网站:https://subversion.apache.org/ 采用C/S模 ...

  10. 1、linux软件包管理

    linux软件包管理分为两种:RPM包管理和源码包管理,其中RPM包管理又有两种方式:①RPM命令管理,②YUM在线命令管理. RPM包依赖关系: 1.树形依赖 2.环形依赖 (用一条命令同时装来解决 ...