T O P I C R E V I E W |
drzoom |
Posted - Jul 07 2006 : 04:57:00 AM One of the cooles features of SNiFF+ is a windows with a graphical class hierachie.
On the name of the class, you get a menu point "Show class hierachie". A window pops up and is showing you a graphical view of the class hierachie.
You see "public", "protected" and "private" inheritance with different color of lines between the classes in the "UML" style diagramm. And if you click on a class box, the cursor jumps to the location of the class.
This is specialy important and usefull if you have big class hierachies (like I have ;-)), many places of multi inheritance (I have too) and many "interfaces" in C++.
Because the class browser in Visual Studio is not very sutable for a quick navigation in hierachies.
|
8 L A T E S T R E P L I E S (Newest First) |
feline |
Posted - Jul 11 2006 : 6:02:34 PM i need the version of VA bugfix is using! those sound like very useful functions |
bugfix |
Posted - Jul 11 2006 : 04:23:19 AM OpenFemaleInWindows and FemaleSearchInWindows :) alternatively you might want to check http://wholetomato.com/support/glossary.html |
drzoom |
Posted - Jul 11 2006 : 04:05:31 AM What is OFIW and FSIW? |
feline |
Posted - Jul 10 2006 : 6:01:55 PM the 3rd picture really puts the scale of this request in focus.
to be honest i doubt VA will ever try to offer this sort of functionality, or at least not for quite some time.
if you look at the beta forum you will see how much work we already have on our hands with the new refactoring features.
my gut instinct is still to suggest Doxygen. if you are jumping around the hierarchy this much are you trying to edit code in all of these places? or are you just reading the code?
combine Doxygen for code browsing with OFIW and FSIW for jumping to the code in the IDE and you can move very quickly to quite far flung places. |
drzoom |
Posted - Jul 10 2006 : 09:03:59 AM Here are some screenshots from SNiFF+:
http://www.drzoom.ch/sniff/sniff_hierachy_browser1.png http://www.drzoom.ch/sniff/sniff_hierachy_browser2.png http://www.drzoom.ch/sniff/sniff_hierachy_browser3.png
Sorry for the many white out parts of the screenshot.
You can click every node in this quick class hierachie and navigate to the class. On a class, a simple Ctrl+H wir show up this hierachy screen, with the current class selected in the middle, and all inheritance elements shown from the view of the selected class.
You see the problems of SNiFF+ in the last screenshot. SNiFF only draws simple lines between the classes, and the routing algorithm is not the best. So if the inheritance dependencies are getting complex, you have not a very good overview. That could be done a lot better.
Then with different colors, the inheritance type could be shown. (public, protected and private).
Another problem is that SNiFF+ has problems with namespaces. If you have two classes with the same name in two different namespaces, SNiFF takes both classes as the same in the hierachy diagramm.
So to have a really success with your new never seen class hieracy browser, I would suggest that you support this features:
- Inteligent routing of lines
- UML like display with inheritance arrows
- Different colors for different inheritance types
- Don't forget to display template classes in C++
- Display bound template arguments in diagram
- Display also typedefs of template classes in C++
- Don't forget about namespaces
- If two classes has the same name in the diagram, display
so many namespace parts until the name is clear.
More optional features that would be great:
- VS Panel which always shows the current class tree with the
class in the current context in the middle of the panel.
- Options to change the display of the tree. Sizes, colors,
horizontal/vertical.
|
feline |
Posted - Jul 09 2006 : 11:13:28 AM do you have a link or something to some pictures of these sort of diagrams? the idea sounds interesting, but it sounds like it could be a whole product in its self, rather than a small enhancement to VA.
there are a couple of class hierarchy graph tools in this free addin http://www.codeproject.com/macro/kingstools.asp |
drzoom |
Posted - Jul 09 2006 : 05:54:25 AM Yes it's like the diagramms of doxygen, but a little bit smaller and the orientation of the diagram is horizontal, not vertical.
The best thing is, that with SNiFF+ I can use this diagramm to navigate in the code. I can display the whole hierachie, or only parts of it. S o I'm very quick. E.g if I have a superclass, with several levels of inheritance. With this feature I get a Quick overview about all subclasses and can navigate to the a specific class with a single click.
|
feline |
Posted - Jul 08 2006 : 2:15:35 PM do you have a link to a picture? i have the feeling this is going to be quite some diagram for a large case. have you looked into Doxygen? this free tool will generate documentation and diagrams that (by the sound of it) do the same thing for C++.
http://www.stack.nl/~dimitri/doxygen/ |