Condividi tramite


Linee guida aggiuntive per il controllo del codice sorgente per progetti ed editor

Esistono diverse linee guida che i progetti e gli editor devono rispettare per supportare il controllo del codice sorgente.

Linee guida

Il progetto o l'editor deve anche eseguire le operazioni seguenti per supportare il controllo del codice sorgente:

Area Project Editor Dettagli
Copie private dei file X Il supporto ambientale copia privata dei file. Ovvero, ogni persona inserita nel progetto ha la propria copia privata dei file in tale progetto.
Persistenza ANSI/Unicode X X Se si scrive il codice di persistenza, rendere persistenti i file nel modulo ANSI perché la maggior parte dei programmi di controllo del codice sorgente attualmente non supporta Unicode.
Enumerare i file X Il progetto deve contenere un elenco specifico di tutti i file al suo interno e deve essere in grado di enumerare l'elenco dei file usando IVsSccProject2 o GetProperty (VSH_PROPID_First_Child/Next_Sibling). Il progetto deve anche esporre i nomi degli elementi tramite l'implementazione GetMkDocument e supportare la ricerca dei nomi (inclusi i file speciali) tramite la relativa IsDocumentInProject implementazione.
Formato Testo X X Quando possibile, i file devono essere in formato testo per supportare l'unione di versioni diverse. I file che non sono in formato testo non possono essere uniti con altre versioni del file in un secondo momento. Il formato di testo preferito è XML.
Basato sui riferimenti X I progetti basati su riferimenti sono facilmente supportati nel controllo del codice sorgente. Tuttavia, i progetti basati su directory sono supportati anche dal controllo del codice sorgente, purché il progetto possa produrre un elenco dei relativi file su richiesta, indipendentemente dal fatto che tali file esistano su disco. Quando si apre un progetto dal controllo del codice sorgente, il file di progetto viene portato inattivo prima di uno dei relativi file.
Rendere persistenti oggetti e proprietà in ordine prevedibile X X Rendere persistenti i file in un ordine prevedibile, ad esempio l'ordine alfabetico, per facilitare l'unione.
Ricarica X X Quando un file cambia su disco, l'editor deve essere in grado di ricaricarlo. Quando si partecipa al controllo del codice sorgente, l'ambiente ricarica i dati chiamando l'implementazione ReloadDocData . Il caso di ricaricamento più difficile è quando si verifica un checkout quando si chiama IVsQueryEditQuerySave::QueryEditFiles e si elaborano informazioni. Tuttavia, il codice di ricaricamento deve essere in grado di essere eseguito in questa situazione.

L'ambiente ricarica automaticamente i file di progetto. Tuttavia, un progetto deve implementare IVsPersistHierarchyItem2 se contiene gerarchie annidate per supportare il ricaricamento dei file di progetto annidati.