Como: Adicionar um Item de Menu de atalho para projetos do SharePoint
Você pode adicionar um item de menu de atalho para o projeto do SharePoint. O item de menu é exibido quando um usuário clica em um nó do projeto Solution Explorer.
Os seguintes passos consideram que você já tenha criado uma extensão de projeto. Para obter mais informações, consulte Como: Criar uma extensão de projeto do SharePoint.
Para adicionar um item de menu de atalho para projetos do SharePoint
No Initialize método de seu ISharePointProjectExtension implementação, a alça a ProjectMenuItemsRequested evento da projectService parâmetro.
No seu manipulador de eventos para o ProjectMenuItemsRequested evento, adicione uma nova IMenuItem o objeto para o ActionMenuItems ou AddMenuItems coleção do parâmetro de argumentos de evento.
No Click o manipulador de eventos para o novo IMenuItem o objeto, realizar as tarefas que você deseja executar quando um usuário clica o item de menu de atalho.
Exemplo
O exemplo de código a seguir demonstra como adicionar um item de menu de atalho para nós de projeto do SharePoint na Solution Explorer. Quando o usuário clica o nó do projeto e clica o Mensagem de gravação para a janela de saída item de menu, Visual Studio exibe uma mensagem no saída janela. Este exemplo usa o serviço de projeto do SharePoint para exibir a mensagem. Para obter mais informações, consulte Usando o serviço de projeto do SharePoint.
Imports System
Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint
Namespace Contoso.Examples
<Export(GetType(ISharePointProjectExtension))> _
Friend Class ExampleProjectExtensionWithMenu
Implements ISharePointProjectExtension
Private Sub Initialize(ByVal projectService As ISharePointProjectService) _
Implements ISharePointProjectExtension.Initialize
AddHandler projectService.ProjectMenuItemsRequested, AddressOf ProjectMenuItemsRequested
End Sub
Private Sub ProjectMenuItemsRequested(ByVal Sender As Object,
ByVal e As SharePointProjectMenuItemsRequestedEventArgs)
Dim menuItem As IMenuItem = e.ActionMenuItems.Add("Write Message to Output Window")
AddHandler menuItem.Click, AddressOf MenuItem_Click
End Sub
Private Sub MenuItem_Click(ByVal Sender As Object, ByVal e As MenuItemEventArgs)
Dim project As ISharePointProject = TryCast(e.Owner, ISharePointProject)
If project IsNot Nothing Then
project.ProjectService.Logger.WriteLine(
String.Format("This message was written from a shortcut menu for the {0} project.", project.Name),
LogCategory.Status)
End If
End Sub
End Class
End Namespace
using System;
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;
namespace Contoso.Examples
{
[Export(typeof(ISharePointProjectExtension))]
internal class ExampleProjectExtensionWithMenu : ISharePointProjectExtension
{
public void Initialize(ISharePointProjectService projectService)
{
projectService.ProjectMenuItemsRequested += projectService_ProjectMenuItemsRequested;
}
void projectService_ProjectMenuItemsRequested(object sender,
SharePointProjectMenuItemsRequestedEventArgs e)
{
IMenuItem menuItem = e.ActionMenuItems.Add("Write Message to Output Window");
menuItem.Click += MenuItemExtension_Click;
}
void MenuItemExtension_Click(object sender, MenuItemEventArgs e)
{
ISharePointProject project = e.Owner as ISharePointProject;
if (project != null)
{
project.ProjectService.Logger.WriteLine(
String.Format("This message was written from a shortcut menu for the {0} project.", project.Name),
LogCategory.Status);
}
}
}
}
Compilando o código
Este exemplo requer um projeto de biblioteca de classe com referências aos assemblies seguintes:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
Implantação da extensão
Para implantar a extensão, criar um Visual Studio pacote de extensão (VSIX) para o assembly e outros arquivos que você deseja distribuir com extensão. Para obter mais informações, consulte Implantar extensões para as ferramentas do SharePoint em Visual Studio.
Consulte também
Tarefas
Como: Criar uma extensão de projeto do SharePoint