projects/al-differ
active al-differ order 14

AL Differ

A VS Code extension that diffs AL files structurally, matching objects, fields, and procedures by identity instead of comparing lines of text.

Stack
TypeScript · VS Code · tree-sitter
Status
Active
Released
2026
License
MIT

Overview

A VS Code extension for structural diff of AL code. Instead of line-by-line comparison, it uses tree-sitter-al to parse both files into syntax trees and matches constructs by identity (name, kind). The result: renamed procedures, moved fields, and added triggers show up as what they are, not as walls of red and green.

Eight change categories (logic, property, structural, cosmetic, moved, renamed, added, deleted) each get distinct colors. A collapsible DiffTree panel in the activity bar shows every changed construct with status badges. Four view modes: full construct side-by-side, context lines, unified inline, and side-by-side with aligned spacers. Editor decorations add gutter dots and background highlights in the standard VS Code diff editor.

Early preview on the VS Code Marketplace. Built on tree-sitter-al.

Highlights

Matches constructs by identity, not line position
8 change categories (logic, property, moved, renamed, etc.)
4 view modes (full, context, unified, side-by-side)
Collapsible DiffTree panel with status badges
Gutter decorations in the standard VS Code diff editor