Would it be possible to create a code flow charting feature for Rubberduck?
Similar to the tool Visustin available from https://www.aivosto.com/ but cleaner.
I've searched and not found any mention of such a feature in any tickets.
In principle, this is possible. The limiting factor is having time to contribute the code. This would easily be its own subsystem.
You'd also have to find a good flowcharting API to leverage. One possible idea would be to use mermaid which takes text input and outputs a chart, which avoid us to have to do the hard work of constructing a chart. The bad news is that it's JavaScript. Assuming nothing better can be found, we can just embed a browser control and render the chart accordingly.
Note that there are a number of C# charting libraries but those aren't just text-to-chart like mermaid, which mean one would have to write additional routines to describe how to draw the chart, etc. Lot more work. Licensing is also an issue since we are using GPL license, which will make it tough to use commerical even if one was willing to pay for it.
Next, one must write a routine to harvest the relevant nodes from the parse tree / declarations, then translate all its identifier references into a connecting line, and do it without doubling up (e.g. we don't need to describe B -> A if we've already described A <- B) and render it somewhere.
A possible candidate would be the code metric window as this would be also handy to show the code metric data there. That means yet another overhaul of the window. 馃槃
If you know of anyone who wants to take on challenge, share! We're always looking for more volunteers to achieve more with this project!
Most helpful comment
In principle, this is possible. The limiting factor is having time to contribute the code. This would easily be its own subsystem.
You'd also have to find a good flowcharting API to leverage. One possible idea would be to use mermaid which takes text input and outputs a chart, which avoid us to have to do the hard work of constructing a chart. The bad news is that it's JavaScript. Assuming nothing better can be found, we can just embed a browser control and render the chart accordingly.
Note that there are a number of C# charting libraries but those aren't just text-to-chart like mermaid, which mean one would have to write additional routines to describe how to draw the chart, etc. Lot more work. Licensing is also an issue since we are using GPL license, which will make it tough to use commerical even if one was willing to pay for it.
Next, one must write a routine to harvest the relevant nodes from the parse tree / declarations, then translate all its identifier references into a connecting line, and do it without doubling up (e.g. we don't need to describe
B -> Aif we've already describedA <- B) and render it somewhere.A possible candidate would be the code metric window as this would be also handy to show the code metric data there. That means yet another overhaul of the window. 馃槃
If you know of anyone who wants to take on challenge, share! We're always looking for more volunteers to achieve more with this project!