由于目前我从事的开发工作只能在Unix上编译和测试,开发人员一般都习惯于在Windows下使用Ultraedit(以下简称UE)编辑代码,然后再FTP上传,这注定了IDE将与我们无缘。在无比怀念Eclipse、Visual Studio的同时,我尝试了很多Windows下优秀的C++开发工具,不断地比较和取舍后最终还是回归了UE。
UE曾经是16进制编辑器的代名词,强大的列编辑模式目前也无人能及,多年的演进让它的功能丰富了到让人望而生畏(想想那一屏高的右键菜单),幸好它还拥有着同样强大的可定制性。经过一番配置和二次开发后,现在我开发后台已经颇为顺手,下面介绍一下我的定制过程,均基于我当前在用的v15.10.0.1028版本。
我的开发方式要求我们的工具要有远程编辑功能;为了方便,我还希望能以目录树的方式,随选随改;工作的网络环境不是很理想,希望切换远程目录时不会停顿;我的编辑仅限于代码文件,不希望编译过程中产生的中间文件(包括中间代码文件)干扰我的视线。在我尝试过的众多文本编辑器和IDE中,只有UE优雅地解决了这些问题。
UE中的工程同时支持本地文件和远程文件,支持多层虚目录,只须将FTP上的源文件组织成一个工程,即可快速编辑,文件也可以保持原来的目录层次,避免了FTP方式的频繁加载目录和中间文件的干扰。
我的工作可能涉及5个子系统,近200个模块,将这些模块人工组织成UE工程明显不现实。研究工程文件发现,一个工程共分为3部分,头部是格式声明,然后是目录层次,最后是每个目录下的文件全路径,如下:
这应该可以写一个Shell脚本,遍历UNIX上的源代码目录,生成项目文件,下载到Windows中用UE打开,最终证实是可行的。脚本如下:
使用前修改脚本内容,将FTP_LINK="182ng"中的182ng修改为UE中FTP的连接名称。建议名称尽量短小,以减少最终生成的项目文件的体积。
![]()
将脚本文件放到代码的最上级目录,执行chmod +x ue_prj.sh添加可执行权限,执行ue_prj.sh > openboss.prj,即可生成该目录下所有文件组织成的UE工程,下载至Windows中即可用UE打开,效果如下:
![]()
注意:
生成项目前先up一下代码,保证生成的项目是最新的
对曾经编译的模块,最好gmake clean_all一次,避免中间文件也加入项目中