代码之家  ›  专栏  ›  技术社区  ›  Kent Boogaart

Visual Studio解决方案中的项目顺序

  •  48
  • Kent Boogaart  · 技术社区  · 16 年前

    在Visual Studio 2008中,什么决定了项目在解决方案文件夹中的显示顺序?它不是字母顺序,也不是构建顺序。

    我找不到任何方法来改变项目被列出的顺序。我试着把我的 文件,以及在 SLN 文件。两者都没有任何效果。

    如何更改项目的显示顺序?

    5 回复  |  直到 7 年前
        1
  •  8
  •   Heretic Monkey    9 年前

    Connect.microsoft.com上已经放置了一个反馈请求,因此您必须等待永久解决方案。

    http://connect.microsoft.com/VisualStudio/feedback/details/468874/solution-explorer-project-sort-order (原版已被删除,替换为回程机器链接)

    有临时的解决办法,但我觉得不够好。其中之一是:

    压力 地上二层 要重命名项目,请按 输入 不更改名称。这将临时排序该文件夹中的项目。

    (按规定) http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/79d46a69-386e-4ad8-b9cb-b00d4252495b/?prof=required )

    或使用 http://solutionsorter.codeplex.com/ 更改SLN以进行永久修复 如果解决方案文件夹未嵌套 (它吞噬了我的解决方案)

    但是,如果关闭并打开解决方案,这将不起作用。

    如果使用Resharper,可以按 捷径 控制 + n 查明 解决方案中的文件和 CTRL + F12 到 找出文件中的方法。

        2
  •  11
  •   Sam    14 年前

    不幸的是,VS2010强制项目按字母顺序排序。

    也许通过添加数字前缀(01、02、03等)来重命名项目以实现所需的顺序是唯一的解决方法,尽管也不理想。

        3
  •  8
  •   Leonid Sternberg    15 年前

    在任何文本编辑器中获取file.sln。 订购零件
    他说:“这是一个很好的选择。” 项目(“2150E333-8FDC-42A3-9474-1A3956D46DE8”)=“等…”

    结束项目

    按你想要的顺序排列。 保存它。 这就是全部。 下次打开此解决方案时,项目将按此顺序排列。

        4
  •  4
  •   Benjol    15 年前

    hacky-alternative:将带有这些行的部分复制到文本文件中。

    Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "etc..."
    EndProject
    

    使用此f脚本按字母顺序对其排序(根据需要更改文件路径):

    open System.IO
    
    let readlines p = File.ReadAllLines(p)
    let writelines p lines = File.WriteAllLines(p, lines)
    
    let startpos = @"Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = """.Length
    let getProj (s:string) = s.Substring(startpos, s.IndexOf('"', startpos) - startpos)
    
    let path = @"C:\Temp\sln.txt"
    path |> readlines
        |> Array.filter (fun s -> s.StartsWith("Project"))
        |> Array.map (fun s -> (getProj(s), s))
        |> Array.sortBy fst
        |> Array.map snd
        |> Array.collect (fun s -> [|s;"EndProject"|])
        |> writelines path
    

    (如果你只有几个项目,只需手工排序)

        5
  •  2
  •   Community Mohan Dere    9 年前

    根据此解决方案: https://stackoverflow.com/a/21118705/835561

    您可以使用解决方案文件夹进行排序,而不必担心它会影响项目依赖性。不知道这在2013年之前有多好,但我在寻找2013年时遇到了这个问题,我认为这可能有助于其他人在我的情况下。