Acuminator is a static code analysis and colorizer tool for Visual Studio that simplifies development with Acumatica Framework. Acuminator provides diagnostics and code fixes for common developer challenges related to Acumatica Framework. Also, Acuminator can colorize and format BQL statements, and can collapse attributes and parts of BQL queries.
Diagnostics and Code Fixes
In the code based on Acumatica Framework, Acuminator finds common mistakes and typos that are usually not so easy to find, such as the following:
- Incorrect signatures of
- Typos in the names of view delegates
- C#-style inheritance from
For the errors it finds, Acuminator suggests code fixes. For the full list of supported diagnostics and code fixes, see Acuminator Release Notes.
Code Coloring, Formatting, and Outlining
Acuminator colorizes and formats BQL statements, which improves the readability of long BQL queries. You can adjust the colors in the Visual Studio settings.
Acuminator can collapse parts of BQL queries and the code inside attributes to small tags, which makes it easier for you to focus on the parts of code related to the current task.
The Process of Building the Solution
To build the solution, do the following:
- Create the lib folder in the root folder.
- Add PX.Data.dll, PX.Common.dll, PX.BulkInsert.dll, and PX.DbServices.dll (from Acumatica ERP 2017R2 or higher) to the lib folder.
- Add your strong-name key file as src/key.snk. If you don't have one, run Developer Command Prompt and generate the key by using the following command: sn.exe -k "src\key.snk".
- Open src/Acuminator/Acuminator.Analyzers/Properties/AssemblyInfo.cs and change the public key in the InternalsVisibleTo attribute to your own. To extract the key from the strong-name key file, do the following:
- In Developer Command Prompt, extract the public key from the snk file to a txt file as follows: sn.exe -p "src\key.snk" "src\publickey.txt".
- Display the public key to the console by using the following command: sn.exe -tp "src\publickey.txt".
- Build Acuminator.sln.