Norn — Code Navigation & Symbol IndexSource Insight-style navigation for large C codebases, in VS Code.
Open a folder and Norn indexes it: no build, no
Norn is built for the code where language servers struggle: firmware and embedded C, SDKs with a header per chip, vendor trees that only build with a proprietary toolchain, kernels, and anything too large or too old to have a working compilation database.
FeaturesProject Symbols: find anythingFuzzy search over every function, macro, type, variable and member in the
workspace. Type fragments in any order (
Relation: callers, callees, referencesWho calls this function, what it calls, where a name is referenced, and where a
function pointer is assigned. Expand level by level as a tree, or see it as a
graph. Each edge says how the call happens: directly, through a macro, through
a function pointer, or only under an
Context: the definition, without leaving your placeThe definition of whatever is under the cursor, in a read-only panel beside your code. Hover, Ctrl+click and find-references work there as in the editor. Relation and Context follow the cursor until you lock them. File Symbols, with parameters and localsThe symbols of the current file by kind. A function's parameters and local variables are listed under it; select one to see its declaration and every line that uses it.
Callers and callees above each function
Compile conditions: the code your build compilesNorn reads the build's own description and works out which
A project with several configurations (Debug, Release, one per board) gets one set of conditions each; the status bar shows the one in force and switches between them. Macros can also be set by hand.
Hovering a macro shows the value it works out to under those conditions, even through several levels of macros, casts and token pasting.
A complete C editor, with or without the C/C++ extensionNorn is a full language server. Go to Definition, Find References, workspace and document symbols and Call Hierarchy all use its index. If Microsoft's C/C++ extension is installed, Norn gives it the compile conditions in force (as its configuration provider), so IntelliSense agrees with Norn about which code is compiled. Norn's hover then adds only what IntelliSense does not show: a macro's value. If the C/C++ extension is not installed, or its IntelliSense is turned off
(
Getting started
The status bar shows progress while the first index is built. Nothing else has to be set up. To index only part of a large tree, use the Index Scope view to choose the folders. Norn includes its index server for Windows (x64, Arm64), Linux (x64, Arm64; any distribution) and macOS (Intel and Apple silicon). Settings
Run Norn: … commands from the Command Palette. In C files, F12, Ctrl+F12 and Shift+F12 go to definitions, implementations and references through Norn, and Alt+O switches between header and source when the C/C++ extension is not installed. Limitations
LicenseApache License 2.0. Third-party components and their licenses are listed in
Source Insight is a trademark of Source Dynamics, Inc. Norn is not affiliated with, or endorsed by, Source Dynamics; the name is used only to describe the style of navigation. Other names are trademarks of their owners. |












