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