What’s New in Documentation Insight 3

Documentation Insight 3 is a brand new version. This page shows most new features & improvements in DI 3.

General

1. VS 2012 Presentation Style

Applies to Documentation Inspector, Documentation Explorer and all documentation generation outputs. (Online Demo)

snapshot1

2. Separated Documentation

Allows you put source code documentation in separated documentation files to keep source code clean. A wizard is included to help you move inline XMLDoc to a documentation repository.

3. Default documentation

Provides some meaningful default documentation. Take resource string for instance, the expression will be taken as the documentation.

4. New XMLDoc tags

If you want exclude an member from your final documentation file,  you may apply the <exclude /> tag against the API. If a property should be identified as an event, you may apply <event /> tag to it or its property type.

5. New Generation Compiler

  • Conditional Defines/Constants (Follow Initial conditional defines)
  • Conditional Expressions (e.g. {$IF defined(POSIX) and not defined(IOS)})
  • Include file  (e.g. {$I jedi.inc})
  • Search Paths (Load from project configuration)

Hotkeys

  • Show Documentation Inspector (Ctrl+Shift+D)  (Also toggle with Code Editor/Doc Inspector)
  • Show Documentation Explorer (Alt+Shift+N)
  • Fold documentation in the Code Editor (Alft+Shift+C)
  • Unfold documentation in the Code Editor (Alft+Shift+E)
  • Toggle between Preview & Design mode (F12)

Update options:

* Enable/Disable Automatic check for updates
* Update channel (Debug or Release)

Documentation Explorer

1. Document Member Summary

You will be able to document member summary just like enumerated members:

document-member-summary

2. Organized by projects

You may organize the units by Projects. The documentation in project source will be showed in the corresponding topic.

3. Remember window state

4. Improved Mouse wheel handling

Documentation Generator

1 Inherited Documentation

The documentation generator will try to reveal documentation if a member was not documented. It will search:

  • Overridden members
  • Overridden property
  • Implemented members

Say you documented an interface IList<T> and TList<T> implements the interface, then all members of TList<T> will inherit documentation from the interface IList<T> if available.

2. Inheritance Hierarchy

snapshot2

For class and interface types, all base types and derived types are showed in the inheritance hierarchy.

3. Inherited Members and Filters

snapshot3

All inherited members will be displayed in the member list. You may also filter the members by clicking the check boxes (inherited /protected)

4. Additional Syntax Information

There will be additional information if a member has overloads, or overridden a member, or what methods of interfaces was implemented by this method.

snapshot5

snapshot6

5 Syntax Highlighter

Both the syntax prototype and code examples will be highlighted.
snapshot9

6. Lazy loading  for TableOfContents in Html

lazy-loading

7. FileName Policy

The new documentation generator supports three policies on file name generation:

* Signature

The generated file name will be basically same as the full name of a symbol.

e.g.  Spring.htm, Spring.IList(T).html

* Unique Id

All file names will be random but unique id (like ‘a7ef980f.htm‘). All ids will be persisted into another file which will be loaded next time.

* Auto (Default)

By default,  the Signature policy will be used.  An unique id will be used and saved ONLY when a file name exceeds the max-path.

 

Fixed Bugs

General
– Drag & Dock Documentation Inspector in D7 will make the documentation editor disappear
– Can’t paste rich formatting text
– Spell check may raise AV and destroy the popup menu
– DI may produce invisible non-breaking space(&#160;) which will be transformed as a question mark ‘?’ in source code
– Cannot select text by double clicking in DI
– Possible misplacement of produced documentation

Compiler
– ‘packed class’ not supported
– Anonymous method with parameters in a method will raise ‘No such node’ exception
– Unicode Identifiers not supported
– Set of anonymous enumerated type not supported (‘set of’ will be eaten)

Documentation Generator
-Failed to generate documentation due to long file name
-Missing documentation for class constants
-Used unit in uses clauses should be case-insensitive

Download Buy Now