Partilhar via


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

Há uma série de diretrizes que os projetos e editores devem seguir para apoiar o controle do código-fonte.

Guidelines

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

Area Projeto Editor Detalhes
Cópias privadas dos ficheiros X O ambiente suporta cópias privadas de ficheiros. Ou seja, cada pessoa inscrita no projeto tem a sua própria cópia privada dos ficheiros desse projeto.
Persistência ANSI/Unicode X X Se você escrever o código de persistência, persista os arquivos no formulário ANSI porque a maioria dos programas de controle do código-fonte atualmente não suporta 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 através de sua GetMkDocument implementação e apoiar a pesquisa de nomes (incluindo arquivos especiais) através de sua IsDocumentInProject implementação.
Formato do texto X X Sempre que possível, os ficheiros devem estar em formato de texto para suportar a fusão de diferentes versões. Os arquivos que não estão em formato de texto não podem ser mesclados com outras versões do arquivo posteriormente. O formato de texto preferido é XML.
Com base em referências X Projetos baseados em referência são prontamente suportados no controle do código-fonte. No entanto, projetos baseados em diretório também são suportados pelo 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 a partir do controle do código-fonte, o arquivo de projeto é derrubado primeiro antes de qualquer um de seus arquivos.
Persistir objetos e propriedades em ordem previsível X X Persista 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ê participa do controle do código-fonte, o ambiente recarregará os dados para você chamando sua ReloadDocData implementação. O caso de recarga mais difícil é quando ocorre um check-out depois de chamar IVsQueryEditQuerySave::QueryEditFiles e processar informações. No entanto, seu código de recarga deve ser capaz de ser executado nessa situação.

O ambiente recarrega automaticamente os arquivos do projeto. No entanto, um projeto deve implementar IVsPersistHierarchyItem2 se tiver hierarquias aninhadas para dar suporte ao recarregamento de arquivos de projeto aninhados.