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)
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:
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
For class and interface types, all base types and derived types are showed in the inheritance hierarchy.
3. Inherited Members and Filters
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.
5 Syntax Highlighter
Both the syntax prototype and code examples will be highlighted.
6. Lazy loading for TableOfContents in Html
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( ) 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