我应该添加.vcxproj.filter文件到源代码pipe理?

在评估Visual Studio 2010 Beta 2时,我看到在转换后的目录中,我的vcproj文件变成了vcxproj文件。 每个项目旁边还有一些vcxproj.filter文件,它们似乎包含文件夹结构(\ Source Files,\ Header Files等)的描述。

你认为这些过滤文件应该保存在每个用户,还是应该在整个开发组共享,并签入SCC?

我目前的想法是检查他们,但是我想知道是否有什么理由不这样做,或者我应该检查他们的很好的理由。

显而易见的好处是,如果我正在查看别人的机器,那么文件夹结构将会匹配,但也许他们想要逻辑地重组事物?

先前版本的Visual Studio(至less版本6.0和2008)将信息存储在自己的项目文件(分别为.dsp和.vcproj文件)中,这当然是很好的添加到SCC。

我想不出任何理由不在SCC中包含这个.filter文件

我们故意拉了.filter。 当我们将其转换为.vcxproj MSBuild格式时,将文件信息从.vcproj中移出。 其中一个原因正是你指出的,filter纯粹是一个逻辑的观点,不同的团队成员可能会有不同的看法。 另一个是有时build立被设置检查项目文件的时间戳,并触发一个重build,如果它已经改变 – 因为这可能意味着有不同的源文件build立,或不同的设置等我不回想一下,如果我们真的用这种方式触发构build触发器,但是我们的想法是,我们不想仅仅因为filter发生变化而触发重build,因为它们不影响构build。

我刚刚发现,如果你使用Git,你可以将.filter文件标记为合并的联合,使其更简单。 只需添加行:

*.vcxproj.filters merge=union 

到你的.gitattributes文件。

有关更多详细信息,请参阅使用.gitattributes避免合并冲突 。