Zdarza się, że mamy w projekcie grupę plików powiązanych ze sobą logicznie. Na przykład – jeden wygenerowany automatycznie i drugi uzupełniający go własnoręcznie napisanym kodem. Przykładem “z życia” są tu klasy form z .NET, gdzie to Visual Studio standardowo pokazuje swoją ciekawą funkcjonalność “zwijania” grupy powiązanych plików. Niestety, takie zachowanie nie jest dostępne w żaden znany mi sposób z poziomu interfejsu użytkownika. Jak więc wykorzystać ten trik we własnych programach?
Zamykamy Visual Studio i otwieramy plik projektu (.csproj) w niezasłużenie nieśmiertelnym Notatniku (niezasłużenie, więc ja otwieram w Notepad2). Odnajdujemy interesujące nas wpisy, przykładowo:
Efektem takich instrukcji jest standardowe wyświetlenie w Solution View plików jeden pod drugim:
Lekko zmodyfikujmy ów XML, wstawiając w odpowiednie miejsce element będący bohaterem niniejszego wpisu, czyli <DependentUpon>:
I co otrzymamy? Zalotny krzyżyk szepczący “kliknij mnie, użyj mnie, rozwiń mnie”…

Gdyby wszystko było tak proste i kończyło się takim zalotnym szeptem…
Update 22/03/2008: dostałem na maila informację o pluginie, który umożliwia osiągnięcie tego efektu bez konieczności edycji pliku projektu, do pobrania tutaj. THX madzi.