本人嵌入式linux开发,早前做纯嵌入式(stm32之类)的时候一直用source insight,感觉非常顺手(除了中文注释分隔为两个字符问题)。
转战到mac下之后试用N多中代码编辑器全都不慎如意,
如eclipse中规中矩,没有函数调用关系图和上下文预览功能;
传说中的understand的函数调用关系图确实强大,但只能手动生成,不能实时查看,同样不支持函数调用关系和上下文预览;
号称21世纪现代代码编辑器的sublime text和Atom,其中sublime text连最基本的symbol列表都不支持,起码我是找了很久没找到,更别说函数调用关系图和上下文预览这种功能了;
slickedit,这个是最接近source insight使用体验的一款代码编辑器,我还写了一个win linux mac下的破解教程:http://blog.csdn.net/huyuan7494/article/details/72897325
其界面和有些功能甩source insight很多,比如会自动把结构体指针的.转换为->,搜索结果已tool window的形式展现,而不是想source insight一样占领整个编辑窗口,用来编辑代码非常爽,但是代码浏览功能不如source insight,比如reference窗口不能以图形的形式展现,且非实时的,只能使用ctrl + / 快捷键更新,而且reference窗口和preview窗口不能共用代码预览窗口,也就是当我把preview和preference放在同一个便签组里面的时候就必须手动切换标签页才能查看两个功能,而我把他们两个拆分开来放在底部时,由于每个窗口都要显示代码预览窗口,造成代码预览可视窗口特别小,几乎无实际意义如下图,而且slickedit对空间使用很浪费,比如preview窗口和reference窗口左边的关联项,前面有莫名其妙或者根本不必要的空白,让本来就非常紧张的屏幕面积变得更加紧张,下图的截图是我在mbp15寸上面上的截图,在这么大的屏幕上下面的两个代码预览窗口宽度勉强够用,我更不能理解的一点是明明preview和reference可以分成两个窗口,显示的代码预览内容却是同步的,那特么做成两个窗口有卵用啊,赤裸裸的浪费我的屏幕空间
作为对比,下面贴一张source insight的截图对比一下,可以发现si对于屏幕的利用是多么的充分
讲到这里其实我一直在吐槽,吐槽为什么没有别的厂商开发出一款类似source insight功能的代码编辑器,为什么source insight上十年都不更新,为什么10年都不更新还不倒闭。。
就在昨天之前我还打算slickedit凑合着用下去,昨天又重新用crossover装了一遍source insight3.5,然后折腾了一下,发现以前遇到的字体模糊,输入卡死问题都可以解决了,又能用上si了,今天写个记录方便以后查阅。
先说一下背景,其实我老早就尝试过使用wine和crossover安装,但是无论是最新的source insight4.0还是老版的3.5,都有问题,其中4.0的问题是工具栏垂直高度占了半个屏幕!我试过在Linux下也是这个结果,真是醉了;而安装3.5的时候刚开始遇到的问题是首次打开输入信息的时候一输入就卡死,后来使用slickedit一段时间实在受不了(其他sublime text之类的更不用说了,根本没法用),又安装了一次,居然莫名其妙好了,但是又遇到新的问题,字体模糊,感觉分辨率非常低,折腾了一下换了一下字体无效,又放弃了;又用了一段时间的slickedit之后,又忍不住重新安装了一下,然后尝试性的在容器配置里勾选了高分辨率模式(如下图),改完之后字体清晰了!即上图中的效果,虽然工具栏按钮小的跟蚂蚁似的,但我也只用得到两个前进后退跳转按钮,使用快捷键可以代替之,到此 ,终于有了一个还算满意的代码浏览编辑工具了。
下面说下最关键的,source insight3.5虽说是初次打开输入信息卡死的问题没有了,但是在后续进行字体设置的时候又出现输入字符卡死的问题,就是修改了字体之后,弹出一个对话框提示是否全部修改,输入yes,刚输入一个字符就卡死了,反复试验都不行,后来在Windows虚拟机里面也装了一个source insight3.5,然后配置好,然后导出配置
option -- save configuration,然后回到mac里的si,option-- load configuration,就可以了,以后再需要修改什么配置的时候同样的先在Windows下配置好,然后导出,再导入。