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

问题描述:

在Visual Studio 2008中,什么决定项目在解决方案文件夹中的显示顺序?这不是按字母顺序排列,也不是建立秩序。Visual Studio解决方案中的项目顺序

我找不到任何方法来改变列出项目的顺序。我尝试删除我的.suo文件,以及在.sln文件中移动内容。没有任何影响。

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

+2

我有更糟糕的情况。有时候,VS 2008决定重新订购我的项目......这很糟糕,就在我习惯于“订单”时,它决定改变它,并且通过一个超过100个项目的解决方案,这是一个噩梦发现! – anthares 2010-02-11 13:47:45

在Connect.Microsoft.com上有一个反馈请求,因此您必须等待永久解决方案。

http://connect.microsoft.com/VisualStudio/feedback/details/468874/solution-explorer-project-sort-order(具有回程机链接替换为原始辗转)

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

F2重命名一个项目,然后按Enter键更改名称。这暂时对该文件夹中的项目进行排序。

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

或者使用http://solutionsorter.codeplex.com/改变SLN永久修复如果您的解决方案的文件夹没有嵌套(它吃了我的解决方案)

但是这不会,如果你的工作关闭并打开解决方案。

如果您使用ReSharper的,您可以按 捷径CTRL +ñ找出解决方案 文件和CTRL + F12 找出文件的方法。

+0

AFAIK它已在VS2010中修复,我预计VS2008不会有永久的解决方案。 – Benjol 2010-10-27 09:06:35

+1

任何想法如何在VS2010中做到这一点,这是不明显的... – 2010-12-09 14:17:14

+4

@ Benjol定义“固定”?总是按字母顺序排序? – Lucas 2010-12-12 21:41:28

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

在任何你想要的顺序

。 保存。 就是这样。 下次您打开此解决方案时,项目将按该顺序进行。

+0

这对VS2010没有任何影响(原来的问题是关于VS2008,但我只是试图这个徒劳无功的希望,它会工作) – 2014-02-10 17:36:32

不幸的是VS2010迫使项目按字母顺序排序。

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

每此解决方案:https://*.com/a/21118705/835561

您可以使用解决方案文件夹做你的排序,而不必担心它影响到项目的依赖。不知道2013年之前这项工作有多好,但我在2013年遇到了这个问题,并认为这可能会帮助其他人解决我的问题。