<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>Eleutian SpeakENG Development Blog - coderush</title>
    <link>http://blog.eleutian.com/</link>
    <description />
    <language>en-us</language>
    <copyright>Eleutian Technology</copyright>
    <lastBuildDate>Mon, 09 Apr 2007 18:29:41 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>aaron@eleutian.com</managingEditor>
    <webMaster>aaron@eleutian.com</webMaster>
    <item>
      <trackback:ping>http://blog.eleutian.com/Trackback.aspx?guid=b14ae562-0775-4158-8123-43582d9823d2</trackback:ping>
      <pingback:server>http://blog.eleutian.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.eleutian.com/PermaLink,guid,b14ae562-0775-4158-8123-43582d9823d2.aspx</pingback:target>
      <dc:creator>Jacob</dc:creator>
      <wfw:comment>http://blog.eleutian.com/CommentView,guid,b14ae562-0775-4158-8123-43582d9823d2.aspx</wfw:comment>
      <wfw:commentRss>http://blog.eleutian.com/SyndicationService.asmx/GetEntryCommentsRss?guid=b14ae562-0775-4158-8123-43582d9823d2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We use a ton of Visual Studio plugins. CodeRush is one of them. Its templates are
awesome, and its got a few nice refactorings that Resharper doesn't have. They're
a little tricky to get working together, but not impossible. One thing I use a ton
is GotoType under Resharper. One thing I find myself doing all the time is going between
a class and it's fixture. Because I couldn't see anything else that would do it, I
tossed together a CodeRush plugin for that very thing.
</p>
        <p>
You just bind a key (I use Ctrl+Shift+X) to Eleutian Goto Fixture. All it does is
do a regular expression search through type names in your solution. Say you're
on HomeController. Because the class name doesn't end in "Tests" it will look for
one that ends with "HomeControllerTests". If the class were HomeControllerTests, it
would strip the suffix off and look for a class with a name that ends with "HomeController".
It's missing a few things I still want. For example, for multiple matches I would
like a menu, or the ability to cycle through them a la tab completion. I'm not sure
of the best way to do the menu and haven't decided if I'll just do the cycling. If
there's interest I'll think more about it.
</p>
        <p>
There are a few optimizations, the first is that it will only look in projects ending
with ".Tests" when looking for the test fixture. Also, it will keep a rolling queue
of the last 10 types you jumped from and check those first. Both are handy when you
have 40 projects and tons of classes. I started off with other loftier goals for the
plugin, which might explain why there's so much other code.
</p>
        <p>
In order to install this thing drop the binaries into your C:\Program Files\Developer
Express Inc\DXCore for Visual Studio .NET\2.0\Bin\Plugins directory. Start Visual
Studio and choose DevExpress | Options and then find the Shortcuts tab. In there,
you can add a new shortcut (there's an icon in the lop left) and bind the keystroke
you desire to the Eleutian Goto Fixture command.
</p>
        <p>
It's my first CR plugin, so forgive me.
</p>
        <p>
          <a href="http://blog.eleutian.com/download/CR_Searcher.zip">Source and Binaries</a>
        </p>
        <img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=b14ae562-0775-4158-8123-43582d9823d2" />
      </body>
      <title>CR_Searcher</title>
      <guid isPermaLink="false">http://blog.eleutian.com/PermaLink,guid,b14ae562-0775-4158-8123-43582d9823d2.aspx</guid>
      <link>http://blog.eleutian.com/2007/04/09/CRSearcher.aspx</link>
      <pubDate>Mon, 09 Apr 2007 18:29:41 GMT</pubDate>
      <description>&lt;p&gt;
We use a ton of Visual Studio plugins. CodeRush is one of them. Its templates are
awesome, and its got&amp;nbsp;a few nice refactorings that Resharper doesn't have. They're
a little tricky to get working together, but not impossible. One thing I use a ton
is GotoType under Resharper. One thing I find myself doing all the time is going between
a class and it's fixture. Because I couldn't see anything else that would do it, I
tossed together a CodeRush plugin for that very thing.
&lt;/p&gt;
&lt;p&gt;
You just bind a key (I use Ctrl+Shift+X) to Eleutian Goto Fixture. All it does is
do a regular expression search through type names&amp;nbsp;in your solution. Say you're
on HomeController. Because the class name doesn't end in "Tests" it will look for
one that ends with "HomeControllerTests". If the class were HomeControllerTests, it
would strip the suffix off and look for a class with a name that ends with "HomeController".
It's missing a few things I still want. For example, for multiple matches I would
like a menu, or the ability to cycle through them a la tab completion. I'm not sure
of the best way to do the menu and haven't decided if I'll just do the cycling. If
there's interest I'll think more about it.
&lt;/p&gt;
&lt;p&gt;
There are a few optimizations, the first is that it will only look in projects ending
with ".Tests" when looking for the test fixture. Also, it will keep a rolling queue
of the last 10 types you jumped from and check those first. Both are handy when you
have 40 projects and tons of classes. I started off with other loftier goals for the
plugin, which might explain why there's so much other code.
&lt;/p&gt;
&lt;p&gt;
In order to install this thing drop the binaries into your C:\Program Files\Developer
Express Inc\DXCore for Visual Studio .NET\2.0\Bin\Plugins directory. Start Visual
Studio and choose DevExpress | Options and then find the Shortcuts tab. In there,
you can add a new shortcut (there's an icon in the lop left) and bind the keystroke
you desire to the Eleutian Goto Fixture command.
&lt;/p&gt;
&lt;p&gt;
It's my first CR plugin, so forgive me.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.eleutian.com/download/CR_Searcher.zip"&gt;Source and Binaries&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=b14ae562-0775-4158-8123-43582d9823d2" /&gt;</description>
      <comments>http://blog.eleutian.com/CommentView,guid,b14ae562-0775-4158-8123-43582d9823d2.aspx</comments>
      <category>coderush</category>
      <category>productivity</category>
      <category>source</category>
      <category>tools</category>
    </item>
    <item>
      <trackback:ping>http://blog.eleutian.com/Trackback.aspx?guid=cc69a4d9-b640-416f-a02a-c889aa97c996</trackback:ping>
      <pingback:server>http://blog.eleutian.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.eleutian.com/PermaLink,guid,cc69a4d9-b640-416f-a02a-c889aa97c996.aspx</pingback:target>
      <dc:creator>Aaron</dc:creator>
      <wfw:comment>http://blog.eleutian.com/CommentView,guid,cc69a4d9-b640-416f-a02a-c889aa97c996.aspx</wfw:comment>
      <wfw:commentRss>http://blog.eleutian.com/SyndicationService.asmx/GetEntryCommentsRss?guid=cc69a4d9-b640-416f-a02a-c889aa97c996</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
As promised, here's the plugin I was talking about and the <a href="http://www.ayende.com/projects/rhino-mocks.aspx">Rhino
Mocks</a> templates.
</p>
        <p>
          <a href="http://blog.eleutian.com/download/CSharp_Root_Rhino.Mocks.xml">Rhino Mocks
Templates</a> - Import these in your Template config.
</p>
        <p>
          <a href="http://blog.eleutian.com/download/CR_AddClassAttribute.zip">Plugin</a> -
Drop this in your "%PROGRAMFILES%\Developer Express Inc\DXCore for Visual Studio .NET\2.0\Bin\Plugins"
Oh, and yeah I know it's named after only one of the commands in there, but I was
too lazy after I added the other commands to rename the project. You'll see the new
commands in the Template configuration in the Command dropdown.
</p>
        <p>
          <a href="http://blog.eleutian.com/download/src-CR_AddClassAttribute.zip">Plugin Source</a> -
I know, not the source you want from us right now and it's pretty ugly, but it's
a start, right? 
</p>
        <img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=cc69a4d9-b640-416f-a02a-c889aa97c996" />
      </body>
      <title>CodeRush Plugin/Plugin Source/Templates</title>
      <guid isPermaLink="false">http://blog.eleutian.com/PermaLink,guid,cc69a4d9-b640-416f-a02a-c889aa97c996.aspx</guid>
      <link>http://blog.eleutian.com/2007/02/03/CodeRushPluginPluginSourceTemplates.aspx</link>
      <pubDate>Sat, 03 Feb 2007 02:00:18 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
As promised, here's the plugin I was talking about and the &lt;a href="http://www.ayende.com/projects/rhino-mocks.aspx"&gt;Rhino
Mocks&lt;/a&gt;&amp;nbsp;templates.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.eleutian.com/download/CSharp_Root_Rhino.Mocks.xml"&gt;Rhino Mocks
Templates&lt;/a&gt; - Import these in your Template config.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.eleutian.com/download/CR_AddClassAttribute.zip"&gt;Plugin&lt;/a&gt;&amp;nbsp;-
Drop this in your "%PROGRAMFILES%\Developer Express Inc\DXCore for Visual Studio .NET\2.0\Bin\Plugins"
Oh, and yeah I know it's named after only one of the commands in there, but I was
too lazy after I added the other commands to rename the project. You'll see the new
commands in the Template configuration in the Command dropdown.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.eleutian.com/download/src-CR_AddClassAttribute.zip"&gt;Plugin Source&lt;/a&gt;&amp;nbsp;-
I know, not the source you want from us&amp;nbsp;right now and it's pretty ugly, but it's
a start, right? 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=cc69a4d9-b640-416f-a02a-c889aa97c996" /&gt;</description>
      <comments>http://blog.eleutian.com/CommentView,guid,cc69a4d9-b640-416f-a02a-c889aa97c996.aspx</comments>
      <category>development</category>
      <category>productivity</category>
      <category>tools</category>
      <category>coderush</category>
      <category>source</category>
    </item>
    <item>
      <trackback:ping>http://blog.eleutian.com/Trackback.aspx?guid=1b638dc0-d44c-419a-af9b-4e1c039fece2</trackback:ping>
      <pingback:server>http://blog.eleutian.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.eleutian.com/PermaLink,guid,1b638dc0-d44c-419a-af9b-4e1c039fece2.aspx</pingback:target>
      <dc:creator>Aaron</dc:creator>
      <wfw:comment>http://blog.eleutian.com/CommentView,guid,1b638dc0-d44c-419a-af9b-4e1c039fece2.aspx</wfw:comment>
      <wfw:commentRss>http://blog.eleutian.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1b638dc0-d44c-419a-af9b-4e1c039fece2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I mentioned before that we love templates in <a href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/Index.xml">CodeRush</a> and
that they're incredibly customizable. I wanted to give a few examples of that
and share one of the plugins I wrote for it.
</p>
        <p>
We use <a href="http://www.ayende.com/blog">Ayende's</a> <a href="http://www.ayende.com/projects/rhino-mocks.aspx">Rhino
Mocks</a> quite a bit. We're also lazy, so I came up with a set of templates
for it:
</p>
        <ul>
          <li>
tfm - Expands to a TestFixture that includes a MockRepository already. 
</li>
          <li>
scm/sdm - Takes whatever is in your clipboard and expands to this: <pre class="csharpcode">someClass = _mocks.CreateMock&lt;SomeClass&gt;();</pre></li>
          <li>
=cm/=dm - Similar to scm/sdm, but for when you don't have anything in your clipboard 
</li>
          <li>
mu/mo - Creates a using(_mocks.[Un]ordered()) block 
</li>
          <li>
mra - ReplayAll 
</li>
          <li>
mv/mva - Verify or VerifyAll 
</li>
          <li>
ec - Expect.Call().Return();</li>
        </ul>
        <p>
One thing I noticed while I was using these is that sometimes I wanted to use them
after I'd already written some code that would be in the expansion... for example,
say I've already got a class called SomeClassTests but I want to add the TestFixture
attribute, add the MockRepository instance variable, etc. Before I had to delete the
class and do a tfm on a blank slate. Instead, I spent a few minutes writing a
template command plugin that allows you to add an attribute to the class your cursor
is in. That enabled me to do what you see in the video below. 
</p>
        <p>
Also, say I've already typed the method I was going to set a rhino expectation on.
Normally, I'd just have to go to the beginning of the line, type Expect.Call(, go
to the end of the line, type the rest. So to solve this, I wrote a few commands: DeleteSemicolon
(this one seems a bit buggy w/ the latest <a href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/Index.xml">CodeRush</a>),
GotoBeginningOfLine, and GotoEndOfLine. Now ec, ae, an, ann, etc can all be written
to add code around code I've already written as you'll see in the video below.
</p>
        <p>
Bear with me on this video, it's my first attempt at something like this. If anyone
can suggest something better than <a href="http://www.youtube.com">YouTube</a> and
a screen recorder for stuff like this that's still free, I'd appreciate it. I don't
like being limited to 320x240.<br /></p>
        <p>
Also, the astute will notice that I'm not running <a href="http://www.jetbrains.com/resharper/">Resharper</a> on
this machine. This is my home machine and once again I'm not quite sure about the
stability of it (it likes to crash every time I close VS, it breaks some autocomplete
scenarios, etc). There are some autocomplete issues in this video, but i think that's
just because I had multiple classes named the same thing in this project. 
<br /></p>
        <p>
I tried to go slowly so that you can see the templates before I expand them so that
hopefully you can get a feel as to how easy it is to write code when you've got templates
this powerful. I'm going to upload the source for the plugins as well as my <a href="http://www.ayende.com/projects/rhino-mocks.aspx">Rhino
Mocks</a> templates a bit later today.
</p>
        <embed src="http://www.youtube.com/v/3XIPeT0rAvQ" type="application/x-shockwave-flash" height="350" width="600">
          <img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=1b638dc0-d44c-419a-af9b-4e1c039fece2" />
        </embed>
      </body>
      <title>Rhino Mocks CodeRush Templates and Plugins</title>
      <guid isPermaLink="false">http://blog.eleutian.com/PermaLink,guid,1b638dc0-d44c-419a-af9b-4e1c039fece2.aspx</guid>
      <link>http://blog.eleutian.com/2007/02/02/RhinoMocksCodeRushTemplatesAndPlugins.aspx</link>
      <pubDate>Fri, 02 Feb 2007 18:04:00 GMT</pubDate>
      <description>&lt;p&gt;
I mentioned before that we love templates in &lt;a href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/Index.xml"&gt;CodeRush&lt;/a&gt; and
that they're incredibly customizable.&amp;nbsp;I wanted to give a few examples of that
and share one of the plugins I wrote for it.
&lt;/p&gt;
&lt;p&gt;
We use &lt;a href="http://www.ayende.com/blog"&gt;Ayende's&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.ayende.com/projects/rhino-mocks.aspx"&gt;Rhino
Mocks&lt;/a&gt;&amp;nbsp;quite a bit. We're also lazy, so I came up with a set of templates
for it:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
tfm - Expands to a TestFixture that includes a MockRepository already. 
&lt;/li&gt;
&lt;li&gt;
scm/sdm - Takes whatever is in your clipboard and expands to this: &lt;pre class="csharpcode"&gt;someClass = _mocks.CreateMock&amp;lt;SomeClass&amp;gt;();&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
=cm/=dm - Similar to scm/sdm, but for when you don't have anything in your clipboard 
&lt;/li&gt;
&lt;li&gt;
mu/mo - Creates a using(_mocks.[Un]ordered()) block 
&lt;/li&gt;
&lt;li&gt;
mra - ReplayAll 
&lt;/li&gt;
&lt;li&gt;
mv/mva - Verify or VerifyAll 
&lt;/li&gt;
&lt;li&gt;
ec - Expect.Call().Return();&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
One thing I noticed while I was using these is that sometimes I wanted to use them
after I'd already written some code that would be in the expansion... for example,
say I've already got a class called SomeClassTests but I want to add the TestFixture
attribute, add the MockRepository instance variable, etc. Before I had to delete the
class and do a tfm on a blank slate.&amp;nbsp;Instead, I spent a few minutes writing a
template command plugin that allows you to add an attribute to the class your cursor
is in.&amp;nbsp;That enabled me to do what you see in the video below. 
&lt;/p&gt;
&lt;p&gt;
Also, say I've already typed the method I was going to set a rhino expectation on.
Normally, I'd just have to go to the beginning of the line, type Expect.Call(, go
to the end of the line, type the rest. So to solve this, I wrote a few commands: DeleteSemicolon
(this one seems a bit buggy w/ the latest &lt;a href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/Index.xml"&gt;CodeRush&lt;/a&gt;),
GotoBeginningOfLine, and GotoEndOfLine.&amp;nbsp;Now ec, ae, an, ann, etc can all be written
to add code around code I've already written as you'll see in the video below.
&lt;/p&gt;
&lt;p&gt;
Bear with me on this video, it's my first attempt at something like this. If anyone
can suggest something better than &lt;a href="http://www.youtube.com"&gt;YouTube&lt;/a&gt; and
a screen recorder for stuff like this that's still free, I'd appreciate it. I don't
like being limited to 320x240.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Also, the astute will notice that I'm not running &lt;a href="http://www.jetbrains.com/resharper/"&gt;Resharper&lt;/a&gt; on
this machine. This is my home machine and once again I'm not quite sure about the
stability of it (it likes to crash every time I close VS, it breaks some autocomplete
scenarios, etc). There are some autocomplete issues in this video, but i think that's
just because I had multiple classes named the same thing in this project. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
I tried to go slowly so that you can see the templates before I expand them so that
hopefully you can get a feel as to how easy it is to write code when you've got templates
this powerful. I'm going to upload the source for the plugins as well as my &lt;a href="http://www.ayende.com/projects/rhino-mocks.aspx"&gt;Rhino
Mocks&lt;/a&gt; templates a bit later today.
&lt;/p&gt;
&lt;embed src="http://www.youtube.com/v/3XIPeT0rAvQ" type="application/x-shockwave-flash" height="350" width="600"&gt;&lt;img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=1b638dc0-d44c-419a-af9b-4e1c039fece2" /&gt;</description>
      <comments>http://blog.eleutian.com/CommentView,guid,1b638dc0-d44c-419a-af9b-4e1c039fece2.aspx</comments>
      <category>coderush</category>
      <category>development</category>
      <category>productivity</category>
      <category>tools</category>
      <category>media</category>
    </item>
    <item>
      <trackback:ping>http://blog.eleutian.com/Trackback.aspx?guid=8e87f832-d140-47bd-9a98-f7465c6ebfb0</trackback:ping>
      <pingback:server>http://blog.eleutian.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.eleutian.com/PermaLink,guid,8e87f832-d140-47bd-9a98-f7465c6ebfb0.aspx</pingback:target>
      <dc:creator>Aaron</dc:creator>
      <wfw:comment>http://blog.eleutian.com/CommentView,guid,8e87f832-d140-47bd-9a98-f7465c6ebfb0.aspx</wfw:comment>
      <wfw:commentRss>http://blog.eleutian.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8e87f832-d140-47bd-9a98-f7465c6ebfb0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My team and I are whores when it comes to productivity tools. At the moment I have
and use so many in concer it's kind of amusing. I've actually spent a decent
amount of time working with the various tool authors to get their tools to play more
friendly so that I can use them together. Here's a rundown of some of the tools
I use every day:
</p>
        <ul>
          <li>
            <a title="CodeRush with Refactor! Pro" href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/">CodeRush
with Refactor! Pro</a>
          </li>
          <ul>
            <li>
I'm pretty sure I couldn't happily write code without this, and I even disable
or neglect half the features. 
</li>
            <li>
I use and customize the templates heavily. They're so customizable its stupid.
You can literrally do just about anything, and if you can't do it, you can write a
plugin to help you do it and integrate it with any other template. I'll post the set
of plugins I wrote for CodeRush later.</li>
            <li>
The refactorings are great and rank high on the visual appeal, discoverability and
usability scales.</li>
          </ul>
          <li>
            <a title="ViEmu (Visual Studio vi/vim emulation)" href="http://www.viemu.com/">ViEmu
(Visual Studio vi/vim emulation)</a>
          </li>
          <ul>
            <li>
I almost took it upon myself to write this. When I worked at Microsoft, I submitted
requests to the Visual Studio team to write this. <a title="Jon's Blog" href="http://blog.ngedit.com/">Jon</a> came
to the rescue and implemented the now near-perfect ViEmu and he will forever be my
hero.</li>
            <li>
Vim is really so much faster than regular text editing it makes transferring code
from your mind to the screen much less of a barrier. If you haven't heard of it, used
it, given it a good shot, or even if you haven't fallen in love with it, I'd strongly
recommend doing all of those things. Here are some resources to get you started:</li>
            <ul>
              <li>
                <a href="http://jmcpherson.org/editing.html">Efficient Editing With vim</a>
              </li>
              <li>
                <a href="http://blog.ngedit.com/2005/06/03/the-vi-input-model/trackback/">The vi input
model</a>
              </li>
              <li>
                <a href="http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html">Graphical
vi/vim Cheat Sheet and Tutorial</a>
              </li>
            </ul>
            <li>
One quick tip: use Ctrl+[ instead of escape to get out of insert mode, it'll save
you at least 15 seconds a day!</li>
          </ul>
          <li>
            <a title="Resharper" href="http://www.jetbrains.com/resharper/">ReSharper</a>
          </li>
          <ul>
            <li>
This one's new to me. I've tried it twice in the past and it's only done bad things--crashed,
played badly with CodeRush or ViEmu, etc. The latest version however, seems to play
fine with everything I have installed, so it's going to stay. Yes, I use CodeRush
AND Resharper. I told you I was a productivity tool whore.</li>
            <li>
The biggest feature for me is the <a title="Error Highlighting and QuickFixes" href="http://www.jetbrains.com/resharper/features/highlighting.html">Error
Highlighting and QuickFixes</a>. Most of the refactorings CodeRush does (often better)
but there are a few that are pretty slick.</li>
            <li>
The navigation features are great too. Real fast and real usable, much better than
scrolling through our 40 project solution.</li>
          </ul>
        </ul>
        <img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=8e87f832-d140-47bd-9a98-f7465c6ebfb0" />
      </body>
      <title>Productivity Tools (part 1)</title>
      <guid isPermaLink="false">http://blog.eleutian.com/PermaLink,guid,8e87f832-d140-47bd-9a98-f7465c6ebfb0.aspx</guid>
      <link>http://blog.eleutian.com/2007/01/28/ProductivityToolsPart1.aspx</link>
      <pubDate>Sun, 28 Jan 2007 18:54:23 GMT</pubDate>
      <description>&lt;p&gt;
My team and I are whores when it comes to productivity tools. At the moment I have
and use so many in concer it's kind of amusing.&amp;nbsp;I've actually spent a decent
amount of time working with the various tool authors to get their tools to play more
friendly so that I can use them together. Here's a rundown of some of&amp;nbsp;the tools
I use every day:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a title="CodeRush with Refactor! Pro" href="http://www.devexpress.com/Products/NET/IDETools/CodeRush/"&gt;CodeRush
with Refactor! Pro&lt;/a&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
I'm pretty sure&amp;nbsp;I couldn't happily write code without this, and I even disable
or neglect half the features. 
&lt;/li&gt;
&lt;li&gt;
I use and customize the templates heavily.&amp;nbsp;They're so customizable its stupid.
You can literrally do just about anything, and if you can't do it, you can write a
plugin to help you do it and integrate it with any other template. I'll post the set
of plugins I wrote for CodeRush later.&lt;/li&gt;
&lt;li&gt;
The refactorings are great and rank high on the visual appeal, discoverability and
usability scales.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;a title="ViEmu (Visual Studio vi/vim emulation)" href="http://www.viemu.com/"&gt;ViEmu
(Visual Studio vi/vim emulation)&lt;/a&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
I almost took it upon myself to write this.&amp;nbsp;When I worked at Microsoft, I submitted
requests to the Visual Studio team to write this. &lt;a title="Jon's Blog" href="http://blog.ngedit.com/"&gt;Jon&lt;/a&gt;&amp;nbsp;came
to the rescue and implemented the now near-perfect ViEmu and he will forever be my
hero.&lt;/li&gt;
&lt;li&gt;
Vim is really so much faster than regular text editing it makes transferring code
from your mind to the screen much less of a barrier. If you haven't heard of it, used
it, given it a good shot, or even if you haven't fallen in love with it, I'd strongly
recommend doing all of those things. Here are some resources to get you started:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://jmcpherson.org/editing.html"&gt;Efficient Editing With vim&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://blog.ngedit.com/2005/06/03/the-vi-input-model/trackback/"&gt;The vi input
model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html"&gt;Graphical
vi/vim Cheat Sheet and Tutorial&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
One quick tip: use Ctrl+[ instead of escape to get out of insert mode, it'll save
you at least 15 seconds a day!&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;a title="Resharper" href="http://www.jetbrains.com/resharper/"&gt;ReSharper&lt;/a&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
This one's new to me. I've tried it twice in the past and it's only done bad things--crashed,
played badly with CodeRush or ViEmu, etc. The latest version however, seems to play
fine with everything I have installed, so it's going to stay. Yes, I use CodeRush
AND Resharper. I told you I was a productivity tool whore.&lt;/li&gt;
&lt;li&gt;
The biggest feature for me is the &lt;a title="Error Highlighting and QuickFixes" href="http://www.jetbrains.com/resharper/features/highlighting.html"&gt;Error
Highlighting and QuickFixes&lt;/a&gt;. Most of the refactorings CodeRush does (often better)
but there are a few that are pretty slick.&lt;/li&gt;
&lt;li&gt;
The navigation features are great too. Real fast and real usable, much better than
scrolling through our 40 project solution.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://blog.eleutian.com/aggbug.ashx?id=8e87f832-d140-47bd-9a98-f7465c6ebfb0" /&gt;</description>
      <comments>http://blog.eleutian.com/CommentView,guid,8e87f832-d140-47bd-9a98-f7465c6ebfb0.aspx</comments>
      <category>coderush</category>
      <category>development</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
  </channel>
</rss>