软件推荐 - 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
软件推荐 - Source Insight的更多相关文章
- source insight 4.0.086破解
source insight 4.0.093 破解: 1. 安装原版软件:Source Insight Version 4.0.0093 - March 20, 2018 2. 替换原主程序:sou ...
- win8下Source Insight has not been installed completely问题的解决
系统:windows8 软件:Source Insight 3.5 安装后打开总是提示如下图错误,没法使用. 卸载重新安装好多次,还是不行,百度一下,终于找到方法,记录一下,方便以后查找. 解决方法: ...
- 推荐一款优秀的代码编辑软件--Source Insight
“工欲善其事,必先利其器”,好的工具能够提高我们办事的效率,进而提升团队乃至企业的竞争力. 对于软件开发工程师来说,选择一款优秀的代码编辑软件也是很重要的.最近,我看到有很多同事还在用微软的VC ++ ...
- 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架
上一篇文章介绍了“TabSiPlus”是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码.本文前面提到过,由于windows进程管理的限制,扩展代码必须以动 ...
- 【转】破解Source Insight 3.5.0072过程 附:安装软件+注册机
转载地址:http://blog.csdn.net/qs_hud/article/details/8884867 注册机及软件下载地址:http://download.csdn.net/detail/ ...
- 【转载】【软件安装】Source Insight 4.0常用设置
1.Source Insight简介 Source Insight是一个面向软件开发的代码编辑器和浏览器,它拥有内置的对C/C++, C#和Java等源码的分析,创建并动态维护符号数据库,并自动显示有 ...
- 代码阅读工具:Source Navigator和Source Insight
(摘自http://www.cnblogs.com/yc_sunniwell/archive/2010/08/25/1808322.html) 一.Source Insight实用技巧: Source ...
- 【工利其器】必会工具之(一)Source Insight篇
前言 “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是 ...
- Linux下用source insight的另一种方式--Samba
花了一些时间想找一个在Linux下的类似source insight的东东,网上有人推荐的source navigator,kscope之类,就那么几种颜色(也许没深入设置),也能叫语法高亮?至于其他 ...
随机推荐
- linux安装时出现your cpu does not support long mode的解决方法
如果你确定你的电脑支持64bit且是64bit的宿主系统,则需要修改BIOS中的Inter Virtualization Technology为enabled.
- string(Integer)类的equals和==区别和联系(验证密码的时候用得到)
“==”在八种原始数据类型中,判断的是两边的值是否相等.对于对象类型来说,判断的是内存地址,所以为true所满足的条件就是两边的引用指向同一个对象. 比如String s1 = "abcde ...
- 用C#感受MongoDB MapReduce之魅力 转
MapReduce这个名词随着hadoop的用户的增多,越来越被人关注.MapReduce可谓MongoDB之中的亮点,我也想深入了解MapReduce,加上MongoDB操作简单,所以就选择了它.M ...
- unity3d打包和包的使用
打包: ①Assets下新建文件夹Editor和steamingAssets ②对选定文件打包: using UnityEngine; using UnityEditor; using System. ...
- 12-27 UITableView常用属性及方法
UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...
- Ch2.Making Reconmmendation in PCI
做<Programing Collective Intelligence>中chapter 2.Making Recommendation的实例,有3个问题花了好长时间: 1. 遇到报错& ...
- UIkit框架之UIbutton的使用
1.UIbutton的继承关系:UIcontroller:UIview:UIresponder:NSObject: 2.添加按钮的步骤: (1)创建按钮的时候首先设置类型 (2)添加标题或者图片,设置 ...
- 使用iskindofclass来发现对象是否是某类或其子类的实例
发现对象是否是特定类或其子类的实例 要发现对象是否是某类或其子类的实例,请在对象上调用 isKindOfClass: 方法.当应用程序需要发现其响应的消息(实现的或继承的),它有时进行以上的检查. s ...
- Interview----2 sum
题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 O(n).如果有多对数字的和等于输入的数字,输出任意一对即可. 例如输入数组 ...
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
二进制:以0b开头,只有0和1两种数字.如0101 十进制:0~9十个数字表示.如25 十六进制:以0~9,A~F表示,以0X开头.如0X2B 十进制转换为X进制:连除倒取余 X进制转换为十进制:按权 ...