About:
This VB AddIn is a Project Explorer that provides you with a more
detailed view of your project right done to the code level. By
clicking on the Tree Node you can quickly navigate to code or a
control in your project. The code shows how to write a VB AddIn and
how to build a potentially complex tree using loops and some
recursion. The naming of variables and procedures is very clear and
I think overall the project is pretty much self documenting. I have
still added some comments to explain what or why.
Background:
This AddIn started out as a little application that I was
writing to analyze a VB Project. The purpose of this application was
to graphically shows the logical stucture of the code, where
variables and constants were used and which procedures where calling
other procedures. Similar to what applications like Code Charge,
CAST, and others are doing.
Whilst doing this I suddenly had the idea to write this a Project
Explorer VB AddIn. The idea came from something I read in the book
Code Complete
by Steve Mconnell (an excellent book, must have).
And so, since I had never written a VB AddIn, I decided that this
would be my first.
After completing the AddIn I decided to release the whole thing
source code and all so that others could learn a little from this
application about how to write a VB AddIn, loops, some recursion,
building a tree structure, and what I believe is some good procedure
and variable naming. So many developers still use short cryptic names
which with the IDE and auto-complete I feel is so unnecessary and
just leads to code that is unintuitive, difficult to read, requires
more commenting, and ultimately is more difficult to maintain. Post
your comments at
Planet Source Code
I would love to hear your comments and get some feedback.
Version History:
1.1
FUNCTIONAL CHANGE: Changed AddIn to only build sub-nodes when a node is expanded the first time.
BUG FIX: Fixed error when opening a new project.
BUG FIX: Fixed error when tree is built with an unsaved component in the project.
BUG FIX: Fixed error when tree is built with no
project. BUG FIX: Fixed compatability problem by not referencing
the mso dll and using late binding. BUG FIX: Fixed irritating
little feature that caused the cursor to not be displayed if the
procedure you clicked on is in the currently active code window. I
must warn that the fix has an annoying side effect namely that the
window flashes (visible=false visible=true) so you may want to
comment this out and recompile. NEW FEATURE: Property procedures
are now defined as Get/Set/Let
so you can now navigate to the eact item you want.
Added extra explanatory comments to improve this projects tutorial value.
1.0
First Released Version |