C/Side Object Designer was something that the new AL development environment lacks of very much. The idea behind this extension is to provide a main hub for daily development by giving back the ability of overview.
List Overview of all AL objects in your project: based on symbols (*.app) and your local .al files.
List Events from symbol objects, browse them in the same way as objects.
Live Update: object list is automatically maintained as you create/change/delete objects or download symbols.
Multi-Folder workspaces are supported: e.g. a workspace with MainApp/TestApp folders.
Object Search: filter by Object Type, Name or ID.
Event Search: filter by Object Type, Name, ID or Event Name.
Copy/Paste Events: copy event subscription definition to clipboard by clicking on Event Name.
Object/Event Name filtering: works with partial matches as well. Just like the Windows RTC Client's search field.
Run selected objects.
Run table/page extentions.
View definition of Symbols: original file is opened for local files.
Generate new objects from tables: card/list pages, report, query.
Built-in snippets: generate new dictionary or entry tables using a single click.
Custom snippets: use your own snippets placed in <project root>/.altemplates folder
Design view for Pages (alpha): card/list layout is rendered for local pages. Card/Document Symbols are also supported.
'Run Object' function is based on commands from CRS AL Language Extension. It's made by Waldo so you should install it anyway. ;)
AL Object Designer: opens Object Overview
AL Page Designer: opens up Page Designer for currently edited AL Object (Page)
This extension has a limited ability to view a rendered page layout without deployment, or move existing fields/actions on screen using drag&drop.
Supported page types:
Card types: Card, Document
List types: types other than Card/Document are regarded as List
Rendered layout is very similar to Business Central pages, although not an exact copy as I'm not using Office Fabric UI.
TODO: this is something I want for future releases. Many options are now hardcoded but should be customizable for the best experience.
Design feature works only with pages, the window is empty when selecting page extensions.
View (Go to definition) is active for all object types, however, it will not work with Control Add-ins for example.
Event listing does not include events defined in local objects.
It might be too bright for dark themes.
Searching for "Item Ledger Entry" table
Find Page "Sales Order" as a dynosaur would :)
Filter to workspace and check the context menu for more options
Real-time Page Designer (alpha)
Under the hood
AL Object Designer is a single-page Aurelia app that is embedded into a VS Code WebView and exchanges data back and forth.
For more information
Github repo: feel free to fork it or send feedback/pull requests.