I?ve been working with .NET tools for a a couple of years now I wanted
to send some requests for the upcoming ReSharper IDE (if I didn?t do, I
couldn?t really complain about anything I didn?t like when it came out. :) )
Here are my requests, in priority order, most important first
Request 1 ? Solution and Project Support
My ?most wanted? feature for the ReSharper IDE ? VS solution and project
support. Customers are probably going to migrate gradually to the
ReSharper IDE, with teams using both tools at the same time. I think
that if ReSharper did not support VS solutions and projects that would
pose a significant barrier to such parallel development.
This whole area is different to the Java world where there was no
?de-facto? for project structure, references, etc. Instead, Java
projects tend to use Ant as their common language for such things. In
.NET, people use NAnt, but not for the same thing. On projects I?ve
worked on recently our NAnt scripts just have 1 line to do the
compilation of the entire solution ? either an call to devenv or
a use of the NAnt ]]> task. Most of the time, developers never
end up using the NAnt script anyway ? its just there for build
automation or extra tasks (like database setup/teardown).
In summary, I think ReSharper must support .sln?s and .csproj?s for both
VS 2003 and 2005. NAnt and msbuild support is a much, much lower
priority that Ant support in IDEA, in my opinion.
Request 2 ? Jetbrains magic
The next most wanted feature is at least the same amount of code
navigation and refactoring that?s already in ReSharper. To me, ReSharper
1.0 was already good enough to enable the step-change in development
that I had when moving to IDEA over 3 years ago. Anything more than what
is in ReSharper 1.0 would be welcome but to me not critical.
Request 3 ? Test Driven Development support
In Visual Studio I use the ?TestDriven.NET? or ?NUnitAddin? product. Its
not as good as the JUnit support in IDEA, but its still pretty good. One
thing it does enable me to do is easily run unit tests with the
debugger. It would be somewhat painful to lose this integration, so I
would request either in-built NUnit support for the ReSharper IDE, or a
plugin mechanism that would allow the TestDriven.NET project to easily
provide a ReSharper version of their tool.
Request 4 ? Basic SCM integration
The SCM integration in Visual Studio can be painful (if you?re not using
VSS, which of course has its other major issues), but does work to some
extent. I?ve just been on a project which used Perforce, which itself
has support for Microsoft?s SCC IDE. A few things didn?t seem to work
(the most important one being ?delete?), but was good enough that 95% of
the time developers didn?t need to leave the IDE.
I think ReSharper should have some amount of SCM support. Visual
SourceSafe is probably top priority because of the number of people that
use it, closely followed by CVS and Perforce, then Subversion.
Personally I?d like to put Subversion at the top, but it doesn?t have
the user base to warrant that priority yet, I don?t think.
- Nice to Haves ?
These are things that I would enjoy having, but not critical. Again in
Request 5 ? Enhanced SCM integration
When I rename a class in ReSharper IDE, I?d like it to do the ?most
correct? thing in my SCM tool. In CVS, that would be a ?remove? and
?add? with part of the commit message saying what happened. In Perforce
it should do a ?p4 integrate? for the new file with a simultaneous ?p4
delete? for the old file. In Subversion it should do an ?svn move?.
Tracking file refactorings through SCM would be nice.
Request 6 ? NMock support
Probably way below your radar this one, but I?d find it useful if
shift-F6, sorry, I mean ?Rename Refactoring? supported NMock. NMock uses
string literals to reference Type and Method names, so a rename
refactoring tends to require some manual updates to get the tests
passing. I?m a TDD zealot though, and I don?t know if you guys buy-in to
the whole mocking thing. :)
Request 7 ? GTK# implementation
OK, this one is probably even more way out there, but one interesting
option would be to implement the whole of ReSharper IDE in GTK#. Why?
Because then it really opens up Mono (and so OSX and Linux) as a viable
.NET development platform. I personally haven?t used Mono yet, but the
lack of 'integrated with Visual Studio' tool support is one of the
reasons I haven?t.
That?s all. I hope these ideas are useful to some extent, and I look
forward to the ReSharper IDE EAP!
This was the biggest change, and surprise, to me in switching to
.NET from Java. In Java, I would have an IDE open, plus a couple of
command shells, a file explorer, an SCM tool, etc. With .NET development
all I tend to have opened is Visual Studio, and everything is run from