隐藏属性/工具箱窗格时不资源视图?(Hide Properties/Toolbox Pane whe

2019-06-26 04:07发布

每次我看到在Visual Studio(2005)形式或对话的属性和工具箱窗格显示在我的屏幕的右侧。 这是件好事,因为他们是操作对话框有用。

然而,一旦切换回源代码,这些窗格刚刚得到的方式...有没有办法让他们自动消失?

Answer 1:

我在VS2010使用宏显示和隐藏工具面板从代码中来回切换时设计视图在asp.net MVC3观点最近做了什么。 它可以很容易地适应您的具体情况,我认为这样做。

这正好在EnvironmentEvents类文件中预先生成的内容后,VS宏IDE。

<System.ContextStaticAttribute()> Public WithEvents CommandEvents As EnvDTE.CommandEvents


  Public Sub DTEEvents_OnMacrosRuntimeReset() Handles _
  DTEEvents.OnMacrosRuntimeReset
        CommandEvents = DTE.Events.CommandEvents
    End Sub

    Private Sub DTEEvents_OnStartupComplete() Handles _
        DTEEvents.OnStartupComplete
        CommandEvents = DTE.Events.CommandEvents
    End Sub

    Public Sub CommandEvents_AfterExecute( _
    ByVal Guid As String, _
    ByVal ID As Integer, _
    ByVal CustomIn As Object, _
    ByVal CustomOut As Object) _
    Handles CommandEvents.AfterExecute

        If DTE.Commands.Item(Guid, ID).Name = "View.ViewDesigner" Then
            DTE.ExecuteCommand("View.Toolbox")
        End If

        If DTE.Commands.Item(Guid, ID).Name = "View.ViewMarkup" Then
            DTE.Windows.Item(Constants.vsWindowKindToolbox).Close()
        End If

    End Sub

这也许可以使用事件的GUID,而不是if语句可以更好地优化。 当您使用视图切换热键以及视图菜单,而不是在上下文菜单它的工作原理。



Answer 2:

对于vs2015:

  1. 菜单>工具>扩展和更新
  2. 安装“可视司令”。 (现在你已经被称为“VCMD”新菜单)
  3. 菜单>“VCMD”>扩展......(你会看到一个扩展面板右侧)
  4. 按在扩展面板添加按钮。 (新建选项卡窗口将打开。)
  5. 写extention的名称。
  6. 选择语言为C#。
  7. 粘贴下面的代码:
  8. 按保存。 然后按下编译。 然后按安装

using EnvDTE;
using EnvDTE80;

public class E : VisualCommanderExt.IExtension
{
    private EnvDTE80.DTE2 DTE;
    private EnvDTE.WindowEvents windowEvents;

    public void SetSite(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) {
        this.DTE = DTE;
        DTE.Events.WindowEvents.WindowActivated += OnWindowActivated;   
    }

    public void Close() {
        // i read somewhere this has to be done on close. 
        // but it gives gives me error on every IDE close. so i commented it .
        //DTE.Events.WindowEvents.WindowActivated -= OnWindowActivated;
    }

    private void OnWindowActivated(Window gotFocus, Window lostFocus) {
            HidePropertiesWindowInCodeOrTextView(gotFocus );
    }

    public void HidePropertiesWindowInCodeOrTextView(Window gotFocus ) {
           if (gotFocus.Document == null) return;
              var pwin = DTE.Windows.Item(Constants.vsWindowKindProperties);
              pwin.AutoHides  = !gotFocus.Caption.EndsWith(" [Design]") ;
    }
}


Answer 3:

而不是放弃在屏幕的右侧的空间,我拖着我的属性和工具箱窗格到托管解决方案资源管理器和类视图左侧框架等我宁愿有一个多功能箱的屏幕比的一侧已代码包围。 如果你需要他们两个,你可以把工具箱在Solution Explorer窗格,然后堆属性窗格中的解决方案资源管理器,它在任何时候都工具箱一起密切留意一些属性下方。

我知道这是不太你要找的答案,但它是保持可用代码,屏幕房地产不具有自动隐藏搞乱不同的方式(我发现自动隐藏,真正做到不是帮助更多的烦恼。)



Answer 4:

如果你点击这些工具窗口的“脚”图标,你可以切换窗口是否继续开放,所有的时间,或者只有当鼠标在他们附近。 当然,有时我的鼠标在这个方向上流浪狗,他们蹦出来的时候,我不希望他们,但生活就是这样...



文章来源: Hide Properties/Toolbox Pane when not in Resource View?