Visual Studio解决方案中的项目顺序
在Visual Studio 2008中,什么决定项目在解决方案文件夹中的显示顺序?这不是按字母顺序排列,也不是建立秩序。Visual Studio解决方案中的项目顺序
我找不到任何方法来改变列出项目的顺序。我尝试删除我的.suo文件,以及在.sln文件中移动内容。没有任何影响。
如何更改项目的显示顺序?
在Connect.Microsoft.com上有一个反馈请求,因此您必须等待永久解决方案。
http://connect.microsoft.com/VisualStudio/feedback/details/468874/solution-explorer-project-sort-order(具有回程机链接替换为原始辗转)
临时解决办法也有,但不够好,我觉得。其中之一是:
按F2重命名一个项目,然后按Enter键不更改名称。这暂时对该文件夹中的项目进行排序。
或者使用http://solutionsorter.codeplex.com/改变SLN永久修复如果您的解决方案的文件夹没有嵌套(它吃了我的解决方案)
但是这不会,如果你的工作关闭并打开解决方案。
如果您使用ReSharper的,您可以按 捷径CTRL +ñ到找出解决方案 文件和CTRL + F12 到 找出文件的方法。
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
(如果你只得到了几个项目,只是排序它通过手)
在任何文本编辑器中取出.sln文件。 令部分
“ 项目(”{2150E333-8FDC-42A3-9474-1A3956D46DE8}“)= ”等等......“
...
EndProject
。 保存。 就是这样。 下次您打开此解决方案时,项目将按该顺序进行。
这对VS2010没有任何影响(原来的问题是关于VS2008,但我只是试图这个徒劳无功的希望,它会工作) – 2014-02-10 17:36:32
不幸的是VS2010迫使项目按字母顺序排序。
也许重命名项目通过添加数字前缀(01,02,03等)来实现所需的顺序是唯一的解决方法,但也不是理想的。
每此解决方案:https://*.com/a/21118705/835561
您可以使用解决方案文件夹做你的排序,而不必担心它影响到项目的依赖。不知道2013年之前这项工作有多好,但我在2013年遇到了这个问题,并认为这可能会帮助其他人解决我的问题。
我有更糟糕的情况。有时候,VS 2008决定重新订购我的项目......这很糟糕,就在我习惯于“订单”时,它决定改变它,并且通过一个超过100个项目的解决方案,这是一个噩梦发现! – anthares 2010-02-11 13:47:45