Initially based on Call Graph
vscode extension to generate call graph using Cytoscape.js based on vscode call hierarchy language feature.
- works on any language with a language server
- show functions and methods grouped by file
- Hover +
Eto expand a node one level - Hover +
Shift+Eto expand recursively - Hover +
Delto remove a node - Ctrl/Cmd+Click to jump to function location
- Right-click context menu with remove, expand, and go to function
- ignore files by glob pattern (test files, etc)
- trim function names with user-configurable regex
- add a function to an existing graph
- search for functions by name
- configurable layout algorithm (klay, dagre, elk)
- panel state persists across VS Code restarts
- supports color themes
- Move your editor cursor over a function name
- Run
Chartographer: Show Call GraphviaCtrl+Shift+Por right-click context menu - Pick direction (Both/Incoming/Outgoing) and enter max depth (blank = unlimited)
- Hover a node + press
Eto expand,Delto remove, or right-click for context menu
Chartographer relies on the "call hierarchy" feature of an LSP server. So, to use Chartographer for your project analysis, you must have a language server extension that supports "call hierarchy."
- Node.js 18+
- npm
npm install
npm run build # esbuild → out/extension.js + out/webview.js
npm run typecheck # tsc --noEmit
npm run test:unit # 25 unit testsnpm run package # produces chartographer-<version>.vsix- Update version in
package.json - Update
CHANGELOG.md - Build:
npm run build && npm run package - Install the VSIX locally to verify:
code --install-extension chartographer-<version>.vsix --force - Publish to marketplace:
vsce publish - Create a GitHub release with the VSIX attached
Enjoy!
