Instructions de contrôle de sources supplémentaires pour les projets et les éditeursAdditional source control guidelines for projects and editors

Il existe un certain nombre d’instructions qui projets et les éditeurs doivent respecter pour prendre en charge le contrôle de code source.There are a number of guidelines that projects and editors should adhere to in order to support source control.

RecommandationsGuidelines

Votre projet ou l’éditeur doit également les étapes ci-après pour prendre en charge le contrôle de code source :Your project or editor should also do the following to support source control:

DomaineArea ProjetProject ÉditeurEditor DétailsDetails
Copies privées de fichiersPrivate copies of files XX L’environnement prend en charge des copies privées de fichiers.The environment supports private copies of files. Autrement dit, chaque personne inscrite dans le projet a son propre copie privée des fichiers dans ce projet.That is, each person enlisted in the project has his/her own private copy of the files in that project.
Persistance de l’ANSI/UnicodeANSI/Unicode persistence XX XX Si vous écrivez le code de persistance, conserver les fichiers dans le format ANSI, car la plupart des programmes de contrôle de code source ne prennent pas en charge Unicode.If you write the persistence code, persist files in the ANSI form because most source control programs do not currently support Unicode.
Énumérer les fichiersEnumerate files XX 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 de la IVsSccProject2 ou GetProperty (VSH_PROPID_First_Child/Next_Sibling).The project must contain a specific list of all files within it and must be able to enumerate the list of files using the IVsSccProject2 or GetProperty (VSH_PROPID_First_Child/Next_Sibling). Le projet doit également exposer des noms d’éléments via ses GetMkDocument mise en œuvre et la prise en charge la recherche de nom (y compris des fichiers spéciaux) via son IsDocumentInProject implémentation.The project should also expose item names through its GetMkDocument implementation and support name lookup (including special files) through its IsDocumentInProject implementation.
Format de texteText format XX XX Dans la mesure du possible, les fichiers doivent être au format texte pour prendre en charge la fusion des différentes versions.When possible, files should be in text format to support the merging of different versions. Les fichiers qui ne sont pas au format texte ne peuvent pas être fusionnées avec d’autres versions du fichier par la suite.Files that are not in text format cannot be merged with other versions of the file later on. Le format de texte par défaut est XML.The preferred text format is XML.
En fonction de référenceReference-based XX Projets basés sur la référence sont facilement prises en charge dans le contrôle de code source.Reference-based projects are readily supported in source control. Toutefois, basée sur le répertoire de projets 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, quel que soit l’existent de ces fichiers sur le disque.However, directory-based projects are also supported by source control as long as the project can produce a list of its files on demand, regardless of whether those files exist on disk. Lorsque vous ouvrez un projet à partir du contrôle de code source, le fichier projet est arrêté avant un de ses fichiers.When opening a project from source control, the project file is brought down first before any of its files.
Conserver les objets et les propriétés dans un ordre prévisiblePersist objects and properties in predictable order XX XX Conserver vos fichiers dans un ordre prévisible, telles que l’ordre alphabétique, pour faciliter la fusion.Persist your files in a predictable order, such as alphabetical order, to facilitate merging.
RechargerReload XX XX Lorsqu’un fichier change sur le disque, votre éditeur doit être en mesure de le recharger.When a file changes on disk, your editor must be able to reload it. Lorsque vous participez à contrôle de code source, l’environnement sera recharger les données pour vous en appelant votre ReloadDocData implémentation.When you participate in source control, the environment will reload data for you by calling your ReloadDocData implementation. Le cas de recharger la plus difficile est lorsqu’une extraction se produit quand vous avez appelé IVsQueryEditQuerySave ::QueryEditFiles et traitement des informations.The most difficult reload case is when a checkout occurs when you have called IVsQueryEditQuerySave::QueryEditFiles and are processing information. Toutefois, votre code de rechargement doit être en mesure d’exécuter dans cette situation.However, your reload code must be able to run in this situation.

L’environnement recharge automatiquement les fichiers de projet.The environment automatically reloads project files. Toutefois, un projet doit implémenter IVsPersistHierarchyItem2 si elle est imbriquée pour prendre en charge le rechargement des hiérarchies imbriquées fichiers projet.However, a project must implement IVsPersistHierarchyItem2 if it has nested hierarchies in order to support reloading nested project files.

Voir aussiSee also

Prend en charge le contrôle de code sourceSupport source control