Wednesday, September 06, 2006

New versions of Plugins

I have released new versions of PaintIt, MoveIt, DeclareIt, UnusedVariables and DX_Contrib
That's right I have released new versions of my plugins.

PaintIt has had it's guts ripped out yanked around and replaced including a new caaching system to help deal with some performance issues.

UnusedVariables has now been altered to depend on DX_Contrib and so allow you the user to pick the decoration style that is used with this plugin.

MoveIt and DeclareIt have both been changed to depend also on DX_Contrib. They have not changed much although some methods previously held in their "Utils/Utility" regions have moved into DX_contrib instead. There may also have been some minor adjustments in other areas. In truth I intend to have a closer look at the functionality in these 2 plugins over the next week or so.

Finally DX_Contrib itself has been updated to veriosn 0.2 (It should be noted that all the previously mentioned plugins now depend on version 0.2.)

I have included more decoration types for the Stylepicker and I have introduced some Element helper methods many of which have migrated from other plugins.

One of the more interesting things in the latest version of DX_Contrib, is a new LanguageElementIterator.

This object takes a Delegate in it's constructor which is then used as an evaluator for each element it passes over. This makes it very simple for you, the plugin developer, to write a CapitalizedVariables or PrivateMethodsWithUnderScoresInName delegate and pass over this list at any point in your code.

This is how the new versions of PaintIt and UnusedVariables generate their caches. and have fun. (

Questions? Comments???

Feel free to comment here on the blog and I will try to respond as quick as I can.

If theis blog has a facility for you to monitor comments of a given post (Ala RSS), then I am unaware of it. As such you will have to check back regularly in order to determine if I have responded to you.

Of course you could just leave your email address or just mail me direct ( RoryBecker AT


Anonymous said...

Is it just me or does your web site have 20% up-time? Everytime I hear about some new plug-in you write, I go over to your site to check it out and it's only been up once.

Rory said...

Appologies for any downtime Anonymous.

I have recently moved hosts from Pipex to Demon and there was a while there where my domain name was more than a little screwed.

I now have and pointing at the same location.

I do understand. I Personally hate it when that happens to me. unfortunately I can offer no other explaination at present. I will keep an eye on the stats associated with the site and see if I can spot a pattern.

Today alone I have (apparently) had 35 successful unique visitors.

For now I can only hope your experience improves.

Marco said...

When opening a file (5000 lines) VS.NET 2003 is hanging when i've loaded UnUsedVariables plugin..

When closing it says "a modal dialogbox is still open. Please close it".... If i remove your plugin from the plugins folder it's working..



Rory said...

This is very strange indeed. I am not aware of any dialogs being used by my code

Can this be reproduced using a sourcefile that you can send me?

Perhaps the one you mention is free of legal issues?

Or perhaps an artificially created file might work?

I wonder does anyone know of a suitable open source project which we could use for testing?

Larry Richardson said...

I am having some serious performance problems w 1.4. When I come back from a debug session, it just freaks out a little.

Also, sometimes CPU goes to 100% for like a minute.
I am going to try and send a pic that I captured.


Kim Terp said...

I am having some problmes when using PaintIt. I really like this feature, but often, it gets crazy and paints all over the page. When that happens, I have to restart VS.

Have you experienced this problem? And do you have a way to fix it? I'm using the newest version of DXCore 2.1.3, Coderush and ReFactor.

Rory said...

Hi Kim,

I am currently working on another new version of this plugin but I am in a place where performance is something of an issue.

With guidance from Mr Mark Miller , I am planning on releasing a new version soon after the next version of the DXCore is available, as this will include multithreaded capabilities.

I have seen the effect you describe and believe that it is down to an attempt I make to save the parse state of a document when switching between them. I think somethinme there is a timing issue of some kind which leads the plugin to load the wrong save data.

If this is the case that I would expect the painting that you are seeing to be an amalgamation of 1 or more correct sets of painting which may represent other documents that you have open.

I am currently waiting for a beta version of the DXCore from DevExpress and I will be able to look into this further once I have got the threading issues sorted.

Thanks for your patience and interest.