For code outline visualizers, the strongest matches are coatisoftware/sourcetrail (Sourcetrail is an interactive code visualization and indexing tool), simrat39/symbols-outline.nvim (It provides a tree-like symbol view integrated directly into) and hedyhli/outline.nvim (This Neovim plugin provides a dedicated symbol tree sidebar). dagrejs/dagre and ycm-core/youcompleteme round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best code outline visualizers to map functions, classes, and structure. Compare top open-source options and pick the right one.
Sourcetrail is an interactive source code explorer and visualizer designed for indexing and navigating relationships between symbols and structures across large, multi-language codebases. It functions as a static analysis indexer and code dependency visualizer that maps calls and dependencies between source files to help reveal project architecture. The tool enables multi-language project analysis by using a language-agnostic indexing system to track symbols across different programming languages within a single interface. It allows for the discovery of software architecture and the explorati
Sourcetrail is an interactive code visualization and indexing tool that maps symbol relationships and architecture across multiple languages, perfectly matching the requirements for navigating and understanding complex software projects.
Symbols-outline.nvim is a Neovim plugin that renders a dedicated sidebar panel displaying a hierarchical tree view of code symbols. It communicates with language servers to extract structural code information, functions, classes, and variables, allowing users to browse and navigate document structures directly from an interactive interface. The plugin tracks active cursor movements in code buffers to automatically highlight corresponding items in the outline panel. Users can interactively collapse or expand nested tree branches, jump directly to selected symbol locations in source files, prev
It provides a tree-like symbol view integrated directly into the Neovim editor via the Language Server Protocol for language-agnostic code navigation, though it is scoped as an editor plugin rather than a standalone app.
Fancy code outline sidebar to visualize and navigate code symbols in a tree hierarchy
This Neovim plugin provides a dedicated symbol tree sidebar with LSP integration to help you navigate code structures, though it is specifically tied to a single text editor rather than being a standalone or multi-IDE tool.
Dagre is a pure JavaScript library for automatically laying out directed graphs. It implements a layered graph drawing algorithm based on the Sugiyama framework, positioning nodes in horizontal layers and routing edges to produce clear, readable visualizations with no native dependencies. The library handles edge routing as polylines with control points to avoid overlapping nodes, reduces edge crossings through heuristic node ordering within layers, and assigns final coordinates using a slack-based approach that respects minimum separation constraints. Graph structure and layout options are e
Dagre is a directed graph layout library used as a building block for visualizations, but it is not a ready-to-use code outline visualizer with symbol tree navigation or editor integration.
YouCompleteMe is a completion engine and semantic code analyzer for the Vim editor. It provides an integrated suite of development tools, including a Language Server Protocol client and a semantic analyzer that utilizes Clang to offer context-aware symbols and type-based highlighting. The project distinguishes itself through specialized semantic completion for C-family languages and JavaScript, offering identifiers, snippets, and automatic imports. It provides advanced visual feedback such as inlay hints for type information and parameter names, as well as semantic highlighting based on the a
YouCompleteMe provides semantic code analysis and navigation features for Vim, but it functions primarily as a code completion engine and plugin rather than a dedicated visual outline or symbol tree tool.
indent-blankline.nvim is a visual utility for Neovim that improves document readability by rendering vertical alignment lines. This plugin serves as an indentation guide tool designed to clarify the structure of nested code blocks. The plugin utilizes Tree-Sitter parsing to function as a scope highlighter, drawing visual boundaries around variable and function scopes. This allows for the visualization of identifiers and block boundaries based on the language's syntax tree. The system manages code structure visualization through indentation guides and scope-based highlighting. It uses virtual
This Neovim plugin renders indentation and scope lines to help visualize nested blocks, but it acts as a readability utility rather than providing a comprehensive symbol tree or code map for navigation.
lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics. The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers. The system covers a broad range of developmen
This repository is a Language Server Protocol client for Emacs rather than a standalone visual code outline tool, providing semantic features and IDE integration that you would combine to build navigation rather than serving as the dedicated viewer itself.
Madge is a JavaScript module dependency visualizer and architecture mapper. It analyzes source code to create graphs and diagrams of module relationships, supporting CommonJS, AMD, and ES6 standards. The tool functions as a circular dependency detector to identify recursive import loops and a dependency graph generator that exports relationship maps into image and vector formats. It provides utilities for auditing project structure, including the identification of orphaned modules and leaf modules. Its broader capabilities include dead code identification, module impact analysis through depe
Madge is a JavaScript dependency visualizer that maps module relationships rather than generating an interactive symbol tree or function-level code map for source navigation.
nvim-treesitter-context is a Neovim editor extension that provides structural awareness of source files by displaying sticky headers of surrounding code blocks. It utilizes Tree-sitter queries to identify parent functions and classes, keeping them visible at the top of the editor window while scrolling. The tool allows for language rule customization, enabling the definition of specific structural queries to modify how context is detected for different programming languages. Users can also adjust the visual appearance of the context window through custom highlight groups. Beyond visual orien
This Neovim extension helps navigate code by displaying sticky headers of surrounding blocks, but it acts as a focused editor plugin rather than a comprehensive visual code map or symbol tree tool.
vscode-browser-preview is an editor-based web previewer and integrated debugger that embeds a live browser instance directly within the workspace. It utilizes headless browser integration to synchronize the browser state with the active code editor. The project provides an integrated web debugger that allows users to set breakpoints and inspect the state of web applications without leaving the editor interface. It also enables remote developer tools access via a network URL to analyze page elements, styles, and network activity. The system supports frontend development workflows by providing
This repository is a browser preview and debugging extension rather than a code outline or symbol tree visualizer, making it a neighbouring development tool rather than a match for code navigation.
The Language Server Protocol is a vendor-neutral communication framework that provides a standardized interface for code intelligence. It decouples language-specific analysis from the editor interface, allowing development tools to exchange structured data with external language servers to power features such as autocomplete, diagnostics, and symbol navigation. By utilizing a universal protocol schema, the framework enables cross-editor plugin development and ensures interoperability across different programming environments. It employs a capability negotiation handshake to establish a shared
This repository provides the underlying protocol and specification for code intelligence rather than a self-contained code outline visualizer or editor extension that displays a symbol tree.
Highlight.js is a syntax highlighting library that automatically detects and applies color-coded styling to source code blocks within web pages. It functions as a language-agnostic formatting engine, utilizing a modular processor that applies consistent visual themes to diverse programming languages based on their specific grammatical rules. By decoupling the core parsing logic from language-specific definitions, the library provides a unified execution environment that operates without requiring internal knowledge of the target language. The project is distinguished by its modular architectu
This is a syntax highlighting library for styling code blocks on web pages rather than a tool for generating visual structural outlines or symbol trees.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| coatisoftware/sourcetrail | 16.5K | C++ | GPL-3.0 | |
| simrat39/symbols-outline.nvim | 1.8K | Lua | MIT | |
| hedyhli/outline.nvim | 1K | Lua | MIT | |
| dagrejs/dagre | 5.7K | TypeScript | MIT | |
| ycm-core/youcompleteme | 25.9K | Python | GPL-3.0 | |
| lukas-reineke/indent-blankline.nvim | 5K | Lua | MIT | |
| emacs-lsp/lsp-mode | 5.1K | Emacs Lisp | gpl-3.0 | |
| pahen/madge | 10.1K | JavaScript | MIT | |
| nvim-treesitter/nvim-treesitter-context | 3.1K | Janet | mit | |
| auchenberg/vscode-browser-preview | 4.4K | TypeScript | MIT |