Visual Studio is one of Understand's built-in architectures — automatic ways to group a codebase (by directory, git history, language, …) for graphs, metrics, and dependency analysis.
Visual Studio
Languages: Basic, C, C#, C++, FortranOrganize file entities by the Visual Studio project they belong to.
When a project is created from a Visual Studio solution or project file, Understand records the project files that build each source file. This architecture groups the files by those projects - one group per project file, named after it without the extension - and reproduces the directory tree inside each group.
For example, a solution with a Client.vcxproj and a Common.vcxproj:
Visual Studio
Client
myapp
app main.cpp, window.cpp
Common
myapp
lib util.cpp, util.h
A file that more than one project builds is grouped under each of them, which makes shared code easy to pick out: the files that show up in several groups are the ones every project pulls in.
The Visual Studio Structure ( C/C++ ) architecture plugin is a closely related alternative. It reads a solution file you choose and reproduces the projects and filters as Solution Explorer shows them, rather than grouping by directory within each project. The CMake architecture does the equivalent for CMake targets.