Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>INNOCop - AL Code AnalyzerNew to Visual Studio Code? Get it now.
INNOCop - AL Code Analyzer

INNOCop - AL Code Analyzer

INNONAV

|
95 installs
| (0) | Free
Auto-download and management for INNOCop, a code analyzer for Business Central AL development following INNONAV best practices
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

INNOCop VS Code Extension

Installs and manages the INNOCop code analyzer (BusinessCentral.InnoCop.dll) for Business Central AL development. The DLL is downloaded from the INNONAV Azure DevOps repository into the analyzer folder of the AL Language extension.

Requirements

  • Visual Studio Code 1.80.0 or higher
  • AL Language extension (ms-dynamics-smb.al)
  • Azure DevOps Personal Access Token for dev.azure.com/innonav with scope Code (Read)

What the extension does

  1. When an AL workspace opens, it finds the AL Language extension's analyzer folder:
    • AL Language v18 and later: <al-extension>/bin/
    • older versions: <al-extension>/bin/Analyzers/ or <al-extension>/bin/win32/Analyzers/
  2. If BusinessCentral.InnoCop.dll is missing there, it offers to download it.
  3. It checks whether INNOCop is listed in al.codeAnalyzers and offers to add it.
  4. When the AL Language extension is updated (new version folder), the check runs again.

It does not yet detect a newer DLL on the server if one is already installed. Use INNOCop: Download/Update Analyzer DLL to update manually.

Setup

  1. Install the extension (or the INNONAV Dev ExtensionPack).
  2. Run INNOCop: Set Personal Access Token and paste your PAT. It is stored in VS Code SecretStorage, not in settings.json.
  3. Open an AL project and accept the download.
  4. Make sure al.codeAnalyzers contains INNOCop (the extension offers to add it):
{
    "al.enableCodeAnalysis": true,
    "al.codeAnalyzers": [
        "${CodeCop}",
        "${UICop}",
        "${analyzerFolder}BusinessCentral.InnoCop.dll"
    ]
}
  1. Reload the window so the AL Language server loads the analyzer.

Commands

Command Description
INNOCop: Download/Update Analyzer DLL Downloads the current DLL from master and installs it
INNOCop: Set Personal Access Token Stores (or, with empty input, removes) the PAT in SecretStorage
INNOCop: Show Analyzer Version Shows location, size and date of the installed DLL
INNOCop: Open Rules Documentation Opens the INNOCop folder in Azure DevOps
INNOCop: Show Output Log / Clear Output Log Output channel INNOCop

Settings

Setting Default Description
innocop.autoDownload true Offer the download when the DLL is missing
innocop.enableOnStartup true Run the checks when an AL workspace opens
innocop.analyzerPath "" Custom analyzer folder or full DLL path; empty = auto-detect
innocop.logLevel Info Debug, Info, Warning, Error
innocop.personalAccessToken "" Deprecated, plain text. Use the SecretStorage command

PAT lookup order: SecretStorage → innonav-dev-tools.repository.personalAccessToken → innocop.personalAccessToken.

Troubleshooting

Set innocop.logLevel to Debug and open INNOCop: Show Output Log.

Message Cause Action
AL Language extension not found ms-dynamics-smb.al is not installed or disabled Install/enable the AL Language extension
Could not find the analyzer folder in AL Language extension vX Unknown folder layout of a new AL version Set innocop.analyzerPath, report to the INNOCop maintainers
HTTP 203 / 401 / 403 PAT invalid, expired or missing scope Run INNOCop: Set Personal Access Token
Downloaded file is not a valid DLL Server returned HTML instead of the DLL Check PAT and access to the ADO repository
Analyzer file is in use The AL Language server has loaded the DLL Choose Reload Window
INNOCop is not listed in "al.codeAnalyzers" DLL is installed but not activated Choose Add to User Settings; check workspace settings that override it

Building from Source

npm install
npm run check-types
node esbuild.js
.\CreateVSIX.ps1        # bumps the patch version and writes vsix/*.vsix

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft