To ReSharper or Not To ReSharper, that is the question...

To R# or not? The Moth, aka Daniel Moth, a former MVP and now Microsoft UK dude posted a blog entry The ABCDEFGHI of setting up Visual Studio for Demos. In it he makes some good points about setting up Visual Studio when you're on the road to present. I totally agree with him on look and feel. I still use a white-on-black theme (a modified version of Jeff Attwoods look and feel) for my own day to day development because at 1600x1200 IJW. When I'm presenting though I flip over to a secondary computer account (called DemoBoy) that has all the settings for the colours and themes in Visual Studio set to default (along with a toned down desktop, bigger fonts, etc.). The font size in the IDE is set at Consolas 14 (imagine coding at that all the time) and I favour using ZoomIt for zooming in on code as it lets me do markup and such which is mucho better than changing font size (although you can get the VS Power Toys which has a font mouse wheel scroller in it).

However I was taken aback from his point on leaving the 3rd party addins at home. I'm a ReSharper and keyboard junkie and won't work without my R#. I stumble through Visual Studio when it's not installed or activated, hitting all kinds of crazy keystrokes that get me nowhere. Now grant you, when you're on the demo scene (either live or screencasting) 9 times out of 10 I've been asked "What's that little red/green thing on the side" or "How did you create that class so quickly?"

So it's a toss up. I'm guilty of using R# in my IDE but can't fathom not using it, even for demos. I mean, I'm going to stumble through a demo looking pretty silly when I pound on my keyboard hitting Ctrl+N and not getting the list I expect. It's unnatural to me. Like not writing unit tests.

Are you presenting code somewhere? Do you suffer from the same fate as I? Do you suck it up and learn the dreaded default Visual Studio keystrokes or do you factor in the interruption you're going to get explaining R# to someone. What say you peeps? R# or no, when it comes to presenting?


  • Daniel has a good point about not distracting the audience with third-party add-ins. However if you're coding something live, bring on ReSharper, TestDriven.NET, and all your other tools. In agile talks, you're often demoing not only what you're doing, but how you're doing it. It would be like demonstrating how to build Windows Forms without using the Forms Designer. Personally I feel no guilt in using ReSharper in code-focused demos.

  • They do help to move the demo along a bit faster.

  • My theory is, if you're teaching or doing a demo for a 101 level crowd keep the third-party products at home. It'll confuse them, they'll go looking for the little light bulbs or think they screwed something up when their code doesn't magically appear like yours did. Using R# for a 101-level screencast is even worse.

    Now if you're preaching to an advanced crowd they want to get to the concepts as fast as possible and probably have their own 15 plugins and either they'll be nodding in agreement with your choice of R# or they'll battle you over why you're not using Product X instead :)

    That's just my rule of thumb.

  • I use ReSharper on my demos in my classroom. I think it's important to use/talk about "things" that can help us, programmers, to improve our work and ReSharper it's a tool from god :)

  • Bil,

    I wouldn't take you seriously as a presenter on code centric topics if I didn't see a ReSharper (or other tool) menu on your Visual Studio window. If you don't do enough coding to feel the pain of not having a ReSharper, then you don't do enough coding to be able to speak about coding.

    In all seriousness though, ReSharper adds a lot of code navigation ability that's lacking in naked VS. It's frequently valuable in demos and talks to get around the code fast to find what you're looking for to answer questions. I feel better going in with R# for only that reason.

  • usually R# was hogging my IDE, so i got used to work without it.

  • I don't buy the argument that you'll lose some audience members. Because the counter is that you'll inspire others to look into getting a tool that will make them more productive. How dumb do you want to assume your audience is that they can't follow along when you create a class with a few keystrokes?

    I like to assume people are smart and have them prove me wrong than the other way around. Leave teaching to the lowest common denominator to the public school system.

  • It's hard for some people to follow a presenter when they use tools that the audience has never seen before. On the other hand, if you show all your nifty toys to the audience while you're presenting, there's a good chance that I will see some new tool that I didn't know about that will make me a more efficient developer or I'll see a new way to use a tool that I already know about that will help me out also. This happened during one of Oren's presentations at DevTeach where I learned things about Rhino that have saved me probably hours of time. Overall, I say use your tools but assume the audience knows nothing about them and you'll have to explain as you go. Remember, developers are smart so we'll pick up on whatever you're doing if you explain it well the first time.,

  • Kyle: To be clear, nobody is assuming anyone else to be dumb. My view is that if I bring in something new during a demo then I need to explain it. During a demo I just don't want to waste any cycles explaining anything beyond the absolute minimum.

  • Speaking from an audience attendee perspective, I really enjoy watching a presentation where the presenter is using a productivity tool I've never seen before. This is a value-add for me as I not only learn about the presentation topic, I learn some new unrelated tricks that can help me as well.

    I remember watching a demo given by John Bristowe and I noted the "zoomit" tool he was using to magnify his screen. I have found this tool to be invaluable in presentations, and company board room sessions. I'm really thankful to John for making me aware of this tool.

    Speaking from a presenter perspective, I have noticed that sometimes people will interrupt mid stream and ask "What's that?" (Referring to some tool such as ReSharper). I don't see the harm in that as I assume they are asking in the same context as I outlined above.

    If someone walks away from my presentation learning something new that can help them, even if it is a productivity or presentation tool I've been using, then mission accomplished I say.

  • I think using R# during demo's is fine, I have done it and think it is fine. However, what you need to be careful of is using keyboard short cuts. The problem is YOU know what shortcut you just used, but your viewers do not. This can lead to confusion.

    My points.
    3rd party tools ok by me
    Shortcuts should be avoided if possible.

Comments have been disabled for this content.