This IPH sample is designed to work with the included modified ShapeAppMacroRecordingCSharp sample. This modified sample uses the “ShapeAppCSharp-AppLevel IPH” template instead of the “ShapeAppCSharp-AppLevel” template included with the SDK.
To use this sample:
1) Extract the files to C:\ShapeAppSamplesCSharp (any location may be used).
2) Run the included setup file “SetupShapeAppMacroRecordingCSharp.js”, this will register the IPH and project templates.
3) Open and build the “ShapeAppMacroRecordingCSharp IPH.sln” solution. This will register the proxy and IPH in the GAC.
4) Remove any existing macro projects from %MyDocuments%\ShapeAppCSharp, this will force the sample to create a new macro project based on the IPH enabled project template.
5) Save a copy of the CurrentSettings.vssettings file under %MyDocuments%\ShapeAppCSharp\Settings. This step is optional, the IPH does return most the IDE settings to the previous state, but you may want to return to all of the previous settings.
6) Run the host and launch the IDE. Use the custom toolbar to add a macro, build the macro project, and switch to the host and run the macro; add code to the startup method and debug.
To use this IPH with your host:
1) Register the IPH under the VSTAHostConfig\%HostID%.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSTAHostConfig\%HostID%\2.0\VSTA\InProcHost\{6E7D6667-7F30-4058-8F83-E5772B831217}]
"FullClassName"="IPH_Demo.IPH_Demo"
"Assembly"="IPH_Demo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4b82402396be3cb2"
2) Update a project or project template to use the IPH by specifying the GUID as below in the xxproj file.
<InProcHost>{6E7D6667-7F30-4058-8F83-E5772B831217}</InProcHost>
3) Register the IPH in the GAC- building the solution should register it.
Note: This IPH greatly simplifies the IDE to demonstrate the customizations which are possible. These simplifications include removing the standard and debug toolbars as well as closing all windows including the errors pane. These modifications are made to demonstrate the possibilities, not to actually suggest you should limit the IDE to this extent- without these toolbars and windows it is very difficult to work in the IDE
Video for this sample
***Updated 4/2/09 for bug fix. Call to ClostAllWindows moved to beginning of SimplifyIDE method to avoid a "Ghost pane" on first IDE launch. For more information this, see this VSX forum post.