Jun 21, 2008 at 6:21 PM
Edited Jun 21, 2008 at 8:08 PM
Are there any docs or tutorials beyond the basic screenshots here (and on the old VSIPFactory) that explain how to do things like creating toolwindows etc?

I had a really tough time now trying to figure out the process.  I read the Code Mag VSX Focus edition (great article by the way :-) ) and tried to follow along and create a toolwindow. But the toolwindow did not appear. I eventually solved the issue, so i'm going to detail the problem and steps

At first i wasnt sure what I missed out. I thought it might be because of some settings to do with visibility and docking and referred back to the magazine but the screenshots in the mag article dont show a couple of important things such as what options to choose for the docking and the visibility. For the docking option the final GUID is shown and for the visibility, the screen shows an expanded dropdown but not the selection. This is perhaps due to lack of print space - but it would have been better to indicate what options had been chosen.

Anyway, I was contrasting this with the SDK Wizard which creates tool windows. That wizard creates a fully functioning toolwindow with menu item etc with very little effort. On second thoughts it appeared that  the SDK Wizard goes one step beyond the basic tool window and also creates the menu item and links it to the toolwindow whereas with this package we have to create both entities in separate steps and wire them up manually and i had got stuck somewhere in the middle.

I solved this as follows

(1) I decided to lookup the GUID in the article using this MSDN Page and found that it is the SolutionExplorer that is set for the docking option. I also looked at the code listing that showed the GUID for the visibility and clicking through each item in the dropdown led me to find that it is the SolutionExists condition.

(2) I recreated the package and poked through the code carefully and found that my assumption was correct. In the Initialize method there is a TODO saying create a command and on the callback method add a call to the method which shows the tool window. I did this and it worked. Thanks for putting the TO-DO in there (although i should have probably looked for TODOs in the first place , but then hindsight is always 20-20).