164 votes

Est-ce que je devrais ajouter les fichiers .vcxproj.filter au contrôle de source?

En évaluant Visual Studio 2010 Beta 2, je remarque que dans le répertoire converti, mes fichiers vcproj sont devenus des fichiers vcxproj. Il y a aussi des fichiers vcxproj.filter à côté de chaque projet qui semblent contenir une description de la structure de dossiers (\Fichiers source, \Fichiers d'en-tête, 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 vérifiés dans le SCC?

Je pense actuellement à les vérifier, 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 absolument les vérifier.

L'avantage évident est que les structures de dossiers correspondront si je regarde sur la machine de quelqu'un d'autre, mais peut-être qu'ils aimeraient réorganiser les choses logiquement?

108voto

dan moseley Points 651

Nous avons délibérément extrait les informations du fichier .filter du fichier .vcproj lorsque nous l'avons traduit dans le format MSBuild .vcxproj. Une raison est exactement ce que vous avez souligné, à savoir que les filtres sont uniquement une vue logique, et que différents membres de l'équipe peuvent souhaiter des vues différentes. L'autre raison est que parfois la construction est configurée pour vérifier la date et l'heure du fichier du projet, et déclencher une reconstruction s'il a changé - car cela pourrait signifier qu'il y a des fichiers source différents à compiler, ou des paramètres différents, etc. Je ne me souviens pas si nous avons effectivement expédié avec la construction déclenchée de cette manière, mais l'idée était que nous ne voulions pas déclencher une reconstruction simplement parce que les filtres avaient changé, car ils n'affectent pas la construction.

57voto

jrbjazz Points 2099

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 (.dsp et .vcproj respectivement), ce qui est bien sûr utile à ajouter à SCC.

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

7voto

V. Panchenko Points 442

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

6voto

parsley72 Points 804

Je viens de découvrir que si vous utilisez Git, vous pouvez marquer les fichiers .filter pour être traités comme une union pour fusionner afin de simplifier les choses. Il suffit d'ajouter la ligne :

*.vcxproj.filters merge=union

à votre fichier .gitattributes.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X