This extension introduces a number of commands to streamline Git management, Docker management and AL development for Microsoft Business Central.
Features
Choose a project and get set up to work on it immediately.
Work on features in a simplified and managed way.
Speed up AL development with new macro commands.
Commands
Project and feature management:
Rit Project Go:
Lists all available projects for the on DevOps for our organization for user selection.
Once a project is chosen, users can select one or more repositories for cloning into a specified folder.
After cloning, a multi root workspace file is generated, prompting the user to decide if they'd like to open the workspace folder.
This function can also be used later to add new repositories to the existing multi root workspace.
Rit Branch Go:
Allows users to either check out an existing feature branch or create a new one.
If "New branch" is chosen, user are prompted for a "RitTask No." (our internal task numbering system) and consecutively a description. A new feature branch is then created locally based on the master branch.
If an existing feature branch is selected, it's simply checked out.
Rit Branch Commit:
Prompts user for a description, then stages and commits current changes.
Checks if the feature branch is behind the master. If so, users are asked if they'd like to rebase master branch into the feature branch before pushing to remote.
After a successful commit, user is then prompted with the option to to create a pull request. If yes, users can select a target release branch.
If there are no merge conflicts, the Pull Request can optionally be completed immediately.
Rit Rebase Master:
As the name suggests, this command rebases master branch into the current feature branch.
Rit Branch Delete:
A utility function that deletes a branch locally, checks if the branch exists on remote and prompts the user if they'd like to delete the remote branch as well.
Utility Functions for Releasing (Still in testing phase)
Rit Release Prepare:
Suggests a default release(staging) branch name and prompts users to select repositories for which a release branch should be created.
Rit Release Branch:
List all feature branches in the current repository, from which to select which ones to release. A Pull Request will be created for each selected feature.
Rit Release Finnish:
Creates a pull request from the release branch to the master branch.
Docker Commands
Template - Update/Copy/Init: Initialise an empty project based on another git-enabled directory acting as the template.
Docker - Container License: View container license expiry, and import a new license without having to write any parameters.
Toggle Editor Auto Scroll (default key Scroll Lock): When enabled, will try to maintain the cursors vertical position within the editor by scrolling automatically. A setting controls whether running the command reads the state of Scroll Lock (default) or plain toggles on/off.
Add Dependencies: Quickly add commonly used app.json dependencies from a list.
Commands to add/remove code in AL files. Only the selected part of the code will be modified, or the current line if no selection is made.
(deprecated)Modify Text Symbols (Line/Selection)
Lock Labels/Captions/ToolTips (Selection/Line): Adds/updates the Locked attribute.
Unlock Labels/Captions/ToolTips (Selection/Line): Removes the Locked attribute.
Update Comments in Labels/Captions/ToolTips (Selection/Line): Adds/updates the Comment attribute in accordance with the substitutions in the text literal.
Remove ToolTips (Selection/Line): This command can be configured to remove all tooltips, or only tooltips with a default value.
Propagate Translation (Current Translation Unit): Take the current translation unit, and update the target of other translation units with a matching source.
Reuse Existing Translation (Current Translation Unit): Update the target of the current translation unit by finding another translation unit with a matching source.
Settings
The following settings are required before using this extension
Default Branch Folder
Specfify the sub folder name where feature branches will be located.
git must be installed and configured on your local machine.
To use Docker related commands, PowerShell must able to execute and utilise docker.
Updating a Docker BC container license requires that BcContainerHelper is installed.
Obtaining a Personal Access Token
Sign In to your Auzure DevOps Account.
Go To User Setting icon in upper right corner
Select Personal Access Tokens
Click +Create Token
Add name for your token. for example: rit.vscode
In Expiration (UTC) selection Custom Defined
In the calendar picker you can now select a expiration date.
Expiration date can be at most 1 year from
creation date.
In Scopes select Full Access
Now click Create
You will be presented with a Success dialog, where you can copy the generated Persoanl Access Token (PAT). If you forget to copy token before closing this dalog, you will not be able to see the PAT again, and you will need to create a new one.
Paste your nedly generated Token into the Personal Access Token setting in the extension settings.
Upcoming Features
Quickly initialize an empty AL project, and manage licenses in Docker BC containers.
Managing build and release pipelines.
Create feature branches from Work Items.
Miscellaneous
When updating the AL Template project, VS Code will open its git repository. Restart VS Code (or use the Reload Window command) to close it.