Длинный список командных построений повергает вас в уныние? Хотите разместить их в папках? Не хотите ждать следующей версии TFS? Для вас есть надстройка VS…
Надстройка Visual Studio 2010 недавно взяла штурмом .NET. Был очевиден сдерживаемый спрос на что-то подобное тому, за что отвечает эта надстройка.
Проблема: Командныеопределения построений в обозревателе Team Explorer нельзя помещать в папки. Длинный список определений может стать головной болью и, откровенно говоря, выглядит безобразно. Многие, если не большинство, программистов немного страдают обсессивно-компульсивным расстройством (или неврозом навязчивых состояний) и неспособность организовать вещи приводит их в некоторое расстройство.
Требование: Обеспечить средство для организации определений построений, которое легко использовать и устанавливать, не прерывает работу текущих пользователей (т.е. не заставляет устанавливать себя на рабочих станциях группы, на машинах сотрудников и т.п.) и, кроме того, позволяет организовывать построения в некоторое подобие структуры папок. О да, и обеспечивает исходный код решения, чтобы мы могли видеть, как это всё устроено…
Решение: Inmeta.VisualStudio.TeamExplorer.BuildExplorer
«Inmeta Build Explorer добавляет папки к построениям Team Explorer. Это клиентское решение, работающее с Visual Studio 2010 Team Explorer.
Папки создаются на основе разделителей в имени определения построения. По умолчанию разделителем является знак точки (.).
...
Терье Сандстрём (Terje Sandstrom) приводит подробности в своем сообщении «Build Folders –расширение Visual Studio для Team Explorer» (Visual Studio–Build Folders extension for Team Explorer)
Обозреватель построений основывается на соглашении о разделителях в именах определений построений. См. блог Брайана Херри (Brian Harry’s blog) для четкого объяснения и описания этого механизма.
Ларс Нильсон (Lars Nilsson), создавший кодовую базу для этого расширения описал некоторые проблемы, с которыми он столкнулся при реализации.
Количество скачиваний расширения постоянно увеличивается, и мы получили очень полезные отзывы и исправили некоторые проблемы, о которых сообщили пользователи.
· Проблемы с загрузкой более 100 построений – теперь число построений доведено до 1000 без каких-либо признаков стресса.
· Кто-то сообщил о проблемах со знаками разделителя в названиях командного проекта, также исправлено.
· Другие рассказали, что не могут применять пробел в качестве сепаратора! Такую возможность мы даже не рассматривали! Исправили это тоже.
· ...
Сообщение Брайана Херри Build Folders заставило меня улыбнуться. Я имею в виду, при взгляде на все эти определения построений. Вы видите, почему его идея с этим плагином оказалась удачной…
Для более глубокого понимания проблем и изучения того, что происходит при построении, познакомьтесь с сообщением Ларса Нильсена «Обозреватель построений Inmeta»
«…
Игра с файлом vsct оказалась полезной, но благодаря инструменту VSCT Powertool я очень быстро разобрался с глобальными и локальными идентификаторами, символическими именами, растровыми изображениями и тому подобным. Действительно, по крайней мере я заставил работать меню. Кстати: даже если вы должны завершить разработку надстройки Visual Studio, пожалуйста, не забывайте уничтожать предыдущую отладочную версию расширения всякий раз, когда вы изменяете файл таблицы команд (vsct). Если не сделать этого, изменения не будут замечены.
Нам бы хотелось, чтобы реализация оказалась простой и приятной, так что появилась идея создать простой заполнитель узлов интерфейса, перенаправлявший все команды реальному узлу определения построения. Очень просто, и все еще эффективно. Это конструктивное решение имело некоторые последствия:
…»
Исходные файлы проекта доступны на сайте CodePlex по ссылке Build Folder extension for Visual Studio Team Explorer 2010.
Приводим UML-диаграмму, чтобы помочь объяснить план проекта.
Замечание. При загрузке исходных кодов вы можете столкнуться с неработающей ссылкой на Fasterflect. Это легко лечится. Просто используйте NuGet для добавления пакета Fasterflect в решение, и можете продолжать.
Так что в конце мы получили свой пирог и попробовали его. У нас есть замечательная надстройка к VS, решающая застаревшую проблему организации командного построения, и мы заглянули в процесс создания надстройки.
Несколько ссылок, которые могут быть полезными:
- Visual Studio Gallery Inmeta.VisualStudio.TeamExplorer.BuildExplorer
- Проект CodePlex, Build Folder extension for Visual Studio Team Explorer 2010
- Сообщение Терье Сандстрёма: Visual Studio–Build Folders extension for Team Explorer
- Сообщение Ларса Нильсена: Inmeta Build Explorer
- Сообщение Брайна Херри: Build Folders
- Сообщение Шаи Райеутса (Shai Raiten's), Build folders for Team Explorer