fernandoescolar / vscode-solution-explorer

This is a Visual Studio Code extension that provides a (.sln) Visual Studio Solution explorer panel..
MIT License
352 stars 73 forks source link

Add Project Dependency Visualization #251

Open giddingsra0 opened 1 year ago

giddingsra0 commented 1 year ago

Is your feature request related to a problem? Please describe.

JetBrains Rider IDE has this neat feature to visualize project reference dependencies for large .NET projects. For example, one application I work on has 36 separate projects in it (some client libraries for third party communication, some REST projects for different domains, some EF Core projects for DB communication for different domains, some Xunit test projects, and some MQ publisher and consumer projects for EDD).

Anyway, determining project dependency (and dependencies of dependencies) paths in large .NET projects can be a pain point solved by Rider's ability to visualize project dependencies.

NOTE: Rider uses yFiles to diagram, but this SDK is not available to work with JS/TS.

Describe the solution you'd like

I would like to see flow diagram (reminiscent of the image below from Rider) to visualize project dependencies within a solution. This will help determining what other projects may be affected if I make a change to a library or client project. Using the image below as an example, if I make a change to the Example.Library1, I want to be able to visualize what other projects may be affected by that change directly AND indirectly.

image

Let's say I change Example.Library1, and the dependency flows Example.Library1 -> Example.Daemon -> Example.Main.Data, I want to see that I may need to review code/run tests/whatever else in Example.Main.Data because I made a change in Example.Library1.

To get the project diagram in Rider to see how it works:

This type of visualization tool would be INCREDIBLY useful as a part of this extension for us VS Code devotees.