2010-02-11 60 views
43

在Visual Studio 2008中,什麼決定項目在解決方案文件夾中的顯示順序?這不是按字母順序排列,也不是建立秩序。Visual Studio解決方案中的項目順序

我找不到任何方法來改變列出項目的順序。我嘗試刪除我的.suo文件,以及在.sln文件中移動內容。沒有任何影響。

如何更改項目的顯示順序?

+2

我有更糟糕的情況。有時候,VS 2008決定重新訂購我的項目......這很糟糕,就在我習慣於「訂單」時,它決定改變它,並且通過一個超過100個項目的解決方案,這是一個噩夢發現! – anthares 2010-02-11 13:47:45

回答

8

在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

4

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 

(如果你只得到了幾個項目,只是排序它通過手)

7

在任何文本編輯器中取出.sln文件。 令部分
「 項目(」{2150E333-8FDC-42A3-9474-1A3956D46DE8}「)= 」等等......「
...
EndProject

在任何你想要的順序

。 保存。 就是這樣。 下次您打開此解決方案時,項目將按該順序進行。

+0

這對VS2010沒有任何影響(原來的問題是關於VS2008,但我只是試圖這個徒勞無功的希望,它會工作) – 2014-02-10 17:36:32

10

不幸的是VS2010迫使項目按字母順序排序。

也許重命名項目通過添加數字前綴(01,02,03等)來實現所需的順序是唯一的解決方法,但也不是理想的。

2

每此解決方案:https://stackoverflow.com/a/21118705/835561

您可以使用解決方案文件夾做你的排序,而不必擔心它影響到項目的依賴。不知道2013年之前這項工作有多好,但我在2013年遇到了這個問題,並認爲這可能會幫助其他人解決我的問題。

相關問題