Thursday, February 16, 2017

NAV Development Tool Update–February

Welcome to the February update for the Developer Preview. As in the last two updates, we’ve fixed bugs reported by you on our GitHub issues list ( and made other improvements.

You can see a list of what’s new below.

– Finishing your design work in the client now offers two options on saving, allowing you to save the changes to the tenant for all users, or to save the changes to a file that you can work on later in VS Code. Performance of the designer has improved and is snappier.


– To guide users towards a better page design, we’ve been adding a few rules in the in-client designer. For example, you can only drop media fields onto card part pages. Also, you cannot drop a field under a repeater control, because this is not the design that list pages were intended for.

– Getting started in VS Code has been streamlined. Once you’ve installed the visx file, just enter AL: Go! in the command palette (Ctrl+Shift+P) and you’ll be offered a new folder to build a solution in. The preset values are configured for your Azure Gallery instance and if you’re missing the symbols for the project, VS Code will offer to download them for you. Note, we’ve introduced a shortcut for this too – Alt+A, Alt+L. Enjoy!


– We’ve made improvements in IntelliSense with contextual support for keywords in all objects – and we’ve added autocompletion and IntelliSense for setting values for the CalcFormula and TableRelation properties.

– You can now reference Query objects from the base application. This gives you the ability to declare variables of the type Query and call AL functions on them.

– References by symbols have been implemented meaning that you can find all references in an inline editor. Pressing Shift+F12 on top of a symbol will open a view that lets you jump to all instances of that symbol. Furthermore, selecting a symbol and pressing F2 allows you to rename all instances of that symbol. Note, that symbolic rename is cleverer than text matching and will only change the current symbol. For example, it will replace all instances of variable Foo, but not rename function Foo.

– Two AL variables have been introduced mapping to the HTTP Client and JSON types. Using HttpClient, HttpResponseMessage, JsonObject, JsonToken, and JsonValue will allow you to access Azure functions and other Web services.

– Miscellaneous bugs reported from GitHub have been fixed.

Just like in the last update, we’ve already updated the Azure Gallery so new images will include the update. Again, we’ve designed for compatibility with your existing files so any .al projects you have already will work with the AL Language extension for VS Code. Having said that, changes may need to be introduced at some time so save your work independently as you go.

We have big ambitions for the next month so stay with us. Thanks again for the bugs – keep them coming and we’ll fix them as fast as we can.