I have been wanting to write this blog for a while. But I’m going to keep it a short one, as I’d like to go into a few topics separately, and I don’t want to swallow too much in one big blogpost with the possibility with some (important?) details would get lost.
Thing is – I wrote an Extension. And I’m not talking about an Extension for Business Central in VSCode. No. Well – I did write a few of those as well, but that’s not what this blog is about. I made a VSCode Extension…
One of the major advantages and key strengths of VSCode as a development editor is its extensibility model: if you are missing a feature, you might want to search in the marketplace to see if someone already added a feature, download it, and there you go, you extended your editor with new capabilities.
PowerShell is a nice example: you want to do PowerShell with VSCode. It’s not there out-of-the-box. But if you just search for an Extension for PowerShell, download it, and there you go, in 1 minute, you’re ready to develop PowerShell in VSCode.
At this point, there are about 6241 VSCode Extensions on the marketplace – and one of them is the CRS Al Language Extension: a VSCode Extension, to add some new features that I was missing for Al Development. So, let me go over the current contributions… .
When you’re talking about “things you added” in a VSCode Extension, you are actually talking about “contributions”. It can be a number of things, like new commands, new settings, new snippets, Keyboard bindings, Colorizers, debuggers, … . And I have been fumbling with some of these things to get some new features to us, Al developers.. . As said, I will only sum up the different contributions with a short description – and if necessary, I might come back to them in later blogposts.. .
I added some commands to the command palette to run an object in either web, phone, tablet or windows client. It’s also possible to run the current object by pressing CTRL+SHIFT+R.
Rename and Reorganize Files
In order to make it easy on you to not bother about file names, I created some commands to manage the filenames for your by renaming them, and even reorganizing them in a folder. It makes it easy for you to be aligned with the naming convention of Microsoft – or you can even set up your own filename convention by customizing the file name pattern in the settings.
Page Wizard Snippet
I give a lot of trainings all over the world – and I always see people struggling and losing time when creating wizard pages – one of the ways to SaaSify your solutions. I included a snippet ‘tpagewizard’ to start with, which drastically lower the time you spend on wizard-pages.
Snippets for Permissions and Web Services
To make it easier for developers to include permission sets and (publishing) web services in their app – for which xml-files need to be created – I simply included some xml-snippets that you can use. Just create an xml-file, and use the snippets to define permission sets and/or web services.
The snippets that Microsoft published are great! But – in my modest opinion – not perfect. So what I did, I created a setting to be able to disable Microsoft’s snippets. On top of that, I included my own “improved” set of snippets. You are able to enable/disable both my crs-snippets as Microsoft’s snippets and have it exactly the way you want!
How can I get the “CRS Al Language Extension” in my VSCode?
The easiest way is to just search and download it from within VSCode. Go to the Extensions, search for “CRS Al Language Extension”, it will find it, download it, enjoy!
Up-to-date Information & Feedback
I will not blog about every little change on this extension. But I’d like to share a few links that I think are useful – both for getting information as well as for giving feedback about the extension.
From the marketplace, you can find all available extensions for VSCode, so that means you can also find the CRS Al Language Extension. On that page, you can see
How much does it cost?
The tool is under the umbrella of Cloud Ready Software, and is free of charge, without any strings attached, nor any intention for any upselling or whatever (nor with any guarantees, by the way ;-)). It’s our way to give back to the community we like so much. We just hope you enjoy it!