Partilhar via


Interface IVsTrackProjectDocumentsEvents2

 

Publicado: abril de 2016

Notifica os clientes de alterações feitas nos arquivos de projeto ou diretórios.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

[InterfaceTypeAttribute(1)]
[GuidAttribute("53544C4D-663D-11D3-A60D-005004775AB1")]
public interface IVsTrackProjectDocumentsEvents2
[InterfaceTypeAttribute(1)]
[GuidAttribute("53544C4D-663D-11D3-A60D-005004775AB1")]
public interface class IVsTrackProjectDocumentsEvents2
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("53544C4D-663D-11D3-A60D-005004775AB1")>]
type IVsTrackProjectDocumentsEvents2 = interface end
<InterfaceTypeAttribute(1)>
<GuidAttribute("53544C4D-663D-11D3-A60D-005004775AB1")>
Public Interface IVsTrackProjectDocumentsEvents2

Métodos

Nome Descrição
System_CAPS_pubmethod OnAfterAddDirectoriesEx(Int32, Int32, IVsProject[], Int32[], String[], VSADDDIRECTORYFLAGS[])

Este método notifica o cliente depois diretórios são adicionados ao projeto.

System_CAPS_pubmethod OnAfterAddFilesEx(Int32, Int32, IVsProject[], Int32[], String[], VSADDFILEFLAGS[])

Este método notifica o cliente depois de arquivos foi adicionado a um projeto.

System_CAPS_pubmethod OnAfterRemoveDirectories(Int32, Int32, IVsProject[], Int32[], String[], VSREMOVEDIRECTORYFLAGS[])

Este método notifica o cliente quando diretórios foram removidos do projeto.

System_CAPS_pubmethod OnAfterRemoveFiles(Int32, Int32, IVsProject[], Int32[], String[], VSREMOVEFILEFLAGS[])

Este método notifica o cliente depois de arquivos são removidos do projeto.

System_CAPS_pubmethod OnAfterRenameDirectories(Int32, Int32, IVsProject[], Int32[], String[], String[], VSRENAMEDIRECTORYFLAGS[])

Este método notifica o cliente quando diretórios foram renomeados no projeto.

System_CAPS_pubmethod OnAfterRenameFiles(Int32, Int32, IVsProject[], Int32[], String[], String[], VSRENAMEFILEFLAGS[])

Este método notifica o cliente quando os arquivos foram renomeados no projeto.

System_CAPS_pubmethod OnAfterSccStatusChanged(Int32, Int32, IVsProject[], Int32[], String[], UInt32[])

Este método notifica o cliente quando o status de controle do código-fonte foi alterado.

System_CAPS_pubmethod OnQueryAddDirectories(IVsProject, Int32, String[], VSQUERYADDDIRECTORYFLAGS[], VSQUERYADDDIRECTORYRESULTS[], VSQUERYADDDIRECTORYRESULTS[])

Este método notifica o cliente quando um projeto solicitou adicionar diretórios.

System_CAPS_pubmethod OnQueryAddFiles(IVsProject, Int32, String[], VSQUERYADDFILEFLAGS[], VSQUERYADDFILERESULTS[], VSQUERYADDFILERESULTS[])

Este método notifica o cliente quando um projeto solicitou para adicionar arquivos.

System_CAPS_pubmethod OnQueryRemoveDirectories(IVsProject, Int32, String[], VSQUERYREMOVEDIRECTORYFLAGS[], VSQUERYREMOVEDIRECTORYRESULTS[], VSQUERYREMOVEDIRECTORYRESULTS[])

Este método notifica o cliente quando um projeto solicitou para remover diretórios.

System_CAPS_pubmethod OnQueryRemoveFiles(IVsProject, Int32, String[], VSQUERYREMOVEFILEFLAGS[], VSQUERYREMOVEFILERESULTS[], VSQUERYREMOVEFILERESULTS[])

Este método notifica o cliente quando um projeto solicitou para remover arquivos.

System_CAPS_pubmethod OnQueryRenameDirectories(IVsProject, Int32, String[], String[], VSQUERYRENAMEDIRECTORYFLAGS[], VSQUERYRENAMEDIRECTORYRESULTS[], VSQUERYRENAMEDIRECTORYRESULTS[])

Este método notifica o cliente quando um projeto solicitou ao renomear pastas.

System_CAPS_pubmethod OnQueryRenameFiles(IVsProject, Int32, String[], String[], VSQUERYRENAMEFILEFLAGS[], VSQUERYRENAMEFILERESULTS[], VSQUERYRENAMEFILERESULTS[])

Este método notifica o cliente quando um projeto solicitou a renomeação de arquivos.

Comentários

Quando você assina o IVsTrackProjectDocumentEvents2 eventos, você receberá uma notificação de eventos para todos os projetos. Em geral, você não receberá uma notificação em lotes desses eventos, a menos que os dois projetos coordenam, como no caso de um projeto aninhado e o projeto pai.

Antes de adicionar, renomear ou excluir um arquivo ou diretório, cada projeto deve chamar o OnQuery* método IVsTrackProjectDocuments2 para verificar se a operação é permitida. Depois que a operação é concluída, o projeto deve, em seguida, notificar o OnAfter* método IVsTrackProjectDocuments2. O ambiente envia as notificações de eventos apropriado após cada chamada.

Os parâmetros nos métodos de IVsTrackProjectDocumentEvents2 geralmente consistem em:

  • Relevante IVsProject2, ou a matriz de IVsProject2 ponteiros.

  • Colocam sinalizadores sobre a operação de colocar.

  • Uma matriz de documentos classificados por projeto. Se houver apenas um projeto, em seguida, a ordem dos arquivos não importa. Se houver mais de um projeto, os arquivos devem ser agrupados por seus projetos associados.

  • Uma matriz de índices primeiro. Esses índices relacionam a matriz de projetos para a matriz de documentos. Há um índice primeiro para cada projeto, que aponta para o primeiro arquivo na matriz de documentos que é controlado pelo projeto. Como a matriz de documentos é classificada por projetos, todos os índices maiores do que um índice primeiro e menor que o primeiro índice próxima pertencem a um determinado projeto. Por exemplo:

Projetos

Índices

Documentos

Visual Basic

0

0) um b 1) 2) c 3) d 4).

Visual C++

5

5) f 6) g 7) h

Visual C#

8

8) i 9) j 10) k 11) l

Nesse caso:

Documentos a, b, c, d, e (índices de 0 a 4) pertencem ao projeto do Visual Basic.

Documenta f, g, h (índices de 5 a 7) pertencem ao projeto do Visual C++.

Documenta i, j, k, l (índices 8 e versões posteriores) pertence ao projeto c# Visual.

Observações para implementadores:

Um pacote de controle de origem implementa essa interface se precisar controlar as alterações em um projeto, como quando os arquivos ou diretórios são adicionados, removidos ou renomeados. É recomendável que essa interface ser implementadas; Caso contrário, o usuário precisará atualizar manualmente a exibição para ver todas as alterações no status do controle de origem.

Observações para chamadores:

Chamado pelo ambiente em resposta a adição, remoção ou renomeação de arquivos ou diretórios em um projeto.

Consulte também

Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo