BartPermentier / al-toolbox

Adds Features to the AL Language Extension
MIT License
13 stars 9 forks source link

AL Toolbox for Visual Studio Code

Please visit https://www.altoolbox.com/ for more in depth information and AL Language tips and tricks.

Features

Quick Overview Features

Custom Color of Regions

RegionColors

You can change the color in UserSettings

RegionColorsSettings

Quickfixes: Surround with CopyStr

Automatic fix for AL(AA0139)

CopyStr

Pragma Warnings

Every warning/information line will now show a CodeAction to surround with Pragma to ignore it. So that warnings that you can do nothing about can be ignored easily.

Some variants on the above Pragma CodeAction were added as well:

RelatedTables

Action: Open Related Tables

Popup

Action: Init Git Ignore

Either //#Region or the default #Region can be used with this extension. The snippets/actions will adjust automatically according to the runtime you are using.

Region will now be colored like //#Region; you can change the colors in the User Setup

Simple Example

Settings

Known Issues

Folding with Regions Example

BeforeAfter

Related Objects

To add additional related objects use the ALTB.AdditionalRelatedObjects setting.

Example format:

[
    {  // For adding tableextensions
        "folder": "SalesHeader", // subfolder of src where to place the objects when using "ALTB: Start Project: Create Related Tables"
        "objectType": "tableextension",
        "objects": [ // these tables will be considered related
            { "id": 36, "name": "Sales Header" },
            { "id": 110, "name": "Sales Shipment Header" },
            { "id": 112, "name": "Sales Invoice Header" },
            { "id": 114, "name": "Sales Cr.Memo Header" },
            { "id": 5107, "name": "Sales Header Archive" },
            { "id": 6660, "name": "Return Receipt Header" }
        ]
    },
    ...
    {  // For adding pageextensions
        "table": "Contact",  // source table of pageextension
        "folder": "Contact",   // subfolder of src where to place the objects when using "ALTB: Start Project: Create Related Tables"
        "objectType": "pageextension",
        "objects": [  // pages for the source table
            { "id": 5050, "name": "Contact Card" },
            { "id": 5052, "name": "Contact List" }
        ]
    },
    ...
]

The default related objects can be found in src/constants.js in the AL-toolbox repository (search for RelatedObjects).

Contributers

Special Thanks

Special thanks to ESC BV for investing in this tool! https://esc.be/