Pergunta

Meu projeto tem componentes de cliente e servidor no mesmo arquivo de solução. Eu costumo ter o conjunto depurador para iniciar-los juntos quando a depuração, mas é muitas vezes o caso em que eu iniciar o servidor do lado de fora do depurador para que eu possa iniciar e parar o cliente conforme necessário quando se trabalha no lado do cliente só coisas. (Isso é muito mais rápido).

Eu estou tentando me salvar o incômodo de picar ao redor no Solution Explorer para iniciar projetos individuais e preferem se ater apenas um botão na barra de ferramentas que chama uma macro que inicia o depurador para projetos individuais (deixando "F5" tipo depuração sozinho para iniciar tanto processess).

Eu tentei a gravação, mas que realmente não resultar em nada de útil.

Até agora, tudo o que eu consegui fazer é localizar o item de projeto no explorador solução:

 Dim projItem As UIHierarchyItem

 projItem = DTE.ToolWindows.SolutionExplorer.GetItem("SolutionName\ProjectFolder\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect)

(Isto é baseado vagamente sobre como o gravador de macro tentou fazê-lo. Eu não tenho certeza se navegar no modelo de objeto UI é a abordagem correta, ou se eu deveria estar olhando para atravessar o modelo de objeto Solution / Projeto vez ).

Foi útil?

Solução

Ok. Isto parece o trabalho de mais UI (?) Todos os contextos forneceu a solução é carregada:

 Sub DebugTheServer()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
    DTE.ActiveWindow.Object.GetItem("Solution\ServerFolder\ServerProject").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.Windows.Item(Constants.vsWindowKindOutput).Activate()
    DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance")
 End Sub

Outras dicas

A partir de um C # add-in, o seguinte trabalhou para mim:

Dte.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate();
Dte.ToolWindows.SolutionExplorer.GetItem("SolutionName\\SolutionFolderName\\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top