Developer and Power User Tools for Windows

This is a collection of the important tools for development and productivity I currently use (C#, ASP.NET, WPF, JavaScript) . Please let me know in the comments if I miss out a must-have tool.

.NET

  • Visual Studio 2017
  • LINQPad – Amazing power-tool. Instantly test .NET code snippets, query your database, create and analyse LINQ/Entity framework queries. Most used by me to create, analyse and run LINQ to entities queries. It will show the generated SQL and query you database for you. Great learning utility also. It has a ton of code examples from the book C# 3/4/5/6/7 in a Nutshell.
  • ReSharper – Helps you writing better code. Tons of hints for improvements. Great test-runner. Stopped using it lately for performance-reasons but will try again after upgrading my machine.

Web development

Editors, file comparison

  • VS Code – powerful, open-source multi-platform editor. Don’t use it too much, since I do most of my work in Visual Studio. But I like to use it for editing certain file types (XML).
  • Notepad++ – My workhorse for analysing log-files, search and anything not done in VS Code or Visual Studio.
  • HxD Hex Editor – Nice hex editor. Can calculate checksums like CRC-16.
  • Beyond compare – Compare files, folders, merge, synchronize. An evergreen in my tool belt for comparing stuff.

Database

System tools

  • WinDirStat – Visualize the occupied space on your disk. I use that for deleting crap when the disk is getting full.

Graphics

  • Paint.NET – Free and powerful image editor. When Photoshop is too much (and too expensive).

Media

  • ActivePresenter – Records your screen and microphone. Used it for recording tutorials (screencast for YouTube). It also makes a great tool for helping you test your GUI, as you can record what you are doing and what is happening. When something breaks, you can replay and go back in time. Version 7 did not work for me, better try Version 6 of their program while it’s still available.

Health and productivity

  • OneNote – All my notes, bookmarks, screenshots and complete knowledge bases go into OneNote. Make screenshots, format your entries with simple keyboard-shortcuts without touching the mouse, collaborate on content with notebooks stored on MS SharePoint or OneDrive.
  • EyeLeo – Prevents eye strain. Gentle reminders now and then to get your eyes off the screen.
  • Tomighty Pomodoro timer – Get more done with more breaks. The Pomodoro technique works out great for development. Moving my body every half-hour amps up my creativity and helps me getting unstuck. I prefer to move my body, jog for a couple of minutes. Many times it’s off the screen when the aha-moments hit me.

 

For a much more extensive list of tools check out the resource from Scott Hanselman. Last time I checked it has been updated in 2014, but still of great value for discovering stuff:

Scott Hanselman’s Ultimate Developer and Power Users Tool List for Windows

Notes about Live Unit Testing in Visual Studio

MS introduced Live Unit Testing in the Enterprise edition of Visual Studio 2017.

I quite like it. A few notes about some issues I had:

  • Don’t mix testing frameworks (MsTest, NUnit, xUnit). Live testing will use one or another test adapter, but only one at the same time. Depending on which one is active you will have tests excluded from live-testing.
  • Update your references. If you cannot debug your unit-tests anymore with Live Unit Testing enabled, have a look at this support case. You might need to delete your existing project reference to “Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll” and install the NuGet packages MSTest.TestAdapter and MSTest.TestFramework instead.
  • Choose your tests wisely. You might want to exclude your long-running integration tests and other tests from being executed by Live Unit Testing: Right-Click on your test project, go into that “Live Unit Testing” entry and include and exclude what you need to be covered by Live Testing.
  • Included test files not updated automatically. If you have included test-data files in your project that are copied to your Output Directory by the build process: These are not updated automatically. I had to Stop and Start Live Testing in order to access added or updated files.

Hope you find that helpful.