软件推荐 - Source Insight

一直以来从事的开发工作,涉及的范围很杂,乱七八糟的都有,其中有一项占据了比较长的时间,那就是固件程序的开发,不涉及操作系统,也就是一般意义上大家所说的裸跑程序。​用过的芯片杂七杂八,比较主要的有Ateml的arm7,和stm32,开发软件用IAR。​当然也有大部分兄弟用的是keil-这个我没用过。​
不管IAR还是Keil,我基本上都是用来编译和下载调试,除了写一些很少的代码,我一般不用来编写代码,用过的人都知道,这两个软件的编辑功能相对于其他的IDE来说,实在是just so so。(据说新版的IAR也加入了自动完成之类的功能,我还没用用过,常用的6.10还没有这个功能,不过想想也知道,不会好到哪里去吧)。


所以一般都是在其他软件中编辑,然后在用IAR编译和下载调试,也就引出了我要推荐的软件,source insight。
我会从几个方面来说说自己的心得体会。
这里有个前提,我一直只用c语言开发,所以其他语言在source insight上的表现如何,我不清楚。


【source insight有什么好,什么条件下选择?】
当然这部分也主要在说,为什么最后我都选择了source insight。
在这里我们姑且把source insight视作一个功能比较强大的编辑器,不做其他归类上的争论。
下文中把它简称为si。
特意写出这部分内容,其实也是想印证一下大家是不是想法都是一样的,也就是程序员有没有所谓的共性思维,呵呵。


我大概时不时的折腾一下编辑器,并且其实一直想换掉si,主要有以下几种情况:
a,谁还没用过几个盗版的程序(请无情的鄙视我好了,但我并不是支持使用盗版),所以像si这种,必须要找到免费的替换掉;
b,看看其他大神都在用什么编辑器,也想体验一下(vim,emacs……);
c,程序员就是敲代码的,所以编辑器是天天打交道的,必须要搞一个称心如意的;
d,老是有新潮的东西出来,貌似网上的人都说的很神奇,想了解一下(atom,sublime……);


情况就是,目前我还在用si作为主要的编辑器,原因就是以下几点:
a,c语言现在不知道是不是老掉牙的东西了,网上的很多神器(atom,sublime之类的),可能对其他的语言支持的比较好,推荐的人很多也都是从事“前端”、“脚本”一类,对c语言的支持感觉有点不到位;
b,曾经很长一段时间都很痴迷vim(现在也很喜欢,只是实在没有时间搞),觉得配置比si要繁琐,而且有很多时候插件会出现异常,不知道怎么解决,最终懒癌发作,还是回归了si;
c,很喜欢自动补全的功能,其他的软件,除了vs,大多对c语言的补全做的不好,这里我举一个简单的例子,比如说sublime,我如果想在一个源文件A中用到另外一个源文件B中的函数,只有在B被打开的情况下,才会弹出补全,而si是直接就弹出来了。当然也许有人会说“可以安装cscope和ctags来解决”,当然可以这么做,我在vim里面就是这样,但是也有例外:比如说你新添加了一个函数,在si里面,只要保存一下,然后关闭,在其他文件就能自动补全和提示了,而使用ctags需要重新解析过,当然也可以把解析的指令定义成快捷键,但是总归太麻烦。
d,既然提到了vs,那为什么不用vs呢?话说这个东西真的太大,而且它的浏览功能还是不如si,所以最终也被pass掉了;


是不是说si就非常完美了呢?当然不是,比如说下面几个问题,就是我非常头痛,并且也是每次想换掉si的理由之一:

a,自动提示的弹出的速度很慢,尤其是相对于其他软件秒弹的情况,更显得有点滑稽。几个字母输入完,你在等它弹出补全,结果它不是马上弹出,你就会想:“擦,是不是前面几个字符我打错了……”正想着,弹出来了……“我擦,我刚才想干嘛?”
b,中文支持不好,常常在si里面中文写的注释,在其他软件里面查看的话就是乱码。我自己用倒是无所谓,但是我经常会把写好的程序发给别人调试,别人一般不用si,或者有自己的软件,打开以后全是乱码……这写注释和看代码的人的心情,真是郁闷的不要不要的;

综上所属,总结如下:
a,如果你是用c语言开发,而且开发的是和vs不相关的程序(嵌入式,linux服务器等等),建议尝试一下si;
b,如果你的源代码包含很多源文件,建议你使用si,(如果是单文件,我觉得sublime什么的就挺好的,甚至没配置过的vim都很好用-如果你不介意配色的话);
c,如果你的源程序很多,而且你的工作主要内容是测试、维护或者修改,建议你使用si;

【我是怎么用si】
这部分内容并不涉及很多的技巧,并不会有很多的快捷键和冷僻的技能,只列出常用的功能,因为我觉得工具就是工具,利其器是为了善其事,不用执着到凡事都需剑走偏锋。
其他观点:键盘快捷键好过鼠标点来点去。

我觉得有以下几个技巧,已经可以对编辑工作做出很大的帮助了。

【如何快速定位到某个文件,例如main.c】
使用ctrl+O快捷键,会自动打开Project File List,并且光标已经自动定位到输入框中。
输入需要打开的文件名称(支持匹配输入,如“mai”,不出意外的话,mai开头的文件已经匹配了),可以在匹配的文件减少的时候,配合方向键选择文件,然后回车打开。


建议:平时关闭project file list窗体,这样可以在屏幕上有更大的区域显示代码,而且打开以后,窗体也会自动关闭。


【如何快速定位到文件内的某个全局变量或者函数】
当然,指定的文件需要打开,关于打开指定的文件,请参考上一节的内容;
使用alt+L快捷键,会自动打开symbol window,并定位到输入框。
输入需要查找的全局变量、函数或结构体名称,然后使用方向键选中并回车,完成定位。

建议:可以设置一个快捷键,打开和关闭symbol window,以便有更大的区域显示代码。
配合上一个技巧一起使用,感觉好像K格斗游戏发连招一样,非常爽快。

【如何快速在文件中跳转】
这个不解释了,自己体会,使用以下几组快捷键。
ctrl+shift+f
alt+‘,’和alt+‘.’
alt+'['和alt+']'

适用场合,比如说查看某个函数的定义,已经跳到另外的文件,那么如何快速返回刚才的位置继续编辑呢?

其他的就是一些通用的技巧了,不同的编辑器大同小异,就不做额外的说明了。
掌握上面三个技巧,已经可以大幅度提高你的编辑速度,远远看去,屏幕上窗口跳来跳去,反正装b是够用了。

当然,还有一个不错的配置文件,我也是偶然从网上获得,使用之后,可以将source insight的配色改成暗色系,类似最新几版的vs的暗主题。
有(够)兴(无)趣(聊)的同学可以自己一点一点修改配色,达到同样的目的。
配置文件传送门:
http://download.csdn.net/detail/sevenchrist/9421222
一般复制到下面的文件夹下:
c:\Documents\Source Insight\Settings

你可能感兴趣的:(Windows相关)