Wednesday, October 19, 2005

Source Insight

Finally I have reached the Holy Grail of source code browsing. Yesterday I saw one of my colleagues running an evaluation version of Source Insight 3.5 and I was amazed by the way it displayed all the symbols (similar to Class View in Visual Studio). The impressive feature which made me consider this code browsing tool was that it was able to generate the symbols without using any project or workspace kind of thing.

I had used a lot of different kinds of programming editors starting from the ones in Unix family (VI, PICO, NEDIT, VIM, GVIM etc.) to those in the Windows family (TextPad, UltraEdit, Visual Studio, Crimson Editor etc.). And I wished I could get the Class View feature of Visual Studio in any of the low cost or free editors. But none of them seemed to provide this feature at a low cost. There were code browsing tools like Understand for C++, and RedHat Source Navigator which allowed code browsing and class view, but these tools required that I create a project out of all my source files. Due to my prior Unix experience I am used to "$vi f.c; cc f.c;./a.out;" kind of style and I don't like creating unnecessary .dsw/.dsp files. I just have a damn CPP file and I need to browse through it efficiently. Why the hell does my software need a project database of sorts??

Then watching Source Insight in action was such a great relief. My colleague just dropped a CPP file in Source Insight window and WOW! In a second there was the class view complete with all symbols (variables, functions, #defines, #includes and more). So cool!

Feeling enthusiastic about it, I also installed the evaluation version on my machine. Its default syntax highlighting is not very pleasant. In fact it allows syntax highlighting for every programming element including even function parameter names. And so the whole screen looks awkward due to lot of colored words there in your source code. To configure the highlighting to match with that provided by Visual Studio took me an hour or so. They have horrible configuration dialogs and their default setting is not pleasing to most people out there. Especially the default font is not fixed width which is very annoying.

But leave aside the issue of complex configuration dialog, the tool works great. Drag and drop editing, column editing and other common features work nicely. The features like auto completion and context view are very very helpful. Features related to project/workspace are similar to those found in Visual Studio. The line numbering seems to be better than VC7 and VC8 beta. I wish there were tabs like those in VC7 and TextPad which allow seamless switching between multiple files. Source Insight is much faster than VC, but somewhat slower than TextPad, and can handle large files with good efficiency.

Lastly I would like to mention that I had come across Source Insight much earlier in my career, and at that time I just thought that like Understand, VC, and Source Navigator, it would not allow code browsing without a workspace. My prior frustration with these project based browsers did not even let me experiment with this new tool. Thanks to my colleague Vaneet who showed me this tool again.

I haven't explored all the features, but I hope they would be great as well. I need to recommend our IT department to spend $$ on this tool rather than buying fat VC licenses from Microsoft.


Blogger Vaneet said...

thanks anand saab..u mentioned my name and this has made aaka khush..enjoy

7:15 PM  

Post a Comment

<< Home