mdAL
VS Code Extension
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.
System Requirements
To use the mdAL
VS Code extension you need Java JRE 8 or newer (please restart after installing Java JRE).
Quickstart
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.
Creating new Projects
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).
Features
- Language Support
- Syntax highlighting for
mdAL
files.
- Commands (available on
*.mdal
files)
- Load symbol references: Loads the symbol references found in the
.alpackages
folder.
- Generate AL Code: Generates AL Code from the currently opened
mdAL
file into the src-gen
folder.
- Clean: Deletes the
src-gen
folder.
- Menu items (available on
*.mdal
files)
- 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.
Development
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 build
To start a new VS Code window in debug mode use this command:
$ ./gradlew debugCode
A list of all available Gradle tasks can be obtained with this command:
$ ./gradlew tasks
License
Apache 2.0 (c) Jonathan Neugebauer