Skip to main content

Notifications

My version of basic VS Code setup to develop AL extensions.

Hello Team!

Many times I described to different people how to setup VS Code to make developer's life easier and to follow common coding rules, so to make my life easier in future I'll try to describe it here.

It's required minimum without I can't work comfortable. I know that there are many other nice extensions but here I would talk about minimal choice.

Basic VS Code extensions set:

1. AL Language (obviously) by Microsoft

6180.JPG

After installation open Settings, choose Extensions -> AL Language Extension and put a mark on Enable Code Analysis and NEVER turn it off.

2605.JPG

Second must have setup is press F1 and select Preferences: Open Settings (JSON)

here in settings.json create your first settings:

"al.enableCodeAnalysis": true,    
"al.codeAnalyzers": [
    "${AppSourceCop}",
    "${PerTenantExtensionCop}",
    "${CodeCop}",
    "${UICop}"
]

in addition to enableCodeAnalysis connect Code Analyzers.

CodeCop, UICop and PerTenantExtensionCop I use always. AppSourseCop I connect only when develop apps for App Sourse.

Some people counts that you always must use all of 4 analyzers but my opinion that AppSourceCop is not mandatory for per tenant development.

2. Waldo's CRS AL Language extension by Eric Wauters (Waldo)

2870.JPG

Second extension that yon should install after AL Language.

Objects reorganization, files automatic renaming, objects run, nice snippets and so on.

Important to make correct setup in settings.json. My setup is here (can't paste it like code due to format issues):


"CRS.ObjectNamePrefix": "AWR_",
"CRS.OnSaveAlFileAction": "Rename",
"CRS.FileNamePatternExtensions": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.RemovePrefixFromFilename": true


Use your own ObjectNamePrefix instead of my AWR_ (registered prefix of Awara IT Solutions)

This template will automatically rename your objects after saving and save you a lot of time and clicks to follow code rules about files naming.

3. AZ AL Dev Tools by Andrzej Zwierzchowski

1401.JPG

Dependent on Waldo's extension.

AL Objects Browser (Like in old good C/AL), AL file wizard, bulk adding of application areas, tooltips and captions, removing "with" usage and tons of other must-have features.

Definitely worth to install it.

24450.JPG

4. REST Client by Huachao Mao

1374.JPG

Earlier I worked with API using Postman, but now it totally forgotten. I create integration API test scenarios using this extension in one file. I like to have everything in one place and this extension allows me to make it.

I think work with this app worth a separate blog post and I hope that I'll create it soon.

5. GIT Lens by Eric Amodio

60723.JPG

It's a matter of you which lens for git to use. There are several of them in Extensions marketplace. But I think you must have at least one. My choice is GIT Lens.

5707.JPG

6. Error Lens by Alexander

0601.JPG

I like to have error\warning\info description right near the place there it occurs. And Error Lens extension helps me with that

8231.JPG

And seems like few minutes ago I've got one more extension to my list!:

7. AL Object ID Ninja by Vjekoslav Babich

pastedimage1631295404501v1.png

Allows several developers to handle object IDs for one app and avoid object ID duplication.

That's my minimal choice for AL development. Do you have any extension without you can't work normally?

Comments

*This post is locked for comments