Recommandations supplémentaires en matière de contrôle de code source pour les projets et les éditeurs

Il existe plusieurs instructions que les projets et les éditeurs doivent respecter pour prendre en charge le contrôle de code source.

Consignes

Votre projet ou éditeur doit également effectuer les opérations suivantes pour prendre en charge le contrôle de code source :

Zone Project Éditeur Détails
Copies privées de fichiers X L’environnement prend en charge les copies privées de fichiers. Autrement dit, chaque personne inscrite dans le projet possède sa propre copie privée des fichiers de ce projet.
Persistance ANSI/Unicode X X Si vous écrivez le code de persistance, conservez les fichiers dans le formulaire ANSI, car la plupart des programmes de contrôle de code source ne prennent actuellement pas en charge Unicode.
Énumérer les fichiers X Le projet doit contenir une liste spécifique de tous les fichiers qu’il contient et doit être en mesure d’énumérer la liste des fichiers à l’aide du IVsSccProject2 ou GetProperty (VSH_PROPID_First_Child/Next_Sibling). Le projet doit également exposer les noms d’éléments par le biais de son GetMkDocument implémentation et prendre en charge la recherche de noms (y compris les fichiers spéciaux) par le biais de son IsDocumentInProject implémentation.
Format Texte X X Dans la mesure du possible, les fichiers doivent être au format texte pour prendre en charge la fusion de différentes versions. Les fichiers qui ne sont pas au format texte ne peuvent pas être fusionnés avec d’autres versions du fichier ultérieurement. Le format de texte préféré est XML.
Basé sur des références X Les projets basés sur des références sont facilement pris en charge dans le contrôle de code source. Toutefois, les projets basés sur un répertoire sont également pris en charge par le contrôle de code source tant que le projet peut produire une liste de ses fichiers à la demande, que ces fichiers existent sur le disque. Lors de l’ouverture d’un projet à partir du contrôle de code source, le fichier projet est d’abord supprimé avant l’un de ses fichiers.
Conserver les objets et les propriétés dans un ordre prévisible X X Conservez vos fichiers dans un ordre prévisible, tel que l’ordre alphabétique, pour faciliter la fusion.
Recharger X X Lorsqu’un fichier change sur le disque, votre éditeur doit être en mesure de le recharger. Lorsque vous participez au contrôle de code source, l’environnement recharge les données pour vous en appelant votre ReloadDocData implémentation. Le cas de rechargement le plus difficile est lorsqu’un case activée out se produit lorsque vous avez appelé IVsQueryEditQuerySave ::QueryEditFiles et que vous traitez des informations. Toutefois, votre code de rechargement doit être en mesure de s’exécuter dans cette situation.

L’environnement recharge automatiquement les fichiers projet. Toutefois, un projet doit implémenter IVsPersistHierarchyItem2 s’il a des hiérarchies imbriquées afin de prendre en charge le rechargement des fichiers projet imbriqués.