bling.github.io

This blog has relocated to bling.github.io.

Thursday, June 23, 2011

Tools I Use To Do What I Do

It’s been a while since I last blogged, but I want to get back into it….I just haven’t thought about what I wanna blog about yet.  I’m thinking of doing some sort of multi-part series on a topic but haven’t decided on what yet.  Nonetheless, just to get the ball rolling again here’s a quick blog post on some of the tools I use to do my every day job that’s in addition to your typical .NET developer tool chain.

General

StrokeIt:  Funny name aside, on any clean install of Windows this is the first thing I install.  I load up IE and I download this, followed by Chrome/Firefox.  It is a mouse gesture program that affects all of Windows.  By holding down the right mouse button, and making gestures you can do common tasks like minimize (drag SW), maximize (drag NE), close (draw a C), and others.  It’s much faster than clicking the minimize/maximize buttons.  For web browsing, creating and close tabs are drag SE and drag NW respectively.  Back is W.  Forward is E.  Working this way is faster than any keyboard shortcut.

Console2:  It’s not a necessity, but it’s nice to be able to use a console with a better looking font.  You can easily customize to run another shell, and in my case I have Powershell as the shell.

VirtuaWin:  Ironically I don’t use any virtual desktops, but this app creates a nice middle click on any window that lets you mark it as ‘always on top’.

Vim:  It was an awful, painful 2 weeks to learn this thing but I’m sure glad I did.

Development/Visual Studio

Resharper:  This one doesn’t need much mentioning as anyone serious about programming in .NET has either heard of it, use it, or use one of its competitors like CodeRush.

AllMargins:  This hidden gem is an awesome extension has brings a bunch of very useful features to the editor.  It brings structural highlighting, highlighting matching words under caret, and RockScroll inspired scroll bar, and it does it all with little to no cost in performance.

Productivity Power Tools:  There’s only 2 that I use here: document tabs, and moving lines.  All the rest are either eye candy, negligible enhancements, or just plain too slow to be any use in large solutions (solution navigator I’m looking at you!!).

XAML Intellisense Presenter:  This is a must-have for anyone who works with XAML in VS regularly.  Resharper 6 may soon make this obsolete, however…

ILSpy/dotPeek:  Decompilers.  ‘nuff said.

Snoop:  Staple tool for WPF developers to inspect the visual/logical tree.  There’s also WPF Inspector which has a much nicer UI, but unfortunately doesn’t perform as fast.

Profiling

ANTS/dotTrace/YourKit/etc:  I’ve used many performance/memory profilers, and those 3 are the ones I like the most.  Unfortunately, they all do things the others don’t, and all these things are very useful, so you still end up needing to use all of them to fix the particular problem you’re working on.

WinDbg: It isn’t every day I use this, but I’m sure glad to know that such a thing exists and the amount of power it gives me.

Scripting

PowerGUI:  Best tool I found for editing PowerShell.  The intellisense is great and has all the things you were expect when debugging through scripts.

Miscellaneous

BareTail:  Amazing program which watches log files in real time and can highlight rows based on a search pattern.

PowerShell/Cygwin/MSYS:  I used to be a Cygwin/MSYS user because back in the day I liked to install a different Linux distribution every week so I learned some basic Bash commands and that carried over to Windows.  Since PowerShell now exists, we have a real shell in Windows, so I’ve switched over to learn it, since as a Windows developer it’s more applicable to the kind of work I do.

 

And there’s more but that’s enough for now!

2 comments:

Mike McG said...

Nice post! Gonna check out XAML Intellisense Presenter, All Margins, and PowerGUI.

For Always on Top functionality, I've relied on PowerMenu. It doesn't have the middle-click (gotta go through the app menu in the window chrome), but it also lets you Minimize to Tray. StexBar is also pretty neat-o, lets you create your own buttons on the Explorer button bar.

Maybe due to my *nix background, I also install Cygwin (including sshd which allows me to use Cygwin through PuTTY rather than cmd.exe), grepWin (regular expression per-directory content search), and Tail for Win32 (to watch log files). (In addition to Tail I install Less for Windows and hook it up to StexBar, then use Shift+F to watch files).

bling said...

Actually, Cygwin/MSYS used to be in my tool chain, but I've made an effort to learn PowerShell by making it my shell.

I'm still thrown off sometimes because PowerShell operates on objects, rather than text. Sometimes this makes it easier, sometimes harder. Grep comes to mind.

Check out BareTail if you want to watch log files in real time.