Question

Paddy_82 on Fri, 09 May 2014 02:47:43


Hi:

I have a problem with the setting of my customized toolwindow. Could somebody help me resolve this issue. 

Firstly, Let me clarify my issues:

1. I have developed a application based on the VS Shell.

2. After creating my customized project, I can launch a toolwindow to configure my project.

3. Keep the toolwindow opened, then I click the "Import/Export Setting" item to export my setting in current layout.

4.  Close my project, then click the "Import/Export Setting" to import the settings that I just exported.

5. I found my toolwindow is shown but there is no project opened.

After some investigation, I found my customized toolwindow setting had been exported to the VSSettting file. As followed:

<wm:ToolWindowView ForceCreate="DontForceCreate" IconIndex="2" IconResourceID="301" IconResourcePackage="******" Name="ST:0:0:{********}" IsSelected="True" IsVisible="True" FloatingTop="100" FloatingLeft="100" FloatingHeight="450" FloatingWidth="450"/> 

You can find the IsVisible is set to "True". So when importing this setting, the toolwindow is shown.

I just wonder, is there any attribute can set to the Toolwindow, if export the setting, the setting for this window can not be exported.

Or is there any other solution to make the toolwindow not shown after importing the VSSetting file.

Thanks

Paddy


Sponsored



Replies

Anna Cc on Mon, 12 May 2014 02:29:54


Hi,

Thank you for posting here!

Could you please tell us your customized toolwindow, it is a toolwindow extension? Or you just changed the setting of a toolwindow of visual studio?

>>You can find the IsVisible is set to "True". So when importing this setting, the toolwindow is shown.

Have you tried to set the IsVisible to "False" manually and see the result?

Do you mean that you create a VS toolwindow extension and want to use it in your application based on the VS Shell?

Or could you please provide us with any steps to reproduce this issue?

Best regards,

Sunny

Paddy_82 on Mon, 12 May 2014 23:23:17


Hi Sunny:

Thanks for your response.

Yes. If I set the "IsVisible" to "False" manually, the toolwindow will not be shown after importing.

My toolwindow definition is defined as followed, it is a VS toolwindow extension:

public class MyToolWindow : ToolWindowPane, IVsWindowFrameNotify3

{

......

}

And I added this toolwindow into the VSpackage:

[ProvideToolWindow(typeof(MyToolWindow),
                    MultiInstances = false,
                    Style = VsDockStyle.MDI,
                    Transient = true)]

Then in my application that developed based on the VS Shell. Open this toolwindow. Then click the "Import and Export Settings" to export the current setting into the VSSetting file. Then import this setting, this toolwindow will be shown if there is no my application.

Not knowing whether my question is clear.

Any comments. Thanks

Paddy 

Anna Cc on Sun, 18 May 2014 16:27:36


Hi,

Thank you for your details! And sorry for delay.

We see you don't want to show your toolwindow. Do you write your own code to show the toolwindow? Like show your tool window with FindToolWindow and Frame.Show():

ToolWindowPane MyWindow = FindToolWindow(typeof(MainToolWindow), 0, true);
(MyWindow.Frame as Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame).Show();

If so, please comment out the code of showing.

Also, please read this article 

http://dotnet.dzone.com/articles/integrating-custom-tool

Best regards,