
A suite of (mostly) internal ACSG-BizApps development helpers for Business Central AL projects.
Features
| Command |
Description |
| Change affix of object(s) |
Bulk-add or modify prefixes or suffixes in AL object names. The command can run on the current file or across the workspace and can optionally update AppSourceCop settings. |
Remove affix from *.al file names |
Renames AL files by removing a prefix or suffix from the object-name portion of the file name and optionally adding a replacement prefix at the front or end. |
| Add cloud configuration |
Adds a new Business Central SaaS launch configuration to .vscode/launch.json for the current workspace. |
| Open ACSG-BizApps Translator |
Opens the configured Weblate component in the browser using the primary translation language configured for this extension. |
| Translate in ACSG-BizApps Translator |
Available as a Quick Fix on translatable AL labels and supported property values. It looks up the matching XLIFF entry and opens the matching translation directly in Weblate. |
Commands
All commands are contributed under the ACSG-BizApps Tools category in the Command Palette.
| Command palette title |
Command id |
Notes |
| Change affix of object(s) |
extension.changePrefix |
Prompts for old and new affixes, whether the new affix should be used as a prefix or suffix, whether AppSourceCop settings should be updated, and whether to process the current file or every .al file. |
Remove affix from *.al file names |
extension.removePrefixSuffix |
Renames matching AL files in the workspace based on the entered affix, case-sensitivity choice, and optional replacement affix. |
| Add cloud configuration |
extension.addCloudConfiguration |
Creates .vscode/launch.json when needed and appends a numbered SaaS launch configuration for the current workspace. |
| Open ACSG-BizApps Translator |
extension.openTranslationTool |
Requires a .code-workspace file and a configured Weblate component URL. |
| Translate in ACSG-BizApps Translator |
extension.openWeblateTranslationForCurrentProperty |
Usually invoked from the Quick Fix menu inside an AL file rather than directly from the Command Palette. |
Functions
In addition to explicit commands, the extension exposes two editor-integrated functions:
| Function |
Trigger |
Description |
Sort using statements on save |
Saving an AL document while aident-tools.sortNamespace is enabled |
Keeps the namespace declaration at the top and rewrites using statements into sorted, de-duplicated order. |
| Translation Quick Fix provider |
Cursor on a translatable AL value |
Offers the Translate in ACSG-BizApps Translator code action when the current value can be matched to an XLIFF translation entry and is not locked. |
Settings
The extension contributes the following workspace settings:
| Setting |
Default |
Description |
aident-tools.imageFilter |
mcr.microsoft.com/businesscentral |
Docker image prefix used to detect Business Central containers. |
aident-tools.sortNamespace |
true |
Enables automatic sorting of using statements when an AL file is saved. |
aident-tools.primaryTranslationLanguage |
de-DE |
Primary translation language used to build the target Weblate language path for translation lookups. |
The translation commands also require this workspace setting, which is read by the extension even though it is not contributed by this package:
| Setting |
Description |
appsource.weblate.componentUrl |
Absolute Weblate component URL used to open the project overview and deep-link to specific translation entries. Configure it in the active .code-workspace file under settings. |
Getting Started
Install
Search for ACSG-BizApps Tools in the VS Code Extension Marketplace and install.
Ensure the AL Language extension is installed
This extension depends on the official AL Language support in VS Code.
Configure translation settings if you want to use the translator integration
Add appsource.weblate.componentUrl to the settings section of your .code-workspace file and, if needed, override aident-tools.primaryTranslationLanguage there as well.
Run a command
Open the Command Palette (Ctrl+Shift+P), type ACSG-BizApps Tools, and pick the action you need.
Prerequisites
- Docker Desktop (Windows containers mode)
- PowerShell (Windows built-in or PowerShell 7+ on your PATH)
The extension is currently documented and exercised against Windows-based AL development workflows.
Example workspace file settings
The translator integration reads the Weblate component URL from the active .code-workspace file:
{
"folders": [
{
"path": "."
}
],
"settings": {
"appsource.weblate.componentUrl": "https://weblate.example.com/projects/my-project/my-component/",
"aident-tools.primaryTranslationLanguage": "de-DE"
}
}
Troubleshooting
| Problem |
What to check |
Add cloud configuration fails |
Ensure you have a workspace folder open. The command now creates .vscode/launch.json automatically, but it will still fail if the existing file contains invalid JSON. |
Open ACSG-BizApps Translator does not open the expected page |
Confirm appsource.weblate.componentUrl is set in the active .code-workspace file and points to the Weblate component root URL. |
| Translation Quick Fix is missing |
Check that the cursor is on a supported translatable AL value, the value is not locked, and the workspace contains matching XLIFF content. |
using statements are not sorted on save |
Verify aident-tools.sortNamespace is enabled and that the saved document is an AL file. |
| File rename commands only partly succeed |
Make sure files are writable and that the target file names do not already exist. The extension now reports partial rename failures in the notification. |