如何禁用/使用Visual Studio的标题栏

时间:2011-03-30 15:59:08

标签: visual-studio-2010

我想使用Visual Studio 2010标题栏浪费的空间。

是否可以将工具栏或标签栏放在标题栏中,例如Google Chrome?

可以写一个扩展吗?

由于

3 个答案:

答案 0 :(得分:7)

Visual Studio具有全屏模式:查看 - >全屏模式(默认情况下为Shift + Alt + Enter)。

答案 1 :(得分:4)

即使使用Visual Studio 2012和Visual Studio 2013,这似乎也不可能。

答案 2 :(得分:1)

似乎有可能,至少在VS2013中(但可能也适用于VisualCommander扩展支持的其他版本)。这是所需的宏,也许有人会发现它很有用:

  
      
  1. 隐藏Visual Studio 2013中的标题栏。
  2.   
public class E : VisualCommanderExt.IExtension
{
    public void SetSite(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
    {
        events = DTE.Events;
        dteEvents = events.DTEEvents;
        dteEvents.OnStartupComplete += OnStartupComplete;
    }
    public void Close()
    {
        dteEvents.OnStartupComplete -= OnStartupComplete;
    }
    private void OnStartupComplete()
    {
        try
        {
            HideTitleBar();
        }
        catch
        {
        }
    }
    private bool HideTitleBar()
    {
        System.Windows.FrameworkElement e = 
            FindElement(System.Windows.Application.Current.MainWindow, 
                "MainWindowTitleBar");
        if (e != null)
        {
            e.Visibility = System.Windows.Visibility.Collapsed;
            return true;
        }
        return false;
    }
    private System.Windows.FrameworkElement FindElement(System.Windows.Media.Visual v, string name)
    {
        if (v == null)
            return null;
        for (int i = 0; i < System.Windows.Media.VisualTreeHelper.GetChildrenCount(v); ++i)
        {
            System.Windows.Media.Visual child = 
                System.Windows.Media.VisualTreeHelper.GetChild(v, i) as
                    System.Windows.Media.Visual;
            if (child != null)
            {
                System.Windows.FrameworkElement e = 
                    child as System.Windows.FrameworkElement;
                if (e != null && e.Name == name)
                    return e;
            }
            System.Windows.FrameworkElement result = FindElement(child, name);
            if (result != null)
                return result;
        }
        return null;
    }
    private EnvDTE.Events events;
    private EnvDTE.DTEEvents dteEvents;
}

来源:https://vlasovstudio.com/visual-commander/extensions.html