软件推荐 - 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之类,就那么几种颜色(也许没深入设置),也能叫语法高亮?至于其他 ...
随机推荐
- wince6.0 开机启动定制的程序
1.prject.bib MediaApp.exe $(_FLATRELEASEDIR)\MediaApp.exe NK H MediaApp.lnk $(_FLATRELEASEDIR)\Media ...
- ajax上传组件
BJUI框架的异步上传组件功能. 初始化: 1.Data属性:div添加属性data-toggle="upload"后可触发上传组件. 示例代码: <div class=&q ...
- SharePoint 2013 Nintex Workflow 工作流帮助(九)
博客地址 http://blog.csdn.net/foxdave 前叙:假期结束了,知道为什么假期如此短暂吗?因为假期的每天只有半天.春节过完了,新的一年开始了,大家或许之前在新年的时候都许下了自己 ...
- ios 检测应用程序升级问题
app 上其实已经有自动检测我们版本的功能. 其实我也觉得对于一个程序员来说检测功能让,系统来维护更合适和合理.开发者只要告诉苹果即可. 然而今天老大非要实现自己版本更新的问题,因此也查找了相关的资 ...
- git——学习笔记(三)分支管理
一.创建.合并分支 每次提交,git都往后走一格,串成一跳时间线,head指向的是分支,分支指向提交.master是主分支,dev是另一条分支,分支就像指针一样,合并.删除分支时,修改的都是指针,工作 ...
- PHP面向对象的继承
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javascript 变量声明有var与无var 的区别
1.在函数作用域内 加var定义的变量是局部变量,不加var定义的就成了全局变量.使用var定义var a = 'hello World';function bb(){var a = 'hello B ...
- Planning for a period of time
After a period of struggle , i decided to follow the teacher Chen learning . Say true i really disli ...
- Sticks_dfs
Description George took sticks of the same length and cut them randomly until all parts became at mo ...
- 钉子和小球_DP
Description 有一个三角形木板,竖直立放,上面钉着n(n+1)/2颗钉子,还有(n+1)个格子(当n=5时如图1).每颗钉子和周围的钉子的距离都等于d,每个格子的宽度也都等于d,且除了最左端 ...