web-dev-qa-db-fra.com

Dois-je ajouter des fichiers .vcxproj.filter au contrôle de source?

Lors de l'évaluation de Visual Studio 2010 Bêta 2, je constate que, dans le répertoire converti, mes vcproj fichiers sont devenusvcxproj files. Il existe également des fichiers vcxproj.filter à côté de chaque projet, qui semblent contenir une description de la structure du dossier (\ Fichiers source,\Fichiers en-tête, etc.).

Pensez-vous que ces fichiers de filtres doivent être conservés par utilisateur ou doivent-ils être partagés avec l'ensemble du groupe de développeurs et archivés dans SCC?

Ma pensée actuelle est de les enregistrer, mais je me demande s’il ya des raisons de ne pas le faire, ou peut-être de bonnes raisons pour lesquelles je devrais absolument les enregistrer. 

L'avantage évident est que les structures de dossiers s'accorderont si je regarde la machine de quelqu'un d'autre, mais peut-être voudrait-il réorganiser les choses logiquement?

153
jschroedl

Les versions précédentes de Visual Studio (au moins les versions 6.0 et 2008) stockent ces informations dans leur propre fichier de projet (fichiers .dsp et .vcproj respectivement), qu'il est bien sûr bon d'ajouter à SCC.

Je ne vois aucune raison de ne pas inclure ces fichiers .filter dans SCC

54
jrbjazz

Nous avons intentionnellement tiré le filtre. informations de fichier hors du fichier .vcproj lorsque nous avons traduit au format .vcxproj MSBuild. Une des raisons est exactement ce que vous avez souligné, les filtres sont une vue purement logique et différents membres de l'équipe peuvent vouloir différentes vues. L’autre est que parfois la construction est configurée pour vérifier l’horodatage du fichier de projet et déclencher une reconstruction si celle-ci a changé - car cela peut signifier que vous devez créer différents fichiers source, des paramètres différents, etc. Je ne me souviens pas si nous avions livré la génération avec le déclencheur de cette façon, mais l’idée était que nous ne voulions pas déclencher une reconstruction simplement parce que les filtres avaient changé, car ils n’affectaient pas la construction.

101
dan moseley

Je viens de découvrir que si vous utilisez Git, vous pouvez marquer les fichiers .filter comme des unions à fusionner pour simplifier les choses. Ajoutez juste la ligne:

*.vcxproj.filters merge=union

dans votre fichier .gitattributes.

Voir Utiliser .gitattributes pour éviter les conflits de fusion pour plus de détails.

4
parsley72

Il ne doit pas être ajouté si vous utilisez CMake (ou des outils de construction similaires) pour générer des fichiers tels que *.sln, *.vcxproj, *.vcxproj.filters, etc., car ces fichiers peuvent contenir le chemin complet de votre dossier de projet et d'autres uniquement les dossiers spécifiques de votre ordinateur.

0
V. Panchenko