Partilhar via


Diretrizes de controle de origem adicionais para projetos e editores

Há uma série de diretrizes que projetos e editores devem cumprir para oferecer suporte a controle de origem.

Diretrizes

O projeto ou o editor também deve fazer o seguinte para dar suporte ao controle de origem:

Área

Project

Editor

Detalhes

Particulares cópias dos arquivos

X

 

O ambiente aceita privadas cópias dos arquivos. Ou seja, cada pessoa inscrita no projeto tem sua própria cópia privada dos arquivos no projeto.

Persistência de Unicode/ANSI

X

X

Se você escrever o código de persistência, persistem arquivos no formato ANSI, porque a maioria dos programas de controle de origem no momento não suporte Unicode.

Enumerar arquivos

X

 

O projeto deve conter uma lista específica de todos os arquivos dentro dela e deve ser capaz de enumerar a lista de arquivos usando o IVsSccProject2 ou GetProperty (VSH_PROPID_First_Child/Next_Sibling). O projeto também deve expor a nomes de itens por meio de sua GetMkDocument a implementação e suporte pesquisa de nome (incluindo arquivos especiais) por meio de seu IsDocumentInProject implementação.

Formato de texto

X

X

Quando possível, os arquivos devem estar no formato de texto para oferecer suporte a mesclagem de versões diferentes. Arquivos que não estão no formato de texto não podem ser mesclados com outras versões do arquivo no futuro. O formato de texto preferido é XML.

Base de referência

X

 

Projetos baseados em referência prontamente são suportados no controle de origem. No entanto, os projetos baseados em diretório também são suportados pelo controle de origem, desde que o projeto pode produzir uma lista de seus arquivos sob demanda, independentemente de se esses arquivos existem no disco. Ao abrir um projeto de controle de origem, o arquivo de projeto trazido para o primeiro, antes de qualquer um dos arquivos.

Persistência de objetos e propriedades em ordem previsível

X

X

Manter seus arquivos em uma ordem previsível, como ordem alfabética, para facilitar a mesclagem.

Recarregar

X

X

Quando um arquivo é alterado no disco, o editor deve poder recarregá-lo. Quando você participa de controle de origem, o ambiente será recarregado dados para você, chamando o ReloadDocData implementação. O caso de recarga mais difíceis é quando um check-out ocorre quando você chamou IVsQueryEditQuerySave::QueryEditFiles e está processando informações. No entanto, seu código de recarga deve ser capaz de executar nessa situação.

O ambiente recarrega automaticamente os arquivos de projeto. No entanto, um projeto deve implementar IVsPersistHierarchyItem2 se ele tiver aninhado hierarquias para oferecer suporte a recarregamento de arquivos de projeto aninhados.

Consulte também

Outros recursos

Controle de origem de suporte.