Problem Understanding the control flow of a C program is hard, especially for students and early-career developers. Traditional approaches require either reading raw code line-by-line or manually drawing flowcharts — a slow, error-prone, and one-directional process. Any time the code changes, the diagram becomes stale. There is no tool that keeps a visual flowchart and the actual source code continuously in sync inside a developer's editor. Solution C-Chart is a VS Code extension that bridges this gap. It parses any .c file and instantly renders all its functions as interactive RAPTOR-style SVG flowcharts in a side panel, directly inside the editor. Every function becomes a tab. Every statement becomes a visual node — rectangles for assignments, parallelograms for I/O, diamonds for conditionals and loops, double-striped boxes for function calls. The chart is not a static image; it is a live, editable representation of the code. Bidirectional Sync What makes C-Chart unique is its two-way synchronization. Editing the .c file and saving it updates the chart automatically. Conversely, editing a node in the chart — double-clicking to change a condition, inserting a new if block via the + button on any arrow, or adding a new function with the + tab — immediately rewrites the underlying C source file. The code and the chart are always in agreement; neither can go stale. Target Users C-Chart is designed for CS students learning procedural programming, educators teaching algorithm design, and developers who need to quickly audit or document existing C codebases. It lowers the barrier to understanding complex nested control flow — if/else, while, for, and recursive calls — by making structure visible without leaving VS Code. What Makes It Creative Most flowchart tools are one-directional exports. C-Chart introduces a language-agnostic Intermediate Representation (IR) layer that decouples the visual model from any specific language. The IR can be re-targeted: the same flowchart data that drives the C code generator can drive a Python generator or a Java generator with no changes to the visual layer. This makes C-Chart an extensible visual programming scaffold, not just a C-specific diagram tool.
Category tags: