Visual Studio Code and AL

Note

These release notes describe functionality that may not have been released yet. To see when this functionality is planned to release, please review What's new and planned for Dynamics 365 Business Central. Delivery timelines and projected functionality may change or may not ship (see Microsoft policy).

The April '19 release focuses on preparing to move the base application and country modifications from C/AL to AL, on optimizations for working with large projects (such as the base app on AL), as well as on additional productivity features addressing feedback from internal and external developers.

Application as an app

As shown at the Directions 2018 conferences in North America and EMEA, we are working on moving the base application and tests from C/AL to AL. We will be running these in parallel internally and are planning to ship these in preview mode on Docker images before or as part of the April '19 release. The April '19 release is based on C/AL and C/SIDE, and plans are on track to switch to AL and Visual Studio Code as the supported platform for new releases within 12-24 months from our October '18 release.

W1 application converted to AL

Supporting larger projects

In parallel to converting the base application to AL, we are focusing on optimizing the developer experience when working with large projects such as the base application. Some of the investments involve improving:

  • Performance on the internal metadata repository used by compiler and IntelliSense.
  • Load, compile, and build times for large projects.
  • Partial compile and deploy for rapid application development roundtrips.

Force sync when deploying applications

You can now create and deploy breaking changes during development without version update or creating upgrade code, by using the new "force" schema synchronization, similar to C/SIDE. This mode permits all changes, both additive and destructive, and applies destructive changes, such as dropping a column, without destroying all other data.

Outline View

We are adding support for the standard Outline View in Visual Studio Code. This allows developers to get an overview of the symbol tree of the currently active editor and navigate to locations in code editor. There are different sort-by modes—you can find or filter on symbols as you type, and errors and warnings are also shown in Outline View, letting you see a problem's location at a glance. You can also use the Breadcrumbs view to easily navigate the structure in an AL file.

Outline View

Designer no longer takes dependencies on all extensions

The In-Client Designer used to take dependencies on all the extensions installed. This is no longer the case—it only takes dependency on the extensions that are necessary, removing the need to edit these in Visual Studio Code after consultants or customers have used the Designer for small changes.

Code Actions support

Visual Studio Code has a framework, Code Actions, for quickly fixing errors or performing refactoring. We are adding support for this framework in AL projects, and will also be releasing some quick fixes for common problems.

Code Actions

Multiple objects ID ranges in app.json

With this release, you can now add multiple ID ranges in the app.json file to have the compiler issue warnings if IDs are outside of those ranges.