Lors de l'évaluation de Visual Studio 2010 Beta 2, je constate que dans le répertoire converti, mes fichiers vcproj sont devenus des fichiers vcxproj . Il existe également des fichiers vcxproj.filter à côté de chaque projet qui semblent contenir une description de la structure des dossiers (\ Source Files, \ Header Files, etc.).
Pensez-vous que ces fichiers de filtre devraient être conservés par utilisateur ou devraient-ils être partagés dans tout le groupe de développement et archivés dans SCC?
Ma pensée actuelle est de les enregistrer, mais je me demande s'il y a des raisons de ne pas le faire, ou peut-être de bonnes raisons pour lesquelles je devrais définitivement les enregistrer.
L'avantage évident est que les structures des dossiers correspondent si je regarde la machine de quelqu'un d'autre, mais peut-être qu'ils aimeraient réorganiser les choses de manière logique?
Nous avons intentionnellement retiré le .filter. informations de fichier hors du .vcproj lorsque nous avons traduit au format .vcxproj MSBuild. L'une des raisons est exactement ce que vous avez souligné, à savoir que les filtres sont purement une vue logique et que différents membres de l'équipe peuvent souhaiter des vues différentes. L'autre est que parfois la construction est configurée pour vérifier l'horodatage du fichier de projet et déclencher une reconstruction s'il a changé - car cela peut signifier qu'il y a différents fichiers source à construire, ou des paramètres différents, etc. rappelez-vous si nous avons réellement livré avec la construction le déclenchement de cette façon, mais l'idée était que nous ne voulions pas déclencher une reconstruction simplement parce que les filtres ont changé, car ils n'affectent pas la construction.
la source
Je viens de découvrir que si vous utilisez Git, vous pouvez marquer les fichiers .filter à traiter comme une union pour la fusion pour le rendre plus simple. Ajoutez simplement la ligne:
dans votre fichier .gitattributes.
Voir Utilisation de .gitattributes pour éviter les conflits de fusion pour plus de détails.
la source
merge=union
fait - rien d'autre n'a été promis. Avec ces connaissances et une idée très large à quoi ressemblent les fichiers * .filter, il est facile de comprendre pourquoimerge=union
est une bonne idée pour ces fichiers.Il ne doit pas être ajouté dans le cas où vous utilisez
CMake
(ou de construire des outils similaires) pour générer des fichiers comme*.sln
,*.vcxproj
,*.vcxproj.filters
etc., parce que ces fichiers peuvent contenir le chemin complet à votre dossier de projet et d' autres seulement des dossiers spécifiques de votre ordinateur .la source