When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

yeputons's blog

By yeputons, history, 5 years ago, In English

Hi everyone!

I'd like to present you a prototype of Visual Studio plugin which was developed by a student from my university as a coursework. Yielding floor to her:

GraphAlgorithmRenderer is an experimental Visual Studio extension for debugging and visualizing graph algorithms. It takes a description of graph nodes, edges and their properties, such as color and label, and renders a corresponding graph. The graph is refreshed automatically when you step in debugger. Graph config can be serialized to JSON and deserialized back.

More explanations and detailed example can be found here. Samples of the serialized config, C++ code, and the snapshots are here. Any feedback on this tool is welcome, please try it out!

Here is the list of known issues:

  1. Sometimes text boxes in Graph Visualization settings seem to be blocked and a text cannot be entered or it appears somewhere else, for example in the file with the code. You can try to close all other windows including the source file (it doesn't mean closing the Solution or stopping the debugger). We would be grateful if you help us to find out how to reproduce this bug.
  2. The UI is quite primitive and not very user-friendly at the moment That wasn’t our first priority, but we’d appreciate any simple-to-implement suggestions.
  3. The Standard Template Library functions and class methods are not supported in the expressions (operator[] being notable exception). It means that you cannot render elements in std::unordered_set or use std::find. In our samples, std::vector and arrays are used, and elements are accessed by indices. We wonder how bad it is.
  4. It usually takes from 0.5 to 2 seconds to redraw a graph, and this speed is far from perfect.

If you're interested in this tool, you can try it and leave any comments under this post. We would like to hear how useful this tool in general, and how we can improve it. If you found a bug, please report an issue on GitHub or here in the comments. If you would like to add your own config sample, please add it here and make a pull request or post your screenshots in the comment section below.

  • Vote: I like it
  • +142
  • Vote: I do not like it

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by yeputons (previous revision, new revision, compare).