Exibir arquivos usando o comando Abrir arquivo

As etapas a seguir descrevem como o IDE manipula o comando Abrir arquivo, que está disponível no menu Arquivo no Visual Studio. As etapas também descrevem como os projetos devem responder às chamadas originadas desse comando.

Quando um usuário clica no comando Abrir arquivo no menu arquivo e seleciona um arquivo na caixa de diálogo Abrir arquivo, ocorre o seguinte processo:

  1. Usando a tabela de documentos em execução, o IDE determina se o arquivo já está aberto em um projeto.

    • Se o arquivo estiver aberto, o IDE reaparecerá a janela.

    • Se o arquivo não estiver aberto, o IDE chamará IsDocumentInProject para consultar cada projeto para determinar qual projeto pode abrir o arquivo.

      Observação

      Na implementação do projeto do , forneça um valor de IsDocumentInProjectprioridade que indique o nível no qual o projeto abre o arquivo. Os valores de prioridade são fornecidos na VSDOCUMENTPRIORITY enumeração.

  2. Cada projeto responde com um nível de prioridade que indica a importância que ele dá a ser o projeto para abrir o arquivo.

  3. O IDE usa os seguintes critérios para determinar qual projeto abre o arquivo:

    • O projeto que responde com a prioridade mais alta (DP_Intrinsic) abre o arquivo. Se mais de um projeto responder com essa prioridade, o primeiro projeto a responder abrirá o arquivo.

    • Se nenhum projeto responder com a prioridade mais alta (DP_Intrinsic), mas todos os projetos responderem com a mesma prioridade mais baixa, o projeto ativo abrirá o arquivo. Se nenhum projeto estiver ativo, o primeiro projeto a responder abrirá o arquivo.

    • Se nenhum projeto reivindicar a propriedade do arquivo (DP_Unsupported), o projeto Arquivos diversos abrirá o arquivo.

      Se uma instância do projeto Arquivos diversos for criada, o projeto sempre responderá com o valor DP_CanAddAsExternal. Esse valor indica que o projeto pode abrir o arquivo. Este projeto é usado para abrigar arquivos abertos que não estão em nenhum outro projeto. A lista de itens neste projeto não é persistente; este projeto é visível no Gerenciador de Soluções somente quando ele é usado para abrir um arquivo.

      Se o projeto Arquivos diversos não indicar que ele pode abrir o arquivo, uma instância do projeto não foi criada. Nesse caso, o IDE cria uma instância do projeto Arquivos diversos e diz ao projeto para abrir o arquivo.

  4. Assim que o IDE determina qual projeto abre o arquivo, ele chama o OpenItem método nesse projeto.

  5. O projeto, em seguida, tem a opção de abrir o arquivo usando um editor específico do projeto ou um editor padrão. Para obter mais informações, consulte Como: Abrir editores específicos do projeto e Como: Abrir editores padrão, respectivamente.