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.
<project root>/.vscode/.altemplates
folderThere are no hard dependencies as of v0.1.0.
Optional dependencies:
Run Object
function uses commands from this extensionAZ AL Wizard
button appears at the top left corner.AL Test Runner
button appears at the top left corner.Prefix: alObjectDesigner.
.alcache
folderOpen objects using VSCode hyperlinks. This is useful for integration scenarios with external applications.
Format:
vscode://martonsagi.al-object-designer/?Command=[Custom command name]&Type=[Object Type]&Id=[Object ID]&Name=[Object Name]
Example:
vscode://martonsagi.al-object-designer/?Command=Definition&Type=table&Name=Currency
Available commands (case-sensitive!):
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:
Rendered layout is very similar to Business Central pages, although not an exact copy as I'm not using Office Fabric UI.
Well, this command has been laying in an internal alpha version for months, it's time to publish it! :) Functional requirement documents often contain table definitions that developers have to re-type into AL files once more. This simple CSV format helps speeding up the typing. One CSV file can contain more table definitions separated by empty lines.
Why CSV? Functional documents usually have AL Table defintion in Word tables that are easy to copy to Excel and transfrom that to this custom format.
Template format:
None
semi-colon
;
carriage return
empty line
[Object Type] [Object Id] [Object Name]:[Object Caption] [Fieldname]:[Caption] [Field Type] [Length or Option Members] [Description]
Example:
Table;79001;Customer Header Table
No.;Code;20;Test Field Desc
Description;Text;50
Selection;Option; ,First,Second
Table;79002;Custom Line Table
Document No.;Code;20;Test Field Desc
Line No.;Integer
Description;Text;50
Amount;Decimal
Selection;Option; ,First,Second
Option | Description |
---|---|
renderPageParts | Render PageParts in AL Page Designer |
showStandardEvents | Show standard Table events, e.g. OnBeforeInsert or OnAfterDelete |
VsCodeBrowserPreview | Turn on 'Preview' context menu on Object List. Works with UserPassword authentication. |
useCRS | Run objects using CRS AL Extension (default) |
logging | Diagnostic logging to Developer Tools console |
singleObjectPerFile | Detection rule: one object per files |
pasteAllEventParameters | Paste all event parameters when copying Event Publishers (default). |
useInternalNavigation | Use custom Go To Definition feature. (Auto-enabled on Linux). |
useAZALDevTools | Enable integration with AZ AL Dev Tools extension. |
useALTestRunner | Enable integration with AL Test Runner extension (experimental). |
useCustomSnippets | Enable custom AL Snippets dropdown that uses .altemplates folder (inactive by default). |
gridRowHeightOption | Row-height setting for Object list. Values: large (default), medium, small, custom. |
gridRowHeightPixels | Custom row height in pixels. gridRowHeightOption must be set to custom. |
AL Object Designer is a single-page Aurelia app that is embedded into a VS Code WebView and exchanges data back and forth.
Github repo: feel free to fork it or send feedback/pull requests.
Happy AL coding!