Заказ проекта в решении Visual Studio
В Visual Studio 2008 определяется порядок, в котором проекты отображаются в папке решения? Это не в алфавитном порядке, равно как и порядок сборки.
Я не могу найти способ изменить порядок, в котором перечисляются проекты. Я попытался удалить мой .suo файл, а также переместить вещи в .sln файле. Не было никакого эффекта.
Как изменить порядок отображения моих проектов?
Ответы
Ответ 1
Существует запрос обратной связи, уже размещенный на Connect.Microsoft.com, поэтому вам придется ждать постоянного решения.
http://connect.microsoft.com/VisualStudio/feedback/details/468874/solution-explorer-project-sort-order (заменен ссылкой Wayback Machine как оригинал)
Временные обходные пути доступны, но недостаточно хороши, я чувствую. Один из них:
Нажмите 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 + N, чтобы узнать файлы в решении и CTRL + F12 до найти методы в файле.
Ответ 2
К сожалению, VS2010 заставляет проекты сортироваться по алфавиту.
Возможно, переименование проектов путем добавления числового префикса (01, 02, 03 и т.д.) для достижения желаемого порядка является единственным обходным решением, хотя и не идеальным.
Ответ 3
Возьмите файл .sln в любом текстовом редакторе.
Заказать детали
" Проект (" {2150E333-8FDC-42A3-9474-1A3956D46DE8} ") =" и т.д."
...
EndProject
в любом порядке.
Сохрани это.
Все это.
В следующий раз, когда вы откроете это решение, проекты будут в порядке THAT.
Ответ 4
Альтернатива хаки: скопируйте раздел с этими строками в текстовый файл.
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "etc..."
EndProject
Используйте этот F # script для сортировки по алфавиту (изменение пути к файлу по необходимости):
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
За это решение: fooobar.com/info/123250/...
Вы можете использовать Папки решений для сортировки, не беспокоясь об этом, влияя на зависимости проекта. Не уверен, насколько хорошо это работает до 2013 года, но я столкнулся с этим вопросом в поисках 2013 года и думал, что это может помочь другим в моей ситуации.