visual-studio-2010visual-studio-addinsvsix

How do I extend the project properties screen in Visual Studio?


When u view a project properties in Visual Studio u get a number of tabs.

The standard ones are "Application", "Build", "Build Events" etc.

It is also possible to add custom tabs. For example view the properties of a WebApplication or a VSIX project you get different (extra) tabs.

So how do I write a VSIX addin that adds a custom tab to the project properties windows?


Solution

  • Check out this article: How to: Add and Remove Property Pages.

    You create a page like so:

    class DeployPropertyPage : Form, Microsoft.VisualStudio.OLE.Interop.IPropertyPage
    {
        . . . . 
        //Summary: Return a stucture describing your property page.
        public void GetPageInfo(Microsoft.VisualStudio.OLE.Interop.PROPPAGEINFO[] pPageInfo)
        {
            PROPPAGEINFO info = new PROPPAGEINFO();
            info.cb = (uint)Marshal.SizeOf(typeof(PROPPAGEINFO));
            info.dwHelpContext = 0;
            info.pszDocString = null;
            info.pszHelpFile = null;
            info.pszTitle = "Deployment";  //Assign tab name
            info.SIZE.cx = this.Size.Width;
            info.SIZE.cy = this.Size.Height;
            if (pPageInfo != null && pPageInfo.Length > 0)
                pPageInfo[0] = info;
        }
    }
    

    And you register it like so:

    [MSVSIP.ProvideObject(typeof(DeployPropertyPage), RegisterUsing = RegistrationMethod.CodeBase)]