我正在考虑在Visual Studio中整理我的项目布局,我想知道是否有任何黑客,插件或技巧将.xml文件与同名的.cs文件关联起来,以便它们出现在我的解决方案导航器中/探险。
与代码隐藏文件与其aspx关联的方式类似。
欢迎任何建议。谢谢
在您的项目文件中:
<Compile Include="FileA.cs"/>
<Compile Include="FileA.xml">
<DependentUpon>FileA.cs</DependentUpon>
</Compile>
或者你可以使用Group Items
扩展的VSCommands 2010命令。
编辑:如果您的文件位于文件夹中,请不要在DependentUpon
标记中包含文件夹名称。例如,如果您的文件位于Helpers
文件夹中:
<Compile Include="Helpers\FileA.cs"/>
<Compile Include="Helpers\FileA.xml">
<DependentUpon>FileA.cs</DependentUpon>
</Compile>
如果您不想通过繁重的专有VSCommands扩展来减慢IDE的速度,可以使用小扩展NestIn。它只能分组/取消组合文件
对于文件是“顶级”文件的简单情况,Julien的描述完美无缺。但是,在DependentUpon文件位于项目下的文件夹中的情况下,这看起来不同。我个人不喜欢它,因为它似乎可能导致歧义,但这是一种观点。
<Compile Include="DataStructs\CKDTree.cs" />
<Compile Include="DataStructs\CClosestObjects.cs" >
<DependentUpon>CKDTree.cs</DependentUpon>
</Compile>
请注意,依赖项不包括父项的文件夹。在VS2013中也是如此...在早期版本中可能是这样,但我还没有验证它。
不确定人们是否知道,但是这样的嵌套文件似乎打破了VS重命名根文件的能力,至少当你的新嵌套文件也是部分类时。例如,这是我们创建的树...
MainWindow.xaml
MainWindow.xaml.cs
MainWindow.Commands.cs
MainWindow.Commands.cs只是MainWindow的另一个部分类,与MainWindow.xaml.cs相同。但是,如果您尝试重命名MainWindow.xaml,而不是自动重命名依赖文件,则会抛出异常。
为了完整起见,我还尝试命名文件MainWindow.xaml.Commands.cs
,但这也不起作用。
没有额外的'命令'文件,重命名当然可以正常工作。
MainWindow.xaml
MainWindow.xaml.cs
无论如何,这足以让我们放弃像这样的嵌套文件。如果没有重命名的能力,那就不值得了。
视觉工作室的File Nesting扩展是一个很好的。在撰写此答案时,它的下载量约为500K。我亲自将它添加到我的VS 2015并且它工作正常(尚未尝试过VS 2017)。