Compartilhar via


Diretrizes adicionais de controle do código-fonte para projetos e editores

Há várias diretrizes que projetos e editores devem seguir para dar suporte ao controle do código-fonte.

Guidelines

Seu projeto ou editor também deve fazer o seguinte para dar suporte ao controle do código-fonte:

Area Projeto Editor Detalhes
Cópias privadas de arquivos X O ambiente dá suporte a cópias privadas de arquivos. Ou seja, cada pessoa inserida no projeto tem sua própria cópia privada dos arquivos nesse projeto.
Persistência ANSI/Unicode X X Se você escrever o código de persistência, persista arquivos no formulário ANSI porque a maioria dos programas de controle do código-fonte atualmente não dá suporte ao Unicode.
Enumerar arquivos X O projeto deve conter uma lista específica de todos os arquivos dentro dele 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 nomes de itens por meio de sua GetMkDocument implementação e suportar a busca por nome (incluindo arquivos especiais) por meio de sua IsDocumentInProject implementação.
Formato do texto X X Quando possível, os arquivos devem estar em formato de texto para dar suporte à mesclagem de diferentes versões. Os arquivos que não estão no formato de texto não podem ser mesclados com outras versões do arquivo posteriormente. O formato de texto preferencial é XML.
Baseado em referência X Os projetos baseados em referência são facilmente compatíveis com o controle do código-fonte. No entanto, projetos baseados em diretório também são compatíveis com o controle do código-fonte, desde que o projeto possa produzir uma lista de seus arquivos sob demanda, independentemente de esses arquivos existirem no disco. Ao abrir um projeto do controle do código-fonte, o arquivo de projeto é derrubado primeiro antes de qualquer um de seus arquivos.
Manter objetos e propriedades em ordem previsível X X Mantenha 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 ser capaz de recarregá-lo. Quando você participar do controle do código-fonte, o ambiente recarregará os dados para você chamando sua ReloadDocData implementação. O caso de recarregamento mais difícil é quando ocorre um check-out quando você chama IVsQueryEditQuerySave::QueryEditFiles e está processando informações. No entanto, seu código de recarregamento deve ser capaz de ser executado nessa situação.

O ambiente recarrega automaticamente arquivos de projeto. No entanto, um projeto deve implementar IVsPersistHierarchyItem2 caso possua hierarquias aninhadas para dar suporte ao recarregamento de arquivos de projeto aninhados.