DX_SourceOutliner 1.0 RC1 Release is Available!

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~!