【问题标题】:How to group partial class files in Solution Explorer VS2010 [duplicate]如何在解决方案资源管理器 VS2010 中对部分类文件进行分组 [重复]
【发布时间】:2010-09-01 19:13:07
【问题描述】:

可能重复:
Group files in Visual Studio

问题是,我想在解决方案资源管理器中以某种方式对部分类文件进行分组,Visual Studio 在文件名前显示一个 [+],我可以展开它以查看所有其他相关文件。

但我的课程显示在彼此下方的两行中:

> CustomerServiceDao.cs
> CustomerServiceDao.Query.cs

我想要的结果是这样的。

+ CustomerServiceDao.cs
    > CustomerServiceDao.Query.cs

为了显示分组的部分文件,我必须遵循任何命名约定吗?

编辑

它有效。那太棒了。但是有任何命名约定吗?例如ascx 默认会这样做...

【问题讨论】:

    标签: visual-studio-2010


    【解决方案1】:

    如果您将 .csproj 作为文本文件打开(或从项目的解决方案资源管理器的上下文菜单中选择“卸载项目”,然后选择“编辑 myproject.csproj”),您可以更改它以显示相关文件以您希望的样式在解决方案资源管理器中。

    寻找:

    <Compile Include="CustomerServiceDao.cs" />
    <Compile Include="CustomerServiceDao.Query.cs" />
    

    然后编辑成这样:

    <Compile Include="CustomerServiceDao.cs" />
    <Compile Include="CustomerServiceDao.Query.cs">
        <DependentUpon>CustomerServiceDao.cs</DependentUpon>
    </Compile>
    

    没有办法直接在 Visual Studio 编辑器中执行此操作,但考虑到 VS2k10 提供的可扩展性模型,可能很快就会有人制作出一些东西。

    更新: VSCommands 的最新版本声称支持为您执行此操作:

    最新版本支持从 IDE 中对项目进行分组(因此您不必使用 DependentUpon 手动破解项目文件)。

    【讨论】:

    • VSCommands 的正确链接是 visualstudiogallery.msdn.microsoft.com/en-us/… - 一旦我检查了它是否真的有效,我会尽快更新答案 =)
    • 这真的很酷;)我印象深刻。 VSCommands 就像一个魅力。
    • 我无法将项目 a 嵌套在项目 b 中,其中项目 b 不是 a 的兄弟。但是 Dao 的回答中提到的 NestIn 确实做到了这一点。
    • 如果您先编辑 .csproj 文件,请在物理位置添加一个文件。如链接答案中所述,卸载项目,右键单击,编辑,保存然后重新加载项目。 stackoverflow.com/questions/5129090/how-to-edit-csproj-file
    • 我无法让它在 VS2013 的 VSCommands 中工作。我什至没有看到该版本的文档。
    【解决方案2】:

    如果您不想使用繁重且专有的 VSCommands 扩展来降低 IDE 的速度,您可以改用小型扩展 NestIn。它只能对文件进行分组/取消分组

    【讨论】:

    • +1 我无法让 VSCommands 将项目 a 嵌套在项目 b 中,其中项目 b 不是 a 的兄弟。但是 NestIn 确实如此,是的! ...但有时不嵌套不起作用:-\
    【解决方案3】:

    如果您手动编辑 .csproj 文件,您可以实现此目的。

    只需右键单击您的项目,点击Unload Project

    从那里,右键单击并点击Edit project.csproj

    查找Compile 元素。像这样添加DependentUpon 子元素:

    <Compile Include="CustomerServiceDao.cs" />
    <Compile Include="CustomerServiceDao.Query.cs">
        <DependentUpon>CustomerServiceDao.cs</DependentUpon>
    </Compile>
    

    【讨论】:

    • 它有效。那太棒了。但是有任何命名约定吗?例如ascx 默认会这样做...
    • @BitKFu,一些项目类型默认这样做,因为这是它们的编码方式。恐怕没有命名约定可以帮助你。我刚刚找到了一个插件(在我的回答中提到),它声称它会为你做! =)
    • 我真的很想给你们两个声誉。很好的答案,但我必须选择一个。
    【解决方案4】:

    通过安装 VScommands1.2 尝试使用 Group/ungroup 项目

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-15
      • 2011-01-28
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      相关资源
      最近更新 更多