In the last days, I managed to get some new updates for you released. Since this would be too much for a tweet, I will summarize here what changed, what will change in the next days (hopefully 🙃 ), and what is planned for future updates.
What changed lately?
Pipelines and automated builds
The biggest change I did in the last weeks, was to introduce pipelines and automated builds on GitHub for the LinterCop. This looks like a minor task, but I was not familiar with GitHub Actions, and needed to dig into it first.
I had several problems at the beginning: How to compile dotnet with the command line? How to run the build on a hosted agent? Linux or Windows build agents? How to get the dependencies? And others.
But in the end, I managed to get it running. If you are interested, you can see the result here on my GitHub
Updates for Rule0005
Next was to work on some issues, resulting in updates for Rule0005 which checks for case mismatching. Previously it only warned on wrong casing in code, like field names or function names.
Now it checks (almost) everything in code. Meaning every keyword in object definitions and code.
See for yourself:
New rule for “NotBlank” property on primary key fields
Last but not least, I introduced a new rule which checks for “NotBlank” property on primary key fields if it is of type code or text and the only field in the primary key. For example the No. field on customers. For more details read here.
Pre-releases and beta testing
While working on those changes, I realized (and also some users #94) that I will need the possibility to do pre-releases and beta testers. The plan is to do some more enhanced branching and to adjust the build pipeline to create pre-releases from a certain branch.
Also the vs code extension will need an extra setting to auto load those pre-releases for anyone who wants to support me with testing those new features.
Analyzer selector in VS Code
This is currently work in progress. I plan to implement an indicator in the bottom line of vs code showing you which analyzers are currently active. Especially when working on multiple projects and if settings are spread over user, workspace and folder wide settings, this will help.
Also there will be the possibility to open a select menu for analyzers, when clicking on the indicator. This helps to add analyzers to the active setting file with only a few clicks.
The backlog of rules which could be implement can be found in the discussions part on GitHub.
Here are the first three most voted ideas as of today:
Lookup Flowfields – perform Calcfields upon validating it’s parent field #65
Validate field length against TableRelation #41
Mandatory CaptionClass (vs Field patterns) #80
If you follow this project and plan to use the LinterCop in your projects you may want to have a look at other ideas as well, and vote for the ones you would like to be implented.
If you have any other ideas which are not yet listed, feel free to create a new discussion for it!