Below is a list of future enhancements and features for the Sandcastle tools and the Sandcastle Help File Builder. No planned release dates have been set for these items. Each item may be implemented all at once or a little at a time depending on its scope and complexity. If you'd like to comment on any of these, please do so on the related work item page (see the links below) or, to make additional suggestions, please start a new discussion.
Sandcastle Tools
- See if there is a way to improve the keyword index in Help 1 and Website output so that member names common to multiple classes are differentiated in the index. http://shfb.codeplex.com/workitem/32262
- Expose as public many of the internal BuildAssembler-related classes used for stuff like target info. That will make it easier to reuse the classes in third-party components and third-party components derived from existing Sandcastle build components. http://shfb.codeplex.com/workitem/33223
- Investigate improving the performance of BuildAssembler. Things to consider:
- Sharing information between build components that use the same info rather than loading it again.
- Use pre-built cache files to save on initialization time.
- Use pre-built cache files to load information on demand to reduce memory usage.
- Longer term, investigate the possibility of having BuildAssembler build topics in parallel. That would require that all build components in the stack are thread safe though.
- http://shfb.codeplex.com/workitem/33224
- Remove the remaining branding stuff from the VS2010 style and SHFB. Branding support seemed like a good idea but with the changes in HV2, that is not the case and it has proven to be more trouble than it was worth. Sandcastle output requires some level of self-branding as non-self-branded content would not be able to use any custom scripts and stylesheets used for things like code colorization or other such features added by custom build components that rely on them. Supporting alternate branding packages doesn't seem to make sense as that's what presentation styles are for. In short, it makes better sense to treat all Sandcastle presentation styles as self-branded and remove the use of branding packages. http://shfb.codeplex.com/workitem/33225
- Investigate whether or not a folder name can safely be introduced into the GUID and hashed member name naming methods to reduce the number of files in the root HTML output folder. http://shfb.codeplex.com/workitem/33058
- Create an Open XML presentation style with any related build components that outputs the help as an Open XML document. The resulting output document should be readily convertible to other formats such as PDF without having to add additional presentation styles or conversion tools to Sandcastle. http://shfb.codeplex.com/workitem/33226
- Create an MSDN Lightweight presentation style for website output that mimics the current MSDN website pages with the TOC info in each page. http://shfb.codeplex.com/workitem/33227
- Perhaps update the tools to enable them to run as MSBuild tasks. Also, there are a lot of obsolete files that should be removed (i.e. Microsoft-specific configuration files that serve no apparent useful purpose). If possible, update the Sandcastle tools and build scripts to utilize a modified version of the presentation style definition file. http://shfb.codeplex.com/workitem/33373
- As time permits, add more information to the Sandcastle tools help file that describes the various tools and how they work. http://shfb.codeplex.com/workitem/33228
Sandcastle Help File Builder
- Update MRefBuilder to support the Visibility options from SHFB directly. This would be more efficient as the unwanted members could be stripped during the reflection phase rather than after the fact which requires loading the reflection data XML file. http://shfb.codeplex.com/workitem/33231
- Add a transformation to match the SHFB hashed member naming option method. That would get rid of the need to load the reflection file in SHFB after applying the doc model transformation. http://shfb.codeplex.com/workitem/33233