void CodeToolWindow_WindowShow(object sender, EventArgs e) { if (shutting_down) { return; } if (OnAir == false && CodeRush.TextViews.Active != null) { EnvDTE.Window wnd = null; try { wnd = this.Window; // CodeRush.ToolWindows.Show(typeof(CodeToolWindow)); if (wnd != null && wnd.IsFloating) { //wnd.Visible = true; //wnd.IsFloating = true; EnvDTE.Window prop_wnd = CodeRush.ApplicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindProperties); if (prop_wnd == null) { return; } wnd.Width = 60; wnd.Top = prop_wnd.Top; // ea.TextView.ScreenBounds.Top; wnd.Height = prop_wnd.Height; // ea.TextView.ScreenBounds.Height; wnd.Left = prop_wnd.Left; // +code_wnd.Width + 1; // ea.TextView.ScreenBounds.Right - wnd.Width; //wnd.IsFloating = false; if (false) //(prop_wnd != null && prop_wnd.Linkable && prop_wnd.LinkedWindowFrame != null && prop_wnd.LinkedWindowFrame.LinkedWindows != null) { //var frame = wnd.DTE.Windows.CreateLinkedWindowFrame(wnd, prop_wnd, EnvDTE.vsLinkedWindowType.vsLinkedWindowTypeVertical); prop_wnd.LinkedWindowFrame.LinkedWindows.Add(wnd); } else { int width = prop_wnd.Width + 60; int height = prop_wnd.Height; prop_wnd.LinkedWindowFrame.LinkedWindows.Remove(prop_wnd); //prop_wnd.IsFloating = true; EnvDTE80.Window2 Frame = (EnvDTE80.Window2)CodeRush.ApplicationObject.Windows.CreateLinkedWindowFrame(wnd, prop_wnd, EnvDTE.vsLinkedWindowType.vsLinkedWindowTypeVertical); Frame.Caption = "Properties && Code"; Frame.SetKind(EnvDTE.vsWindowType.vsWindowTypeToolWindow); Frame.Width = width; Frame.Height = height; EnvDTE.Window main_wnd = ((EnvDTE80.DTE2)CodeRush.ApplicationObject).MainWindow; //EnvDTE.Window main_wnd = CodeRush.ApplicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindDocumentOutline); //main_wnd.LinkedWindowFrame.LinkedWindows.Add(Frame); main_wnd.LinkedWindows.Add(Frame); } OnAir = true; } } catch { } } }