受 C#的SnippetCompiler 的启发, 最重要的是基于我自己的需要, 就象我希望经常在SnippetCompiler中对C#, 对.NET类库所做的那样, 我希望有一个同类的工具是针对C/C++的, 这样我可以在里面试用我不熟悉的一个库函数, 或者探索STL, boost的特性, 在这里实验之后把相关代码的用法移到产品代码中.
遗憾的是, 合我意东西并没找到, 有人开发轻量级的C++ IDE, 但所谓轻量级, 对一个SnippetCompiler来说, 要求还是过多了, 我的要求:
一键启动, 一键说的有点过火, 我目前的使用经验来说, 最有效的方式是使用slickrun, 在里面键入要启动的程序名字(可以自己定义名字, 不一定需要是原始的exe文件名)的开始部分, 直接回车. 对SnippetCompiler可以做到. 对任何应用程序都可以做到, 这还只是应用程序本身的启动.
那么Vim呢. 因为应用的比其它程序更频繁, 我需要一个全局的一键启动, 绕过slickrun, 连在slickrun的小窗口里键入vim这3个字都给省去, 我用CTRL+ALT+X 来启动一个唯一的vim进程, 如果这个进程已经启动, 则直接切换到这个进程, 激活其主窗口为活动窗口, 接受焦点, 办法是使用autohotkey, 其配置文件如下, 原理不在这里详述:
^!x::Run D:\Vim\Vim72\gvim.exe -f --servername daily_gvim --remote-tab-silent "+silent call remote_foreground('daily_gvim')" E:\work\tips\misc.xml
然后, 在这个vim窗口中, 我理想中的C++ SnippetCompiler应该一行代码都不用键入, 就可以以一个键启动编译, 连接, 运行, 并将结果显示在一个结果窗口中, 正如VS中的output窗口一样, 这里的一键可没有任何夸大的广告成分, 我的定义是F5, 用VC编译器做, F6, 用mingw中的g++做, F9, 用pc-lint检查代码质量.
输出结果无论对错, 都在output窗口中.
这个东西我已经使用有一段时间了, 一直觉得自己的需求可能别人不会感兴趣, 但又觉得一个C++程序员有这样的需要很正常, 这样可以最大地简化一个C++程序员想以代码验证自己的想法的流程, 对于简单的几行代码, 我不会在产品所在的工程里做, 也不想在VS中新建一个命令行窗口, 更不想被迫为目录, 项目名, 文件起名字, 我想要的就是直接键入代码, 运行看到结果. 如有错误, 显示出来.
以前我干这种事可是要写一个test.cpp, 然后打开一个黑乎乎的DOS窗口, 运行vcvars32.bat(得有多少次忘记这个), 然后运行
cl test.cpp
test.exe
如果程序有错误, 再次用gvim.exe test.cpp打开, 修改, 保存, 重来.
最后, 结果满意时, 当前目录生成了多少个临时文件? 能否记得都删除掉.
想试boost, 加上/I /L 参数吧.
如果你想让一段代码最大程度地符合语言标准, 想同时用VC和Gcc把代码拉出来溜溜, 就再玩一遍gcc的命令行吧.
北大的 Cheng Sheng同学的一封mail促使我把自己的这个私房菜公开, 他要用的工具我不了解, 但我下面展示的这个简单的GIF动画应该是他想要的结果(最好把GIF下载到本地看原始大小, 博客所在网站会缩放).
现在已经是01:36, 明天还要去海驾考桩, 整个一套东西的实现三言两语说不清楚. 上面这一段, 先吊吊大家的胃口.
阅读(1560) | 评论(0) | 转发(0) |