NAB AL Tools
This extensions is a tool that helps with AL development.
Table of Contents
The workflow for working with these XLIFF tools are
NAB: Refresh XLF files from g.xlf
Iterates the g.xlf file and updates all language xlf files. The default behavior is to insert the tags mentioned below. If the setting
Please create an issue if you have an opinion of how the target states should be used or if you wish to see more functionality that improves the workflow when working with translation tools.
NAB: Match translations from external XLF file
Works similar as
NAB: Find next untranslated text (Ctrl+Alt+U)
Finds the next occurrence of the tags [NAB: NOT TRANSLATED] or [NAB: REVIEW] and selects the tag.
If the setting
NAB: Find untranslated texts
Uses the Find in Files feature to search for translation units in need of review or translation. Please read Known Issues below.
NAB: Find multiple targets in XLF files
Use this command to find all places where you've got multiple targets, caused by the matching finding multiple sources with different translations Please read Known Issues below.
NAB: Find translated texts of current line
Place the cursor on a AL code line that should be translated and execute this command to use the Find in Files feature to find all occurences of the translations. Please read Known Issues below.
NAB: Find code source of current line ("F12" in xlf files)
Place the cursor somewhere in a trans-unit node in the xlf file and execute this command to navigate to the source code for that translation.
NAB: Sort XLF files as g.xlf
Updates all language xlf files with the same sorting as the g.xlf file
NAB: Copy <source> to <target>
Copies the content of the <source> element to the <target> element. Use this when positioned on a target line in a xlf file.
NAB: Suggest ToolTips
Inserts a ToolTip stub on page fields and actions. The stub will be commented out and needs to be reviewed, updated and un-commented manually. This function only works when you're in a file that has a Page och Page extension object No ToolTips will be added on fields on NavigatePages or API pages
NAB: Show next suggested ToolTip
Shows the next ToolTip stub in the current Page or PageExtension. Default shortcut Ctrl+Alt+P
NAB: Generate ToolTip Documentation
Generates a MarkDown (.md) file with the ToolTips for all Pages and Page Extensions. All fields and action are listed per object. Empty or missing ToolTips will be included.
Fields and Actions with captions will be included in the documentation. If there are no Caption on the Page Field, the function tries to retrieve the Caption from the Source Table. This only works for tables inside the workspace.
The following naming standard in the object descriptor of Page Extensions is required to retrieve the captions from the Table Extension if there are no explicit Caption on the page field:
The following PageTypes are ignored:
Two settings can be used to ignore specific Pages or Page Extensions:
NAB: Uninstall dependent apps
Uninstalls dependent apps through PowerShell. Useful if you cannot install your app due to dependencies.
Only works for local installations, not Docker, not Saas Sandbox.
NAB: Sign app file
Sign the app file (matching your current app.json). You must first have the Code Signing Certificate installed in the Current User Personal Store (Cert:\CurrentUser\My if you're importing with PowerShell).
NAB: Deploy and Run TestTool without Debugger
Useful if you're using a separate app as a test app
When this command is executed, VSCode...
NAB: Deploy and Run TestTool with Debugger
The same feature as above, but with debugging
Assign text variable with CopyStr
Since CodeCop rule AA0139 complains on possible overflow, we need to assign text variables with a CopyStr statement
Inserts a stub Test Codeunit
Inserts a stub Test Function
Inserts a generic SendNotificationHandler function
Inserts a generic MessageHandler function
Inserts a generic ConfirmHandler function
Define variable of type Dictionary
Define variable of type List
Declare Enum value
Declare enum value with caption.
This extension requires the Microsoft AL Language Extension to fully work.
This extension contributes the following settings:
The Find in Files API was a bit buggy before VSCode v1.34... I had to create a PR for VSCode for this to work properly and in VSCode v1.34 this was finally released, yey! So be sure to update VSCode to v1.34 or later.
Please read our contribution guidelines and submit issues on GitHub
You are always welcome to open an issue for enhancements and bugs. If you'd like to give it a swing yourself you can follow this little guide to get up and running: How To Contribute.