一直以来从事的开发工作,涉及的范围很杂,乱七八糟的都有,其中有一项占据了比较长的时间,那就是固件程序的开发,不涉及操作系统,也就是一般意义上大家所说的裸跑程序。​用过的芯片杂七杂八,比较主要的有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

软件推荐 - Source Insight的更多相关文章

  1. source insight 4.0.086破解

     source insight 4.0.093 破解: 1. 安装原版软件:Source Insight Version 4.0.0093 - March 20, 2018 2. 替换原主程序:sou ...

  2. win8下Source Insight has not been installed completely问题的解决

    系统:windows8 软件:Source Insight 3.5 安装后打开总是提示如下图错误,没法使用. 卸载重新安装好多次,还是不行,百度一下,终于找到方法,记录一下,方便以后查找. 解决方法: ...

  3. 推荐一款优秀的代码编辑软件--Source Insight

    “工欲善其事,必先利其器”,好的工具能够提高我们办事的效率,进而提升团队乃至企业的竞争力. 对于软件开发工程师来说,选择一款优秀的代码编辑软件也是很重要的.最近,我看到有很多同事还在用微软的VC ++ ...

  4. 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架

    上一篇文章介绍了“TabSiPlus”是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码.本文前面提到过,由于windows进程管理的限制,扩展代码必须以动 ...

  5. 【转】破解Source Insight 3.5.0072过程 附:安装软件+注册机

    转载地址:http://blog.csdn.net/qs_hud/article/details/8884867 注册机及软件下载地址:http://download.csdn.net/detail/ ...

  6. 【转载】【软件安装】Source Insight 4.0常用设置

    1.Source Insight简介 Source Insight是一个面向软件开发的代码编辑器和浏览器,它拥有内置的对C/C++, C#和Java等源码的分析,创建并动态维护符号数据库,并自动显示有 ...

  7. 代码阅读工具:Source Navigator和Source Insight

    (摘自http://www.cnblogs.com/yc_sunniwell/archive/2010/08/25/1808322.html) 一.Source Insight实用技巧: Source ...

  8. 【工利其器】必会工具之(一)Source Insight篇

    前言         “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是 ...

  9. Linux下用source insight的另一种方式--Samba

    花了一些时间想找一个在Linux下的类似source insight的东东,网上有人推荐的source navigator,kscope之类,就那么几种颜色(也许没深入设置),也能叫语法高亮?至于其他 ...

随机推荐

  1. Project和Module的介绍

    Project 和 Module 介绍 这两个概念是 IntelliJ IDEA 的必懂知识点之一,请务必要学会. 如果你是 Eclipse 用户,并且已经看了上面给的链接,那 IntelliJ ID ...

  2. JVM-JDK命令行工具

    JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. ...

  3. ODI中查看变更及对象查找

    ODI中可以查看每个对象的修改时间.修改人,当ETL作业失败之后,可以根据这些信息了解到是否有人修改过相关的对象. 另外,在ODI的菜单项中,也可以查看按修改时间.人员等搜索指定的对象,如查找最近7天 ...

  4. python常见错误总结

    TypeError: 'module' object is not callable 模块未正确导入,层级关系没找对 缩进错误. IndentationError: unindent does not ...

  5. linux命令存放 bash: xxx command not found

    参考资料:http://blog.sina.com.cn/s/blog_688077cf01013qrk.html 提示:bash: xxx command not found 首先就要考虑root ...

  6. Java运算符及顺序、选择结构

    :运算符(掌握) ()算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和- ...

  7. JavaScript经典语录

    Js的解析与执行过程: 全局中的解析和执行过程:一:预处理:创建一个此法环境LE, 扫描JS:1.用声明的方式声明的函数(不是函数表达式),2.用var定义的变量.加到预处理阶段的此法环境中 全局环境 ...

  8. IOS 用正则表达式解析HTML等文件,得到所有文本

    获得网页内容 NSURL *url=[NSURL URLWithString:@"http://121.199.34.52/wordpress/?json=core.get_post_con ...

  9. Best Cow Fences_二分&&DP

    Description Farmer John's farm consists of a long row of N (1 <= N <= 100,000)fields. Each fie ...

  10. excel表里的数据导入到数据库里

    采用的是jxl,所以需要导jxl-2.4.2.jar的jar包.(前提知道excel表的目录): //用log记录异常信息 private static final Logger log = Logg ...