CRS Al Language Extension

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…

VSCode Extensibility

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.. .

Running Objects

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.

Snippet Management

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

  • a description of the extension – that’s a readme file that is part of the extension, and will shortly explain the different contributions that I put into the extension. I intend to maintain this file, and describe all new/changed features.
  • A changelog, which is also a file that is part of the extension. I always update it for each version I publish with the changes that are included in what version.
  • A link to the repository, which is github. There, you find the code. If you want to build your own VSCode Extension – look at it, and you might find some useful code to start with. No license – you can copy whatever you like (or don’t like).
  • A link to the open issues. This is the stuff I’m working on, which are tagged and put into milestones. If you have any type of feedback, you are more than welcome to create a new issue on that page, and explain what it is: what is not working, or what feature you would like me to look into, or anything else regarding this VSCode Extension. Any feedback is always greatly appreciated!

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!

5.00 avg. rating (97% score) - 1 vote

Permanent link to this article:

6 pings

  1. […] « CRS Al Language Extension […]

  2. […] But in my defence – I put quite some time in another community project, which I blogged about in my previous post (and will blog about in quite a few coming posts…). To keep up the pace of writing at least […]

  3. […] said in one of my previous posts, I was going to do some “deeper” description of the functionality of the tool that […]

  4. […] said in one of my previous posts, I was going to do some “deeper” description of the functionality of the tool that […]

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.