VSX - 设置要停靠的ToolWindowPanes初始位置

Jus*_*tin 6 .net vsx docking

我正在创建一个公开工具窗口的Visual Studio包,我正在尝试确保在首次加载包时它显示为停靠在Visual Studio主窗口的左边缘.

[ProvideToolWindow(typeof(MyToolWindow), Orientation = ToolWindowOrientation.Left, 
    Style=VsDockStyle.Linked, Window=EnvDTE.Constants.vsWindowKindLinkedWindowFrame)])]
[ProvideToolWindowVisibility(typeof(MyToolWindow), VSConstants.UICONTEXT.NoSolution_string)]
public class MyPackage : Package
{
    ...
Run Code Online (Sandbox Code Playgroud)

我已经尝试了上述的许多变体,但我设法实现的最好的是将窗口停靠在底部 - 即使这样,每次重新加载包时它都会继续重新对接而不是持久化用户窗口位置.

如何指定我的窗格最初显示为停靠在主窗口的左侧?

小智 0

我不知道这是否有效,但你可以尝试一下:

我在注册表中查找 SolutionExplorer 工具窗口停靠位置的线索,发现 Window 参数包含“DocumentWell”

所以你可以尝试这个:

[ProvideToolWindow(typeof(MyToolWindow), Orientation = ToolWindowOrientation.Right, Style=VsDockStyle.Tabbed, Window="DocumentWell")])]
Run Code Online (Sandbox Code Playgroud)

或者

Window=EnvDTE.Constants.vsWindowKindMainWindow
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助,

托马斯.