So I got a slot for GSOC2015 to implement a “Checker framework” for KDevelop, therefore I have been and I will be working on it during the summer.
The project has 3 phases
- Create a framework that problem checker plugin developers can push issues into, so that they don’t have to create their own infrastructure for it (like models, views, toolviews for the views, etc)
- Update some of the already existing plugins to use this framework (kdev-krazy, kdev-cppcheck, kdev-valgrind)
- Implement 2 new checker tools using the framework (clang-check, pylint).
A little bottom-line explanation:
This framework will basically mean a common (obviously subclassable) model that can be used for storing problems, some infrastructure for holding such models, and views. The model will be a refactored, cleaned up version of the current ProblemModel that is used by the problem reporter plugin. The toolview of that plugin will also be cleaned up and refactored, and provide a better view for the model(s).
Up to now I’ve been already working on creating this framework.
- Now it is a tabbed view, and the tabs show the number of problems in the currently shown view
- I’ve also created a class that holds problem models, and those models automatically get a view in a tab in the problem toolview
I am now in the process of refactoring the ProblemModel.
Here are two screenshots comparing the “old” toolview with the “new” one: