Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>AL HERO - Productivity Toolkit for Business Central AL DevelopersNew to Visual Studio Code? Get it now.
AL HERO - Productivity Toolkit for Business Central AL Developers

AL HERO - Productivity Toolkit for Business Central AL Developers

Yahya Touil

|
64 installs
| (2) | Free
AL Hero is a productivity toolkit for Microsoft Dynamics 365 Business Central AL developers. Create AL objects faster, explore symbols, convert JSON to AL, analyze dependencies, visualize schemas, manage translations, and migrate legacy C/AL code directly in VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

⛉ AL Hero — Productivity Toolkit for Business Central AL Developers

AL Hero is an all-in-one toolkit for Microsoft Dynamics 365 Business Central AL developers. It brings project dashboards, symbol browsing, AL object generation, JSON-to-AL conversion, API testing, translation management, schema visualization, dependency analysis, and legacy C/AL migration together in one place inside Visual Studio Code.


Table of Contents

  • ⛉ AL Hero — Productivity Toolkit for Business Central AL Developers
    • Table of Contents
    • Features Overview
    • 1. Dashboard
    • 2. Browse Project Symbols
    • 3. Project Bootstrap
    • 4. AL Object Creator
    • 5. JSON → AL Generator
    • 6. API Explorer
    • 7. Translation Assistant
    • 8. Schema Viewer
    • 9. Dependency Graph
    • 10. Legacy Object Converter
    • Getting Started
    • Tips & Shortcuts
    • Marketplace
    • Contributing
    • License
    • Feedback & Support

Features Overview

Tool Command What it does
🧭 Dashboard AL Hero: Open Dashboard Central hub with project overview, stats, and one-click BC commands
🔍 Browse Project Symbols AL Hero: Browse Project Symbols Search and navigate every AL object in your workspace
🚀 Project Bootstrap AL Hero: Open Project Bootstrap Visually design and scaffold standardized BC projects
🧱 AL Object Creator AL Hero: Open AL Object Creator Generate AL objects with a guided form and batch queue
🔄 JSON → AL Generator AL Hero: Open JSON2AL Generator Convert any JSON payload into ready-to-use AL code
🔌 API Explorer AL Hero: Open API Explorer Browse, test, and inspect BC API endpoints live
🌍 Translation Assistant AL Hero: Open Translation Assistant Manage XLIFF translation files with a visual editor
🗄️ Schema Viewer AL Hero: Open Schema Viewer Explore table schemas, fields, keys, and relationships
🕸️ Dependency Graph AL Hero: Open Dependency Graph Visualize object dependencies across your workspace
🏗️ Legacy Object Converter AL Hero: Open Legacy Object Converter Migrate exported NAV C/AL objects into AL, edited and saved like any normal file

1. Dashboard

The Dashboard is AL Hero's central hub and the default landing page for the extension. It gives you a live overview of your workspace, key project details, and one-click access to every AL Hero tool.

Note: The Dashboard is only available from the AL Hero Activity Bar icon — it's the extension's root view and isn't listed in the Command Palette.

How to use it:

  1. Click the AL Hero icon in the VS Code Activity Bar. The Dashboard opens automatically.
  2. Check the Workspace Overview card for your detected app.json details — app name, publisher, version, target, and workspace root.
  3. Review Project Statistics for live counts of tables, pages, codeunits, reports, and other objects.
  4. Use Quick Actions to jump into any AL Hero tool with one click.
  5. Run common BC operations — download symbols, publish to sandbox, package your extension — directly from the Dashboard.

At a glance:

  • Default landing page, opened from the Activity Bar
  • Workspace identity and location at a glance
  • Live object counts across the project
  • One-click access to every tool and common BC commands

2. Browse Project Symbols

Command: AL Hero: Browse Project Symbols

A fast, searchable explorer for every AL object in your project — including objects from referenced symbol packages — without digging through folders.

How to use it:

  1. Open the panel from the Command Palette.
  2. AL Hero scans the workspace and linked symbol packages, then lists every detected object.
  3. Type in the search bar to filter by name, ID, or type as you go.
  4. Use the Type filter to narrow results to one object type (Table, Page, Codeunit, Report, Enum, and more).
  5. Click any object to preview its ID, type, and source location.
  6. Click ↗ Open Source to jump to the object's .al file, or to the relevant symbol reference for dependency objects.

At a glance:

  • Real-time search across thousands of objects
  • Filter by object type
  • One click from result to source code
  • Rescan on demand to pick up new objects

3. Project Bootstrap

Command: AL Hero: Open Project Bootstrap

Design and scaffold Business Central projects visually. Instead of just generating folders, Project Bootstrap lets you pick a template, customize the structure, preview the result, and generate a consistent project foundation in seconds.

How to use it:

  1. Open Project Bootstrap from the Command Palette.
  2. Choose a built-in profile or one of your own.
  3. Add, remove, rename, or reorganize folders and files.
  4. Drag and drop to reorder items or build nested structures.
  5. Review the live project tree preview.
  6. Generate the structure with one click.

Built-in profiles:

  • Standard AL Extension
  • Library Extension
  • Test Extension
  • AI Extension
  • Reporting Extension

Profile management: create, rename, delete, import, and export reusable profiles that match your team's standards.

At a glance:

  • Drag-and-drop visual project designer
  • Built-in and custom templates
  • Import/export support for sharing profiles across teams
  • Live preview before generating

4. AL Object Creator

Command: AL Hero: Open AL Object Creator

A guided wizard for generating AL object files. Configure each object's type, ID, name, and fields, then queue up several objects and create them all at once.

How to use it:

  1. Open the panel and pick an Object Type (16 types supported).
  2. Fill in the common fields:
    • Object ID — auto-suggested from the highest existing ID of that type in your workspace.
    • Name — the AL object name.
    • Caption — defaults to the name if left blank.
  3. Fill in the type-specific fields that appear (e.g. fields for a Table, source table for a Page, values for an Enum).
  4. Set the Destination Folder, or click Browse to pick one.
  5. Click + Add Object (or Ctrl+Enter) to add it to the Batch Queue.
  6. Repeat for more objects.
  7. Click ✓ Done to create everything in the queue at once, and review the results panel.

Supported object types:

Type Details
Table Fields, data types, lengths, captions
Page Page type (Card, List, API…), source table, layout fields
Report Data item, columns, request page toggle
XML Port Direction, format, source table, field names
Query Normal or API query, data items, columns
Codeunit Single-instance toggle, procedure stubs
Control Add-in Scripts, stylesheets, dimensions
Page Extension Extends an existing page, adds fields and actions
Table Extension Extends an existing table, adds fields
Profile Profile ID, role center, enabled/promoted flags
Page Customization Customizes an existing page
Enum Values with IDs and captions, extensible flag
Enum Extension Extends an existing enum with new values
.NET Package Assembly, version, culture, public key, type aliases
Interface Procedure signatures
Report Extension Extends an existing report with columns

At a glance:

  • Smart ID suggestion, aware of both the workspace and the current batch queue
  • Batch queue with per-item removal
  • Rescan IDs on demand
  • Ctrl+Enter to add objects without touching the mouse

5. JSON → AL Generator

Command: AL Hero: Open JSON2AL Generator

Drop in any JSON file and get structured AL code back — tables, pages, or XMLports — with fields, types, and captions inferred automatically.

How to use it:

  1. Open the panel. Drag and drop a .json file onto the drop zone, or click Browse. OData responses ({ "value": [...] }) and plain JSON arrays or objects are all supported.
  2. AL Hero lists every detected field with its inferred AL type and a sample value.
  3. Use the checkboxes (or All/None) to select which fields to include.
  4. Pick an object type from the tabs: Table, Page List, Page Card, or XMLport.
  5. Fill in the configuration panel — object number, name, source table, etc.
  6. Fine-tune each field's AL name, data type, and length in the field configuration table.
  7. Click ▶ Generate AL Code to see syntax-highlighted AL in the right panel.
  8. Click Copy, or Create .al File to save it directly into your workspace.

Field type inference:

JSON Type Default AL Type
String Text[100]
Number Decimal or Integer
Boolean Boolean
Null Text[100]
Object / Array Text[250]

All inferred types can be overridden before generating.

At a glance:

  • Drag-and-drop JSON loading, anywhere on the window
  • Automatic OData envelope unwrapping
  • Live syntax-highlighted preview
  • Per-field renaming, type, and length overrides
  • One-click file creation with a sensible filename

6. API Explorer

Command: AL Hero: Open API Explorer

An HTTP client built for Business Central APIs. Browse endpoints found in your workspace, configure authentication, build requests, and inspect responses without leaving VS Code.

Connect to your environment:

  1. Click the connection pill (top-left) or the ⚙ gear icon to open Connection Settings.
  2. Enter your Tenant ID and Environment Name.
  3. Choose an authentication method:
    • Basic Auth — username and password.
    • OAuth 2.0 — access token URL, client ID, client secret, and client authentication method (client_secret_post or client_secret_basic).
  4. Click Save. The connection pill turns green and shows the environment name once connected.

Browse and send requests:

  1. The left panel lists endpoints found in your workspace — API pages and API queries. Use the search bar to filter.
  2. Click an endpoint to load its URL. The company parameter is added automatically when available.
  3. Pick an HTTP method (GET, POST, PUT, PATCH, DELETE) and adjust the URL if needed.
  4. Use the Params accordion to manage query parameters — the URL bar and params table stay in sync, and company gets a distinct accent pill.
  5. Click ▶ Send (or Ctrl+Enter) to fire the request.

Inspect the response:

  • Status code and text, color-coded (green for 2xx, amber for 3xx, red for errors)
  • Response time, color-coded by speed
  • Response size and element count
  • A running call counter for the session
  • A syntax-highlighted JSON viewer

Search within a response: type in the search bar above the response body to highlight matches, see a position counter (e.g. 3 / 14), and jump between results with ▲ / ▼.

At a glance:

  • Automatic endpoint discovery, with ⟳ Rescan after code changes
  • Params and URL always stay in sync
  • Session history for up to 30 calls
  • Ctrl+Enter to send without leaving the keyboard

7. Translation Assistant

Command: AL Hero: Open Translation Assistant

A visual XLIFF editor for Business Central translation files. Track progress across locales, edit translations inline, validate quality, and save — all inside VS Code.

Select a file:

  1. Open the panel. AL Hero scans your workspace for .xlf files in a Translations folder.
  2. Each file in the left panel shows a language flag, locale code, a progress bar, and counts for translated ✓, missing ✕, and needs-review ⚑ strings.
  3. Use the search bar and status filter to narrow the list.
  4. Click a file to load it.

Edit translations:

  1. The right panel lists translation units with ID, Source (original text), and Target (translation) columns.
  2. Click a Target cell to edit it inline.
  3. Set the unit's state with the state selector (Translated, Needs Review, Final, etc.).
  4. Changes save automatically — on blur and while typing — no Save button needed.
  5. Press Escape to discard an edit.

Filter and navigate: use the search bar to filter by source, target, ID, or notes, and the status filter to show only Translated, Untranslated, or Needs Review units. A counter always shows how many units match.

Batch operations: select rows individually or with the header checkbox, then mark them all as Translated or Needs Review at once from the batch bar.

Notes: click the note icon on a row to see developer and AL Hero notes (read-only) for context.

Validation: click ⚑ Validate to check for missing translations, source-identical targets, and placeholder mismatches. Click an issue to jump straight to it.

At a glance:

  • Silent auto-save as you type
  • Header progress bar, color-coded by completion (green ≥ 90%, amber ≥ 50%, red < 50%)
  • ↗ Open File to view the raw XLIFF in a text editor
  • ↺ Rescan to pick up new translation files

8. Schema Viewer

Command: AL Hero: Open Schema Viewer

Explore Business Central table schemas visually — fields, metadata, keys, indexes, and relationships through an interactive graph.

Browse tables:

  1. Open the panel. All tables in your workspace and linked symbol packages appear in the left panel.
  2. Use the search bar to filter by name or caption.
  3. Use the Type filter (Normal, Temporary, CRM, ExternalSQL) and the Show Obsolete toggle to narrow the list.
  4. Click a table to open its detail pane.

Inspect fields:

Column Description
# Field ID
Field Name The AL field name
Type Data type and length (e.g. Text[50], Decimal)
Caption Display caption
Relation Related table, shown as → TableName
Classification Data classification (e.g. CustomerContent, SystemMetadata)
Flags IDX (indexed), RO (read-only), Obs (obsolete)

Click a column header to sort, click again to reverse. Use the field search bar to filter within the table. Click a field row to open the Metadata Sidebar for full details.

Keys: click ⊟ Keys to see every key and index, which fields each covers, and whether it's the primary key or a unique index.

Relationship graph:

  • Each table is a node; arrows represent TableRelation dependencies.
  • Click a node to highlight it and dim everything unrelated; click again (or the background) to clear.
  • Drag nodes to rearrange, zoom with scroll or trackpad.
  • Show Fields displays the first 5 fields inside each node.
  • Connected Only hides tables with no relationships.
  • ⊡ Fit zooms to fit all visible nodes.
  • ⊟ Details collapses the detail pane for more graph space.

Export: export the graph as SVG, high-resolution PNG (2x), or ultra-resolution PNG (4x) for documentation and presentations. Export is experimental and may change in future releases.

At a glance:

  • ↗ Open jumps straight to the table's .al source
  • Stats bar shows total tables, fields, and relationships
  • Reset clears all filters and search terms

9. Dependency Graph

Command: AL Hero: Open Dependency Graph

An interactive, workspace-wide map of how your AL objects relate — which pages extend which tables, which codeunits subscribe to which events, and how everything fits together.

How to use it:

  1. Open the panel. AL Hero scans the workspace and builds the graph automatically.
  2. Objects appear as color-coded nodes grouped by type, connected by directed edges.
  3. Click a node to focus it — direct connections are highlighted, everything else dims. Click again or the background to clear.
  4. Drag nodes to reorganize, pan by dragging the background, zoom with the scroll wheel.
  5. Right-click a node for options to open its source file, focus its connections, or copy its name or ID.
  6. Hover a node to see its type, ID, file path, and any obsolete or external flags.

Filter and navigate:

  • Search bar — dims non-matching nodes, keeping matches and their immediate neighbors visible.
  • Type chips — toggle object types (Table, Page, Codeunit, Report, Enum, etc.) on and off, each with its own color.
  • Scope toggle — switch between Workspace (your own objects) and + Ext (includes symbol dependencies).

Export: export the graph as SVG, high-resolution PNG (2x), or ultra-resolution PNG (4x). Experimental and subject to change.

Relationship colors:

Color Relationship
🟢 Green SourceTable
🔵 Blue TableRelation
🟣 Purple Extends
🟡 Amber EventSubscriber / EventPublisher
⬦ Default Other

At a glance:

  • Live node and edge counts in the stats bar
  • ⊡ Fit to fit all visible nodes
  • ↺ Reset layout to re-run the automatic layout
  • Obsolete objects flagged with a red badge
  • External dependencies shown dimmed with dashed borders

10. Legacy Object Converter

Command: AL Hero: Open Legacy Object Converter

A migration workspace for converting exported NAV (C/AL) .txt objects into Business Central AL. Rather than a custom preview panel, converted objects open as real .al files in a normal VS Code editor tab — full syntax highlighting, IntelliSense, and live compiler diagnostics included. Saving the file completes the migration.

Import:

  1. Open the panel from the Command Palette.
  2. Set the Destination Folder for converted .al files.
  3. Click Import NAV Objects and select one or more exported .txt files (multi-select supported).
  4. AL Hero reads each file's OBJECT header to detect its type, ID, and name, then adds it to the Conversion Queue, grouped by type by default.

Convert and review:

  1. Click an object in the queue. AL Hero converts it and opens the AL code as a normal, editable tab beside the queue.
  2. Edit as needed — fix names, adjust types, resolve ID conflicts. Compiler errors and warnings appear inline, just like normal AL development.
  3. Nothing is written to disk yet — the tab shows unsaved changes, same as any new file in VS Code.

Export: there's no separate export step. Press Ctrl+S to save, and VS Code writes the file to your destination folder. The object's status flips to Exported. You can reopen and re-save an exported object anytime.

Managing a large migration:

Objects move through three states: Not Started → In Progress (opened, not yet saved) → Exported (saved at least once).

  • Use the search box to filter by name, type, or ID.
  • Use the status and sort dropdowns to organize a large batch — sort by Type to migrate one object type at a time.
  • Each queued object offers 📄 Open Original TXT (view the source NAV export side by side) and ✕ Remove from Queue (stops tracking it — never deletes a saved file).
  • Exported objects stay visible in the queue, so a migration spanning multiple sessions stays easy to track.

At a glance:

  • Multi-file import in one go
  • Automatic object type, ID, and name detection from the OBJECT header
  • Grouped, searchable, sortable queue built for large migrations
  • Real AL editing — full syntax highlighting, IntelliSense, formatting, diagnostics
  • Save-to-export workflow, no separate export dialog
  • One click to compare with the original source
  • Queue persists across sessions

Getting Started

  1. Install AL Hero from the Visual Studio Marketplace.
  2. Open a Business Central AL workspace in VS Code.
  3. Open the Command Palette (Ctrl+Shift+P) and type AL Hero to see all available tools.
  4. Start from the Dashboard for a quick overview, or jump straight into any tool.
  5. For API work, open API Explorer and configure your connection in ⚙ Connection Settings first.
  6. Migrating from NAV? Open Legacy Object Converter, set a destination folder, and import your exported C/AL .txt files.

Tips & Shortcuts

Shortcut Action
Ctrl+Enter Send request (API Explorer) / Add object to queue (AL Object Creator)
Ctrl+S Export the currently open object (Legacy Object Converter)
Escape Close modal dialogs / discard an inline translation edit
Ctrl+Shift+P → AL Hero Open any AL Hero tool from the Command Palette
  • Rescan (↺) buttons are available in API Explorer, Translation Assistant, Browse Project Symbols, and AL Object Creator to refresh data without reopening the panel.
  • All panels share a consistent dark theme, layout, and keyboard patterns — learn one, and the rest feel familiar.
  • In API Explorer, the company parameter is pinned to the top of the params table with a distinct accent style so it's never accidentally removed.
  • In Translation Assistant, auto-save is silent for individual edits — notifications only appear for batch operations.
  • In Legacy Object Converter, saving is exporting — there's no separate export button.
  • Start each session from the Dashboard for a quick health check before diving into a specific tool.

Marketplace

AL Hero is available on the Visual Studio Marketplace. Search for AL Hero, or install it from the Extensions view in VS Code (Ctrl+Shift+X).


Contributing

Pull requests aren't currently being accepted, but feedback is always welcome. Have an idea or found a bug? Open an issue on the GitHub Issues page.


License

Released under the Apache License 2.0. You're free to use, modify, and distribute this software, subject to the license terms.


Feedback & Support

Questions or issues? Open an issue on GitHub, or reach out to the community for support and suggestions.


Made with ❤️ by Yahya Touil.

More Business Central and AL development insights on Yahya's Blog.

AL Hero — Built for Business Central AL developers.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft