Stop getting lost tracking nested function calls in your codebase. Visualize execution paths instead to clearly understand the calling hierarchy. Code Lineage integrates an interactive visual map of upstream and downstream calls directly into your Visual Studio Code Explorer sidebar.
💡 Author's Note
I created Code Lineage because I needed a clearer way to trace upstream callers and downstream dependencies simultaneously. While VS Code's native Call Hierarchy tool is functional, it lacks the immediate visibility advantages of a visual map. Having relied on data lineage graphs in enterprise data engineering projects, I realized that applying the same pattern to software architecture makes navigating large, complex codebases much easier. It allows us to visually map execution paths and navigate code rapidly. I hope you find this tool helpful in your daily workflows!
Multi-Language Support: Works with any programming language that has an active VS Code Language Server implementing Call Hierarchy (e.g., Python, C#, TypeScript, JavaScript, Go, C++, Rust, and Java).
Dual Context Visualization: Simultaneously map incoming (upstream) and outgoing (downstream) calls around a central focus node.
Seamless Explorer Integration: Tightly integrated into your VS Code Explorer sidebar for natural navigation.
Auto-Sync Focus: The visual map dynamically updates to follow your cursor position as you navigate functions in the editor.
Node-Hopping Navigation: Click any node to instantly open the corresponding file at the exact line coordinate.
Recursion Detection: Automatically detects circular dependencies, marks them with a ↺ loop badge, and short-circuited to keep graphs clean and finite.
Layer & Module Color-Coding: Groups nodes by directory to highlight crossings of architectural boundaries.
Flow Orientation Control: Easily toggle between horizontal flow and a narrow vertical-stack layout (default) with a single click.
Interactive Zoom & Pan: Navigate complex graphs with zoom controls (+/-), panning, and quick view-resets.
Screenshots and Usage
Select a function signature inside any source file.
Right-click and choose Show Code Lineage from the context menu.
The sidebar panel will open automatically to display the call lineage.
Zoom out to see the entire graph, or zoom in to focus on a specific execution path.
Click any node to jump directly to that part of the code in the editor.
Language Support & Troubleshooting
Code Lineage works out of the box with any language that supports Call Hierarchy in VS Code. If a specific language is not rendering correctly, verify that its language server's call hierarchy feature is working, or open an issue:
👉 ozkary/code-lineage on GitHub