Tuesday, October 21, 2008

Clone Detective

Clone Detective is a plugin for Visual Studio - not Resharper - that searches for duplicate source code in a solution.

From the website:
"Clone Detective is a Visual Studio integration that allows you to analyze C# projects for source code that is duplicated somewhere else. Having duplicates can easily lead to inconsistencies and often is an indicator for poorly factored code."

It is pretty similar to an idea I had for Agent Johnson, but this one actually works. I played around with it, and while I had some difficult getting it to find my files, it seems to find work.

Resharper nightly builds

It looks like Resharper nightly builds are up and running again after a long hiatus.

I haven't installed it, but it seems to be mostly fixes and no new features.

I wonder if they are using TeamCity now.

Monday, October 20, 2008

StyleCop Plugin for Resharper

The StyleCop plugin has been added to the list of plugins for Resharper on JetBrains homepage.

Wednesday, October 8, 2008

Neovolve plugin

While researching ICodeCleanupModule I found the Neovolve plugin by Rory Primrose.

From the description:
"...This formatting function allows for type declarations to be formatted between their alias type and their CLR type. For example, depending of the format settings defined in a code cleanup profile, bool can be converted to Boolean or Boolean converted to bool."

Sounds cool.

SharpProbe

Just stumbled across SharpProbe which is apparently a plugin to help write plugins.

I have no idea of how it works.

Tuesday, October 7, 2008

Agent Smith 1.3.2

Just saw that Agent Smith 1.3.2 is out.

Resharper 4.5

Ilya on Resharper 4.5:

"4.5 build is not stable and is being under continious refactoring. We don't have specific date set for opening public nightly builds yet. I'm pretty sure it will not be public in October, though."

Agent Johnson 1.5.0

Just uploaded version 1.5.0.

And documented some of the new stuff.

I am always hesitant to upload new stuff as I always know that there are things that could be better. But sometimes you have to let it go and see what happens.

BlinkCode

BlinkCode is a large set of Resharper Live templates. They were made for Resharper 3.1, but it looks like they still work for 4.1.

Sort Switch Cases

I have implemented a small context action that sorts the cases of a switch statement. This is only applicable if the type of the switch statement is a string, enum or integer.

And I may have forgotten to blog about the convert abstract to "normal" class refactoring. This refactoring removes the abstract modifier from the class and converts all abstract methods to virtual.

.Net Code Inspection 1.5

SafeDevelop released 1.5 of the .NET Code Inspection plugin.

Great stuff, if you ask me.

Friday, October 3, 2008

Make Abstract Context Action

Ole asked me to do context actions that make a method abstract or virtual.

It turned out that Resharper already had a context action for making an abstract method virtual, but not the other way around.

So I have implemented the "Make abstract" context action for methods and properties.

I have also fixed some bugs in Smart Generate and Check Assignment To String.

Wednesday, October 1, 2008

StyleCop

Well, I may not like StyleCop, but my company is definitely moving in that direction. So Ole and I are working with StyleCop this week.

I am pretty amazed that Resharper can be configured to support 99% of StyleCop without requiring plugins or patches. That says something about the flexibility of Resharper.

There are 2 issues that we cannot get to work:

1) Inserting the required File Header comment at the top of the file. If you set up a File Header in Resharper and run Reformat Code, it will simply overwrites the file header each time. The work-around is to have a Live Template to insert the File Header and not have Resharper update it when reformatting code.

2) Blank line between get and set accessors in a property. You have to do this manually. To me this is just a stupid rule in StyleCop, but I have to live with it.

I'll post our Code Style and Type Member Layout as soon as it is done.