ReSharper Potential and Shortcomings
June 4th, 2007I have been reading Oren Eini's blog Ayende @ Rahien (great blog, by the way) and he recently mentioned a bug ReSharper that he wants resolved. The product has several bugs which irks me as well. It has such great potential but in so many ways it has been so disappointing.
For example, at one point it started including support for MSBuild. The features looked impressive and since I spend a lot of time working with MSBuild scripts I was interested in leveraging the new features. I use the MSBuild Community Tasks which is a collection of custom tasks that provide functionality which is not included with the standard tasks. One of the tasks is Zip. When I import these custom tasks and reference the Zip task I see an invalid error message because ReSharper ignores the Import directive.
I contacted the development team over the problem. I explained that I am using this popular collection of custom tasks. (RSRP-32886) My comments showed how the repeat the problem. It was quickly marked as non-repeatable. If you have ReSharper you can use that explanation to repeat the problem. In an email exchanged with one of the developers I was informed that internally he was following a subset of requirements for MSBuild and that I should not expect the Import directive to be supported by ReSharper and that I should instead use the UsingTask directive. I suggested that ReSharper should support the requirements for MSBuild and not a limited subset. It did not seem like an impossible feat to accomplish considering the UsingTask directive was already supported.
I also have a problem due to lacking support for build providers in ASP.NET 2.0. Since the the new SubSonic 2.0 release is out I have been interested in using the the dynamic code generation features. This is done using build providers. I discovered that this is an old ReSharper issue which has been marked as major and it is still open. (RSRP-25954) I think before the 2.5 branch is closed I think this feature should be supported.
The most recent problem I have been experiencing is an exception that was thrown each time I open a project. Apparently it chokes on some assemblies and even though I check the box to not show this exception again it happens over and over. Day by day I would try the new nightly updates up to build 379, a few builds after the bug was closed and I was still experiencing the problem. Finally in build 380 it seems the exception has been trapped properly. (RSRP-30501) However, the bug was marked as closed before build 380. It was also marked as fixed only for the 3.0 release and not 2.5.
My biggest problem is that these issues and others are not going to be resolved in the 2.5 branch. They are being pushed to a later release which is not covered as a part of license many early adopters purchased with the understanding that ReSharper was not complete but would eventually support .NET development properly. It seems to me that the JetBrains developers are working hard on the outstanding issues but the decisions guiding the releases are not serving the their customers very well. Since the first ReSharper release I have had a paid license and I have waited for a satisfactory release and I am still waiting. And while I wait I do not intend to pay for another license.
Ideally Visual Studio would be enough so that add-ins are not necessary. ReSharper was built to provide missing functionality in VS2003 and VS2005. But the coming Orcas release also addresses these shortcomings with features such as real-time compilation for C# and many new refactorings. It may not offer some of the ReSharper features but hopefully it will not have glaring shortcomings that are so difficult to ignore.
