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
After installation open Settings, choose Extensions -> AL Language Extension and put a mark on Enable Code Analysis and NEVER turn it off.
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)
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
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.
4. REST Client by Huachao Mao
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
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.
6. Error Lens by Alexander
I like to have error\warning\info description right near the place there it occurs. And Error Lens extension helps me with that
And seems like few minutes ago I've got one more extension to my list!:
7. AL Object ID Ninja by Vjekoslav Babich
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?
*This post is locked for comments