After about a week and a half of on-again, off-again work on this in my spare time (yeah, I code for work, I code for fun, I’m mostly hopeless — just deal with it), I’m happy to announce that the RC1 (Release Candidate 1) build of version 1.0 of the DX_SourceOutliner Visual Studio DXCore Add-in is now available for download.
For details on this project including how to install it and how to use it, please refer to the past posts in the SourceOutliner category on my blog.
SourceOutliner Feature List
Following is a complete list of the features that made it into the v1.0 Release Candidate, based on a combination of my own ideas and comments and feedback I’ve received from others:
High-Level Features
The following high-level features are supported in this release:
- Displays a treeview representation of the structure and contents of the currently-active source file in the Visual Studio code editor window
- Support C#, VB.NET, and javascript source files
- Single-clicking a node in the tree moves the code in the editor window such that the declaration of the selected code element is visible in the editor and its line is highlighted
- Double-clicking a node in the tree performs the same action as a single-click, but the editor window retains the focus so that developer can begin typing, etc. in the editor immediately
- Provide a capability to filter elements by name, type, and visibility
- Provide a dockable/pinnable/etc. Visual Studio ToolWindow so that it can participate fully in Visual Studio window layout, etc.
Display and Organization of Tree Content
The following mechanisms are available for controlling the content of the treeview and the text of each node:
- Display of Data Type / Return Type appended to end of each element can be toggled on/off as desired
- Display of parameter names in method signatures can be toggled on/off as desired
- Elements can be sorted alphabetically by name in the treeview or left in the order they occur in the active code window
- Tooltips display element visibility (public, private, etc.) as well as data type / return type for each node
Types/Elements Displayed as Nodes in the Tree
The following is the list of ‘code element’ types presently supported for display in the treeview…
- Namespaces
- Classes
- Interfaces
- Structs
- Properties
- Methods
- Variables / Fields
- Enums (and enum items)
- Delegates
- Events
Element Name Filtering Support
Filtering of code elements by name supports either of the following two techniques:
- filter by partial-string match (lowercase filter text will be matched the starting text of nodes in the tree)
- filter by caps-equal-pascal-casing (uppercase filter text will be matched to the Pascal-casing of nodes in the tree)
Comments / Feedback Requested
As with the ALPHA releases of this add-in, I am making this RC1 release available in binary format for anyone to download, install, and test out. Please provide comments, feedback, etc. to this blog post if you have time. As a “Release Candidate”, this build should be feature-complete and devoid of errors so if you experience any troubles in its use, please report to me immediately so that I can address them before the ‘official’ 1.0 release is built and the code posted publicly to the DevExpress Community Pllug-Ins site on Google Code.
Thanks, and enjoy~!
Hi,
All the features seem to work well, at least from my limited testing. In fact, I was already using it “normally” when I noticed double-clicking the ‘+’ or ‘-‘ in tree will consistently crash VS. It’s a simple toy solution so it should be reproducible easily.
Otherwise, it looks good to go RTM.
Thanks,
Jorge (ilawon on twitter)
@Jorge Alves:
I’ll be damned — that’s a hell of a bug to let slip through 🙂 Thanks for catching that one. Yes, 100% reproducible so should be simple to fix. Thx for that (this is why acceptance testing is so damned important).
-Steve B.
@Jorge Alves:
Updated link in the post; issue should be resolved now (oops!). Thanks for catching this — not sure I would have ever double-clicked on the [+] or [-] in the tree to uncover this; thx!
-Steve B.
Steve,
It’s a link to RC2 ….. but page not found. I got the RC1
Kris-I
Hi Steve,
The download link is broken I think: http://unhandled-exceptions.com/downloads/DX_SourceOutliner-1.0-RC2.zip brings up a Page Not Found.
Simon
All:
Jeez — who knew just posting a binary for download was so damned hard? I aplolgize for the confusion in both broken links and incorrectly-named files; the link above should now both a) work and b) lead to the correct download~!
(sorry, all!)