Sunday, July 23, 2006

PaintIt has arrived

Yup the first iteration of PaintIt is here. The basic functionaliy is in place and there's more to come.
The first iteration of PaintIt is here. With it comes a minor change to the plugins page.

I will now be publishing an official version number and release date so that will know just when a pluginis different from a previous iteration that you might already have downloaded. So in this case version 1.0 of PaintIt is published exactly 1 month after my last plugin update. Unforgivable isn't it.

Anyway... back to PaintIt.
This plugin is an amalgamation of the previously released ColorCodeVars and HighlightCurrentVars enhanced to work with methods aswell as variables.

Essentially this means that you can pick the color that you would like Public, Protected, Protected Internal, Internal and Private Methods and Variables to be displayed in.
In addition seperate colors can be specified for Local, ParamIn, OParamOut, ParamRef and ParamArray variables.

Finally these colors can be overridden to allow the notion of a Current variable or method and all references to it be drawn in yet another differing color. This time allowing also the specification of a back color.

Some suggest that these measures might create a level of chaos within your code, Others sugest that this might help create a level of clarity. It all depends which way you think.

Either way I hope that this serves some as a useful tool and others as a possible example of how to create such tools.

Source Code is available as always :)


15 comments:

LE VAN PHUOC said...

Can't download the source code and the binary file.

Rory said...

Sorry man. Should be fixed to correct links now :)

Anonymous said...

Just what I was looking for, thanks.
One question: Is it possible to change the background colour of the non-current variables? (I like to have a light blue background)

Rory said...

I'll be uploading a version soon which will allow you to pick one of serveral styles for the current member paint style and which will not attempt to paint the background color of the other Scope based elements. this should ensure that things look ok on your light blue background.

Anonymous said...

Hi. It all sounds good, but how do I use your two .dll's? I have VS-2005.

Rory said...

The plugins have been developed using DevExpress's DXCore.

Currently I forget if they bind to dlls not given away free with this product.

I can tell you that they will certainly work if you own CodeRush. I recommend the latest version 2.04

Assuming that you have a copy of Coderush/Refactor Pro installed and workingfrom the default directories, then you can place my dlls in "C:\Program Files\Developer Express Inc\DXCore for Visual Studio .NET\2.0\Bin" and they should be picked up the next time that DXCore/CodeRush/RefactorPro loads.

I will be uploading newer versions of PaintIt very shortly which will fix several performance issues.

PaintIt 1.4 will also depend on another project I'm working on called DXContrib. this dll is being developed (also open source) to allow multiple plugins ( mine and other peoples) to benefit (I hope :) ) from some common code and controls I haved developed in the course of creating my plugins.

Rory said...

Appologies. the previous path should have been "C:\Program Files\Developer Express Inc\DXCore for Visual Studio .NET\2.0\Bin\Plugins"

Sorry about that :)

Anonymous said...

And it works. Nice job, andd thanks for your fast reply!

KT.
Denmark.

Rory said...

No problem. As I said, the existing version may flicker a little and become slow when scrolling. Particularly with larger source files.

I would welcome any feedback though.

You can reach me at either RoryBecker AT Gmail.com or RoryB At DXSquad.com

if you have any comments I would appriciate hearing them.

This of course applies to any of my plugins :)

If you have any ideas for other functionality I might be able to provide I would also be glad to hear those.

Finally, if any of this looks like fun then feel free to swing by the DXCore plugins newsgroup hosted on devexpress.com

Happy Coding :)

Anonymous said...

When will the next version be available?

1.4 is really slowing my Visual Studio 2005. Even when scrolling in small files.

I really like your plugin, but I have been forced to turn it off because of the slow down issue. :(

Kim Terp
Denmark

Rory said...

Yours is the first report I have had of a slow down with 1.4

It was designed, in fact, to ease just that problem.

So... time to gather some info/evidence :)

Are things highlighting as they should even with the slowing?

If not then this may point towards excessive exception throwing of some kind which would certainly slow things down.
Exceptions would be visible in the DevExpress\Diagnostics\Messages Toolwindow

Have you tried different decoration types?

Again maybe only 1 or 2 of them are slow?

Can you detail your settings(PaintIt settings)

... Oh dear.... I was about to ask you which version you were running.

but it seems that the version in the 1.4.zip file is marked as being version 1.3. further this file compares as different from the 1.3 verion in the 1.3.zip file.

It could simply be that I forgot to upgrade the version number.

If you could check the other things I listed and perhaps forward the details either here or to my gmail account listed in a previous comment against this post, then I will look into what might be wrong with the 1.4.zip file.


Thanks for your feedback

Anonymous said...

My goodness.

I was still using 1.3. I'm so sorry to disturb you.

I have now installed 1.4 and contrib 0.2 so lets see if this works better.

Sorry again for my stupidity. :)

Kim Terp

Rory said...

Just to clarify. There Are 2 Zip Files.

1.3 and 1.4

1.3 uses and includes DX_Contrib0.1.dll

1.4 uses and includes DX_Contrib0.2.dll

However PaintIt version 1.4 seems to be marked (incorrectly) as 1.3. this will likely cause much confusion.

If you could let me know if extracting the 1.4 zip into your plugin directory fixes your speed problem I would be most grateful.

(not to mention relieved:) )

I will of course, correct the version attribute in the 1.4 (Source and Bin) to read correctly and announce on my blog when this has been done.

Thanks for your time and interest :)

Anonymous said...

After using 1.4 for a while, I don't have any speed problems at all.

Kim Terp

Rory said...

Excellent Kim. I'm glad things are working out for you :)

I was hoping you'd come back and tell us what your results were.

Thats the difficulty with anon comments (ie no email/web page left)

No way to contact you and ask :)

thanks again