This is a fork of the excellent VS Code extension AL Language Tools from ClipDynamics, modified to better fit our company's needs.
Tools for a better NAV & BC development experience
for Dynamics 365 Business Central and Dynamics NAV
Features
TRANSLATIONS
- Automatically create XLIFF files for languages other than es-US
- Snippets for translations, captions, labels and other UI texts
- NOTE: The comment section is used for the translations
TESTING
Snippets for testing
Tools to generate testing codeunits and procedures (Under Development)
Working on features to automatically create test procedures
- When adding a field in a page or pageextension,
- Create a test procedure to check its visibility
- When adding an action in a page or pageextension,
- Create a test procedure to check its visibility
- Create a test procedure to check the OnRun action
- If it runs a page, create a test procedure with a [PageHandler]
- If it runs a report, create a test procedure with a [RequestPageHandler]
- If it runs a report, create a test procedure with a [ReportHandler]
- When creating a global procedure on any object
- Create a test procedure to check the output of the procedure
- Automatically create the paramaters as local variables in the test procedures
- Automatically create a variable for the return result, that matches the return data type of the procedure (if any)
- Create a test procedure for the current element
- Create test procedures for all the elements in the current object
- Create test procedures for all the elements in all the objects
We are going to implement and release this first, and will add more cases in the future. Any suggestion is welcome, just say it on GitHub.
REPORT CREATION
- Snippets to create a report. It includes the AL file, the RDL file and a buffer table
- The report snippet generates a fully runnable report
- It is very easy to reuse a layout from one report to another because it always uses the same names to create the dataset
- The structure of the report is as follows:
- You loop through a dataitem
- You use a Buffer to store all the data that you want to print
- The layout is based on the data stored on the Buffer
This is version 0.0.22
Main contributors
Translations
- Commands
AL: Generate Xliff files (AL Tools)
- This commands creates one XLIFF file per each language found in the code.
- Translations should be present in the comment section.
- Use the provided snippets to make sure the format of the translation is correct.
- Run this command when new texts are added, after the package is created.
Snippets
Snippets used for testing
tcodeunitTest (AL Tools)
- This snippet creates a test codeunit, with a test procedure.
tprocedureTest (AL Tools)
- This snippet creates a test procedure.
tassertTest (AL Tools)
- This snippet inserts an Assert statement in a test procedure.
tvarLibrary (AL Tools)
- This snippet creates a Library variable in a test procedure.
Snippets used for captions and other UI elements
tcaptionWithComment (AL Tools)
- This snippet inserts a Caption property, with the comment section.
tToolTipWithComment (AL Tools)
- This snippet inserts a ToolTip property, with the comment section.
tLabelWithComment (AL Tools)
- This snippet inserts the Label property, with the comment section.
tCommentWithLanguage (AL Tools)
- This snippet inserts the comment section property, with the comment section.
- The comment section will later be used to create XLIFF files
Examples:
Caption = 'English Text', comment = 'ESP="Text in Spanish"';
Caption = 'English Text', comment = 'ESP="Text in Spanish",ITA="Text in Italian"';
Snippets for common blocks of code
trepeatRecord (AL Tools)
- This snippets inserts a REPAT UNTIL block of code
Examples:
if Rec.findset() then
repeat
// Your code
until Rec.next() = 0;
Requirements
Extension Settings
This extension does not contribute to any settings (yet)
Known Issues
Issues can be reported to the project on GitHub.
Release Notes
The first release contains snippets for creating captions, labels and other UI elements, with the following structure:
Caption = 'English Text', comment = 'ESP="Text in Spanish"';
Caption = 'English Text', comment = 'ESP="Text in Spanish",ITA="Text in Italian"';
The comment section will later be used to create the Xliff file for the specified language.
0.0.20
Initial release
Enjoy!
Salut!
Laura Nicolàs