Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Generate Module Call GraphNew to Visual Studio Code? Get it now.
Generate Module Call Graph

Generate Module Call Graph

Adhithyan KG

| (0) | Free
Visualize function calls between C/C++ modules in your project directly in VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Module Call Graph for VS Code

Visualize function calls between C/C++ modules in your project directly in VS Code. Generate interactive call graphs with export options for PNG, JPEG, and PDF.

Demo

Features

  • Automatic function parsing: Scans .c, .cpp, .hpp and .h files to detect functions and their calls.
  • Module-level call graph: Visualizes cross-module function calls using Mermaid flowcharts.
  • Interactive zoom: Zoom in/out directly in the VS Code panel.
  • Export support: Export graphs to PNG, JPEG, or PDF.
  • Clean UI: Integrated buttons in a fixed panel for easy interactions.

Installation

  1. Clone this repository:
git clone https://github.com/adhithyanKg/module-callgraph-extension
  1. Open the folder in VS Code.

  2. Install dependencies:

npm install
  1. Compile TypeScript:
npm run compile
  1. Press F5 to launch a new Extension Development Host and test the extension.

Usage

  1. Open a C/C++ project in VS Code.

  2. Run the command:

Ctrl+Shift+P → Module Call Graph: Generate
  1. Select the folder to scan for modules.

  2. Your module call graph will appear in a new panel.

  3. Use the buttons to:

    • Zoom In / Zoom Out
    • Export PNG / JPEG / PDF

Example

File Structure

    ├── module-callgraph-extension/
    │   ├── src/
    │   │   ├── extension.ts
    │   │   └── types
	│	│	│ 	└── pdfkit.d.ts
    │   ├── media/
    │   │   ├── icon.png
    │   │   └── mermaid.min.js
    │   ├── package.json
    │   ├── tsconfig.json
    │   ├── .gitignore
    │   └── README.md

Dependencies

  1. VS Code Extension API
  2. Mermaid for graph rendering
  3. Puppeteer for exporting diagrams

Contributing

  1. Fork the repo.
  2. Create a new branch:
git checkout -b <feature-name>
  1. Make your changes.

  2. Submit a pull request.

License

Copyright © 2025 Adhithyan KG

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft