Sdílet prostřednictvím


Postupy: Přidat vlastní uzel SharePoint Server Explorer

Můžete přidat vlastní uzly pod SharePoint připojení uzel v Server Explorer. To je užitečné, pokud chcete zobrazit další součásti služby SharePoint, které jsou zobrazeny v Server Explorer ve výchozím nastavení. Další informace naleznete v tématu Rozšíření uzlu připojení služby SharePoint v aplikaci Server Explorer.

Chcete-li přidat vlastní uzel nejprve vytvořte třídy, která definuje nový uzel. Vytvořte příponu, která přidá uzel jako podřízený existující uzel.

Definovat nový uzel

  1. Vytvořte projekt knihovny tříd.

  2. Přidejte odkazy do následujících sestavení:

    • Microsoft.VisualStudio.SharePoint

    • Microsoft.VisualStudio.SharePoint.Explorer.Extensions

    • System.ComponentModel.Composition

    • System.Drawing

  3. Vytvořit třídu, která implementuje IExplorerNodeTypeProvider rozhraní.

  4. Přidejte následující atributy do třídy:

  5. V implementace IExplorerNodeTypeProvider.InitializeType metodu použití členy typeDefinition parametr konfigurace chování nový uzel. Tento parametr je objekt IExplorerNodeTypeDefinition, který poskytuje přístup k událostem definovaným v rozhraní IExplorerNodeEvents.

    Následující příklad kódu ukazuje, jak definovat nový uzel. Tento příklad předpokládá, že projekt obsahuje ikonu s názvem CustomChildNodeIcon jako vložené prostředky.

    <Export(GetType(IExplorerNodeTypeProvider))> _
    <ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)> _
    Friend Class ExampleNodeTypeProvider
        Implements IExplorerNodeTypeProvider
        Friend Const NodeTypeId As String = "Contoso.ServerExplorerNodeExample"
    
        Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _
            Implements IExplorerNodeTypeProvider.InitializeType
            typeDefinition.DefaultIcon = _
                My.Resources.CustomChildNodeIcon.ToBitmap()
            typeDefinition.IsAlwaysLeaf = True
        End Sub
    End Class
    
    [Export(typeof(IExplorerNodeTypeProvider))]
    [ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)]
    internal class ExampleNodeTypeProvider : IExplorerNodeTypeProvider
    {
        internal const string NodeTypeId = "Contoso.ServerExplorerNodeExample";
    
        public void InitializeType(IExplorerNodeTypeDefinition typeDefinition)
        {
            typeDefinition.DefaultIcon =
                Properties.Resources.CustomChildNodeIcon.ToBitmap();
            typeDefinition.IsAlwaysLeaf = true;
        }
    }
    

Přidat nový uzel jako podřízený existující uzel

  1. Vytvořit třídu, která implementuje ve stejném projektu jako uzel definice IExplorerNodeTypeExtension rozhraní.

  2. Přidat System.ComponentModel.Composition.ExportAttribute atributu třída Tento atribut umožňuje Visual Studiu zjišťovat a načítat vaši implementaci IExplorerNodeTypeExtension. Předat IExplorerNodeTypeExtension typu konstruktor atributu.

  3. Přidat ExplorerNodeTypeAttribute atributu třída V uzlu Rozšíření tento atribut určuje identifikátor řetězce pro typ uzlu, který chcete rozšířit.

    Chcete-li určit typy vestavěných uzlů poskytované Visual Studiem, předejte jednu z následujících výčtových hodnot konstruktoru atributů:

    • ExplorerNodeTypes: Použití uzly nebo všechny ostatní uzly nadřazeného webu těchto hodnot určit uzly připojení webu (uzly, které zobrazení adresy URL webu), Server Explorer.

    • ExtensionNodeTypes: Pomocí těchto hodnot určit jeden předdefinovaný uzly, které představují jednotlivé součásti na webu SharePoint, jako například uzel, který představuje seznam, pole nebo typu obsahu.

  4. V implementace Initialize Metoda, úchyt NodeChildrenRequested události IExplorerNodeType parametr.

  5. V NodeChildrenRequested obslužné rutiny události přidat nový uzel Kolekce podřízených uzlů Node objekt, který je vystaven argumenty parametru události.

    Následující příklad kódu ukazuje, jak přidat nový uzel jako podřízený uzel webu SharePoint v Server Explorer.

    <Export(GetType(IExplorerNodeTypeExtension))> _
    <ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _
    Friend Class SiteNodeExtension
        Implements IExplorerNodeTypeExtension
    
        Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _
            Implements IExplorerNodeTypeExtension.Initialize
            AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested
        End Sub
    
        Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs)
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, _
                "Custom Node", Nothing)
        End Sub
    End Class
    
    [Export(typeof(IExplorerNodeTypeExtension))]
    [ExplorerNodeType(ExplorerNodeTypes.SiteNode)]
    internal class SiteNodeExtension : IExplorerNodeTypeExtension
    {
        public void Initialize(IExplorerNodeType nodeType)
        {
            nodeType.NodeChildrenRequested += NodeChildrenRequested;
        }
    
        private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e)
        {
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId,
                "Custom Node", null);
        }
    }
    

Kompletní příklad

Následující příklad kódu poskytuje kompletní kód definovat Jednoduchý uzel a přidat jako podřízený uzel webu SharePoint v Server Explorer.

Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint
Imports Microsoft.VisualStudio.SharePoint.Explorer

Namespace Contoso.ServerExplorerExtension

    <Export(GetType(IExplorerNodeTypeProvider))> _
    <ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)> _
    Friend Class ExampleNodeTypeProvider
        Implements IExplorerNodeTypeProvider
        Friend Const NodeTypeId As String = "Contoso.ServerExplorerNodeExample"

        Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _
            Implements IExplorerNodeTypeProvider.InitializeType
            typeDefinition.DefaultIcon = _
                My.Resources.CustomChildNodeIcon.ToBitmap()
            typeDefinition.IsAlwaysLeaf = True
        End Sub
    End Class

    <Export(GetType(IExplorerNodeTypeExtension))> _
    <ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _
    Friend Class SiteNodeExtension
        Implements IExplorerNodeTypeExtension

        Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _
            Implements IExplorerNodeTypeExtension.Initialize
            AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested
        End Sub

        Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs)
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, _
                "Custom Node", Nothing)
        End Sub
    End Class
End Namespace
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;
using Microsoft.VisualStudio.SharePoint.Explorer;

namespace Contoso.ServerExplorerExtension
{
    [Export(typeof(IExplorerNodeTypeProvider))]
    [ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)]
    internal class ExampleNodeTypeProvider : IExplorerNodeTypeProvider
    {
        internal const string NodeTypeId = "Contoso.ServerExplorerNodeExample";

        public void InitializeType(IExplorerNodeTypeDefinition typeDefinition)
        {
            typeDefinition.DefaultIcon =
                Properties.Resources.CustomChildNodeIcon.ToBitmap();
            typeDefinition.IsAlwaysLeaf = true;
        }
    }

    [Export(typeof(IExplorerNodeTypeExtension))]
    [ExplorerNodeType(ExplorerNodeTypes.SiteNode)]
    internal class SiteNodeExtension : IExplorerNodeTypeExtension
    {
        public void Initialize(IExplorerNodeType nodeType)
        {
            nodeType.NodeChildrenRequested += NodeChildrenRequested;
        }

        private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e)
        {
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId,
                "Custom Node", null);
        }
    }
}

Probíhá kompilace kódu

Tento příklad předpokládá, že projekt obsahuje ikonu s názvem CustomChildNodeIcon jako vložené prostředky. V tomto příkladu vyžaduje také odkazy na následující sestavení:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

  • System.Drawing

Nasazování rozšíření

Chcete-li nasadit rozšíření Průzkumníka serveru vytvořte Visual Studio balíček rozšíření (VSIX) pro sestavení a všechny další soubory, které chcete distribuovat s rozšířením. Další informace naleznete v tématu Nasazování rozšíření pro nástroje služby SharePoint v aplikaci Visual Studio.

Viz také

Úkoly

Podrobné pokyny: Rozšíření Průzkumníka serveru pro zobrazení webových částí

Další zdroje

Rozšíření uzlu připojení služby SharePoint v aplikaci Server Explorer

Postupy: Rozšíření uzlu služby SharePoint v Průzkumníku serveru