The CustomActions code is the code we use to show IL when rightclicking a target, further we use it for hooking our test code into fxcop. It is not meant as a general purpose plugin architecture, I would not depend on this functionality as it can be broken or completely gone in any future version of FxCop.
Regards,
Jeffrey
There isn't a supported way to do this. I will take a look in our code and see how many hoops you'd need to jump through in order to get something hooked up.
Can I ask what additional UI you're looking to provide?
In a nutshell we are writing a set of rules that check for "good" architecture guidelines and some of our rules don’t give out static good or bad results. Several of the rules I'm working on right now collect a lot of data during the rule analysis. Then it saves this to a file and creates a Problem and returns it from the Check method. We then have a separate tool that opens that file and displays several visualizations of this data, so the user can look for certain visual patterns represented (many times people can visually see certain patterns that an algorithm might be hard pressed, computationally or feasibly, to find). What I’d like (love actually) is for each issue/problem to have a state object that I can put my analysis results into. Then when I double click the issue in the FxCop UI, my plug-in UI is invoked for that rule and the UI would pull the state out of the issue/problem and use it to build the visualization.
The problem is that you guys wrote an incredibly useful engine and wrapped a very restrictive UI around it. My hats off to you for what you have done with the analysis engine. But my problems lie in that my ideas for using the analysis results are much bigger than what the FxCop UI allows. You guys created a monster
but it’s a great monster.
That's an entirely fair assessment, the UI is very restrictive. And we haven't continued to invest cycles in the standalone app for well over a year. What we're looking at now is creating a new UI that will share significant components with VS. After making that transition, we should be able to improve extensibility.
It's frustrating for you, I know. But, taking the larger view, it's pretty exciting that we've made sufficient progress in code analysis as a topic that people are clamoring for the capability. Rules development (and features associated with custom rules) are high on the list of customer asks. So it will be a high priority in the future.
I had originally started using the CCI library that ships with FxCop, but after a while found the Cecil library i switched. And since the API's were very similar my rewrites only took a few days.