This repository contains the VS Code language extension adding support for mdAL. mdAL is a Domain Specific Language that enables a Model-Driven approach to extension module development for the ERP System Microsoft Dynamics 365 Business Central. mdAL stands for model-driven AL.
To use the mdAL VS Code extension you need Java JRE 8 or newer (please restart after installing Java JRE).
To quickly familiarize yourself with mdAL and the VS Code extension have a look at the mdAL demo project. For more information on mdAL visit mdal-lang.github.io.
To start using mdAL create a new AL project (Alt + A, Alt + L) and download the symbol references. Then add your object ranges to the app.json file. Create a new file with the .mdal ending. If it is not running already the language server starts once opening an mdAL file. After a few seconds features like content assist and documentation hovers are available. You can trigger AL code generation either from the menu item "Generate AL Code" by right-clicking inside an mdAL file or by using the command palette (Shift + Ctrl + p or Shift + Command + p).
- Language Support
- Syntax highlighting for
mdALfiles.
- Syntax highlighting for
- Commands (available on
*.mdalfiles)- Load symbol references: Loads the symbol references found in the
.alpackagesfolder. - Generate AL Code: Generates AL Code from the currently opened
mdALfile into thesrc-genfolder. - Clean: Deletes the
src-genfolder.
- Load symbol references: Loads the symbol references found in the
- Menu items (available on
*.mdalfiles)- Load symbol references
- Generate AL Code
- Code Actions
- Content Assist
- Documentation hovers
- Snippets
If you encounter errors or have suggestions for future releases, please open an issue.
This extension is built using the build tool Gradle. If Java JDK or JRE is installed, you can use the bundled Gradle wrapper and build the project with this command:
$ ./gradlew buildTo start a new VS Code window in debug mode use this command:
$ ./gradlew debugCodeA list of all available Gradle tasks can be obtained with this command:
$ ./gradlew tasksApache 2.0 (c) Jonathan Neugebauer