Como: adiciona um Item de Menu de atalho para projetos do SharePoint
Você pode adicionar um item de menu de atalho para qualquer 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 do seu ISharePointProjectExtension implementação, alça a ProjectMenuItemsRequested evento do projectService parâmetro.
No seu manipulador de eventos para o ProjectMenuItemsRequested evento, adicionar um novo IMenuItem o objeto para o ActionMenuItems ou AddMenuItems a coleção do parâmetro de argumentos de evento.
No Click o manipulador de eventos para o novo IMenuItem de 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 com o botão direito um nó do projeto e clica o Escrever a mensagem na janela Saída item de menu, Visual Studio exibe uma mensagem na 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 (VSIX) da extensão do pacote para o assembly e outros arquivos que você deseja distribuir com a extensão.Para obter mais informações, consulte Implantação de extensões para as ferramentas de SharePoint no Visual Studio.
Consulte também
Conceitos
Estendendo os projetos do SharePoint