Please wait
Talk to Expert
Microsoft Dynamics Business central

Enhance coding in AL with “Code Analyzer”

Enhance coding in AL with “Code Analyzer”

Hello Readers,

Today we are going to discuss about CodeAnalyzer in Business Central. Which is a powerful tool that assists developers in maintaining high standards of code quality and consistency. By integrating static code analysis into the development workflow, it helps catch potential issues early, enforce best practices, and ultimately lead to more reliable and maintainable business applications

It also helps developers maintain high-quality code by identifying potential issues, enforcing coding standards, and providing insights into code maintainability and complexity. Here’s a comprehensive overview of how CodeAnalyzer functions within Business Central:

Features of CodeAnalyzer

  1. Rule-Based Analysis: CodeAnalyzer uses a set of predefined rules to analyze AL code. These rules cover various aspects of coding, such as naming conventions, code structure, performance issues, and potential bugs.
  2. Customizable Rules: Developers can customize existing rules or create new ones to meet specific needs of their development projects. This flexibility allows for the enforcement of company-specific coding standards.
  3. Integration with AL Language Extension: CodeAnalyzer is integrated into the AL Language extension for Visual Studio Code (VS Code), which is the primary development environment for Business Central. This integration provides real-time feedback as developers write code.
  4. Code Analysis During Build: During the build process, CodeAnalyzer automatically runs and checks the code against the active set of rules. Any violations are reported, allowing developers to address issues before deploying their code.
  5. Reporting and Feedback: The tool generates detailed reports that highlight code issues, their severity, and suggestions for fixes. This feedback helps developers understand and resolve issues efficiently.
  6. Continuous Integration and Delivery (CI/CD): CodeAnalyzer can be integrated into CI/CD pipelines to ensure that code quality checks are part of the automated deployment process. This ensures consistent code quality across different environments.


Code Analyzer for Business Central

The AL Language extension for Microsoft Dynamics 365 Business Central for Visual Studio Code contains four analyzers:

  • AppSourceCop: is an analyzer that enforces rules that must be respected by extensions meant to be published to Microsoft AppSource.
  • CodeCop: is an analyzer that enforces the official AL coding guidelines.
  • PerTenantExtensionCop: is an analyzer that enforces rules that must be respected by extensions meant to be installed for individual tenants.
  • UICop: is an analyzer that enforces rules that must be respected by extensions meant to customize the web client.

Basically, Analyzer raise warnings and errors in your code to ensure that rules are met. Which can be seen in the below screen shot.

You can access and enable them via user settings or workspace settings.

Code Analyzer allow you to customize their rules using a Ruleset. You’re not required to adhere to every rule strictly.

For this, create a JSON object and use the snippet “truleset“.

Pick the ID of the code analyzer which is shown in the console. For this example, it’s “AS0051”.

Set the path of your ruleset file in your settings under the “al.ruleSetPath” property like the following:

Once set correctly, reload your window, and in this case, the error will start displaying in Problems Tab.

Also, you can set an error to be a warning and a warning to be an error. For example:

Thank you for investing your time to read our blog! We’re passionate about sharing valuable insights to help you navigate the world of Business Central.

If you’re curious about how we can assist you in reaching your goals, don’t hesitate to get in touch. Our dedicated team is ready to provide support every step of the way.

Let’s turn your vision into reality together!