IVsTrackProjectDocuments2 Interface

Definição

Usado por projetos para consultar o ambiente para obter permissão para adicionar, remover ou renomear um arquivo ou diretório em uma solução.

public interface class IVsTrackProjectDocuments2
public interface class IVsTrackProjectDocuments2
__interface IVsTrackProjectDocuments2
[System.Runtime.InteropServices.Guid("53544C4D-6639-11D3-A60D-005004775AB1")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsTrackProjectDocuments2
[<System.Runtime.InteropServices.Guid("53544C4D-6639-11D3-A60D-005004775AB1")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsTrackProjectDocuments2 = interface
Public Interface IVsTrackProjectDocuments2
Atributos

Comentários

Use a IVsTrackProjectDocuments2 interface para solicitar permissão do ambiente para adicionar, remover ou renomear qualquer arquivo ou diretório em um projeto e (se a permissão for concedida) para informar o ambiente quando essas ações forem concluídas. Você precisa fazer essas chamadas mesmo que seu projeto não ofereça suporte ao controle do código-fonte. Você deve usar o IVsTrackProjectDocuments2 para todos os arquivos, não apenas os arquivos mestres. Por exemplo, se você tiver um formulário com um arquivo. resx e outros arquivos, precisará informar ao ambiente sobre todos os arquivos. Não chame os métodos de IVsTrackProjectDocuments2 no projeto Open ou Close. Qualquer entidade que exija as informações fornecidas IVsTrackProjectDocuments2 na inicialização pode aguardar o OnAfterOpenSolution evento e iterar pela solução para localizar as informações necessárias. Ao desligar, essas informações não são necessárias. O acesso ao IVsTrackProjectDocuments2 é fornecido pelo SVsTrackProjectDocuments serviço.

Para cada chamada em IVsTrackProjectDocuments2 , há dois métodos, o OnQuery* método e o OnAfter* método. Chame o OnQuery* método apropriado para solicitar permissão para adicionar, remover ou renomear um arquivo ou diretório em um projeto. A partir dessa chamada, você pode receber uma notificação informando que a operação não pode continuar. Por exemplo, se o sistema de projeto Enterprise Framework e modelo (TEF) não permitir que o usuário adicione um arquivo que não atende à política, o projeto deverá estar preparado para não executar adicionar, remover ou renomear. Se a permissão for concedida, o projeto deverá concluir a ação adicionar, renomear ou remover e, em seguida, chamar o OnAfter* método apropriado para informar o ambiente das alterações feitas no projeto.

O IVsTrackProjectDocuments2 método também se aplica a diretórios, mas as chamadas de diretório são opcionais. Se o sistema do projeto tiver informações de diretório, forneça essas informações para o ambiente usando esses métodos. No entanto, se o sistema do projeto não tiver essas informações, o ambiente inferirá isso.

Observação

Todas as chamadas de diretório são opcionais. No entanto, se você chamar um dos OnQuery* métodos de diretório e a chamada tiver sido bem-sucedida, será necessário chamar o OnAfter* método de diretório correspondente.

IVsTrackProjectDocuments2 é acessado usando o SVsTrackProjectDocuments serviço.

Notas aos Implementadores

Implementado pelo ambiente. Essa interface é o mecanismo para coletar as informações sobre quando um arquivo ou diretório é adicionado, removido ou renomeado em um projeto.

Notas aos Chamadores

Chamado por projetos para consultar o ambiente quanto a se um arquivo ou diretório pode ser adicionado, removido ou renomeado em uma solução. Para todas as ações aprovadas pelo ambiente, o método apropriado é chamado depois que a ação é concluída. IVsTrackProjectDocuments2 deve ser usado por todos os projetos, independentemente se eles dão suporte ao controle do código-fonte.

Métodos

AdviseTrackProjectDocumentsEvents(IVsTrackProjectDocumentsEvents2, UInt32)

Esse método permite que os clientes recebam notificações de eventos de documentos do projeto.

BeginBatch()

Esse método inicia um lote de chamadas de método IVsTrackProjectDocuments2. onafter *.

EndBatch()

Esse método encerra o lote iniciado por BeginBatch() e exibe qualquer interface do usuário que foi gerada no lote.

Flush()

Esse método exibe a interface do usuário para as IVsTrackProjectDocuments2 chamadas concluídas até o momento sem encerrar o lote.

OnAfterAddDirectories(IVsProject, Int32, String[])

Esse método é chamado por um projeto depois que os diretórios tiverem sido adicionados ao projeto.

OnAfterAddDirectoriesEx(IVsProject, Int32, String[], VSADDDIRECTORYFLAGS[])

Esse método é chamado por um projeto depois que os diretórios tiverem sido adicionados ao projeto. Esse método é equivalente a OnAfterAddDirectories(IVsProject, Int32, String[]) , mas também usa sinalizadores.

OnAfterAddFiles(IVsProject, Int32, String[])

Esse método é chamado por um projeto após a adição de arquivos ao projeto.

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

Esse método é chamado por um projeto após a adição de arquivos ao projeto.

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

Esse método é chamado por um projeto depois que os diretórios tiverem sido removidos do projeto.

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

Esse método é chamado por um projeto depois que os arquivos foram removidos do projeto.

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

Esse método é chamado por um projeto depois que um diretório é renomeado no projeto.

OnAfterRenameFile(IVsProject, String, String, VSRENAMEFILEFLAGS)

Esse método é chamado por um projeto depois que um arquivo é renomeado no projeto.

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

Esse método é chamado por um projeto depois que os arquivos tiverem sido renomeados no projeto.

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

Esse método é chamado pelo stub de controle do código-fonte para informar aos ouvintes que o status do controle do código-fonte foi alterado. Não chame esse método.

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

Esse método é chamado por um projeto para determinar se os diretórios podem ser adicionados ao projeto.

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

Esse método é chamado por um projeto para determinar se os arquivos podem ser adicionados ao projeto.

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

Esse método é chamado por um projeto para determinar se os diretórios podem ser removidos do projeto.

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

Esse método é chamado por um projeto para determinar se os arquivos podem ser removidos do projeto.

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

Esse método é chamado por um projeto para determinar se os diretórios no projeto podem ser renomeados.

OnQueryRenameFile(IVsProject, String, String, VSRENAMEFILEFLAGS, Int32)

Esse método é chamado por um projeto para determinar se um arquivo no projeto pode ser renomeado.

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

Esse método é chamado por um projeto para determinar se os arquivos podem ser renomeados no projeto.

UnadviseTrackProjectDocumentsEvents(UInt32)

Esse método impede que os clientes recebam notificações de eventos de documentos do projeto.

Aplica-se a