The IntelliSense Component is used to extract the XML comments into files that can be used for IntelliSense. Only the basic set of tags needed for IntelliSense are exported and only for documented API members. This can significantly reduce the size of the XML comments files used for IntelliSense and will remove any details about undocumented API members such as private and internal members unless they are included in the build. When used in conjunction with the Show Missing Documentation Component, this component can be used to produce XML comments files for assemblies that do not currently have one so that you can fill in comments for them.
The following is the default configuration for the IntelliSense component. It should be inserted into the configuration file before the TransformComponent. If you are using the Show Missing Documentation component, you should insert it after that one so that you can get information about missing documentation items as well.
<!-- IntelliSense component configuration. This must appear
before the TransformComponent. -->
<component id="IntelliSense Component">
<!-- Output options (optional)
Attributes:
Include Namespaces (false by default)
Namespaces filename ("Namespaces" if not specified or empty)
Directory (current folder if not specified or empty) -->
Bounded cache capacity (0 if not specified) -->
<output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}" boundedCapacity="100" />
</component>
The example given above is taken from the Sandcastle Help File Builder's configuration file. When used with it, the replacement tag {@OutputFolder} is used to insert the project's output folder in the file path. This is replaced at build time with the appropriate value. If using the component in your own build scripts, replace the tag with a relative or absolute path to the output folder.
The folder attribute identifies the folder in which to place the IntelliSense files. One file is created for each assembly. If set to true, the includeNamespaces option will cause the build component to output project summary and namespace summary comments to a file identified by the namespacesFile attribute in the given output folder. If specified, you should enter only the name and omit any file path and extension. The namespaces file is not used for IntelliSense but can be added to one or more help file builder projects as a common documentation source to share project and namespace summary information between projects.
The IntelliSense Component uses a pipeline to generate and save the XML comments in parallel to improve performance. The boundedCapacity property controls how many XML comments blocks can accumulate in the writer task's cache before blocking any further ones from being generated until the cache empties out. The default is 100 members. Decrease this value to conserve memory or increase it to improve performance. Set it to zero for an unbounded cache size which gives the best performance at the expense of memory. The number of members remaining to be written is reported at the end of the build. You can use that value to determine whether to increase or decrease this property value for each project.