Tools we use to get things done at Raygun

| 4 min. (657 words)

The team at Raygun use a bunch of different developer tools day to day to help us ship great software faster. Here’s a (non-exhaustive) list of the ones that we find the most useful.

Visual Studio 2013

Visual Studio is the most important tool we use, given a lot of our code is written in C#. However out of the box it is missing a few features I think make us more productive than we otherwise could be. We have a few plugins that are standard across the team:

EditorConfig

EditorConfig is pretty simple – it looks for a .editorconfig file in your project directory, which contains the indentation settings for your project. It then applies these automatically to the current document being edited. This way, there are no flame wars (or merge conflicts) over indentation, as the settings are distributed as part of your source code. Our config is pretty simple – it sets the indent_style to space and indent_size to 2 for all file types.

[*]
indent_style = space
indent_size = 2

You can install it through the Visual Studio Extension manager.

VSCommands

VSCommands has a bunch of extra configuration options for Visual Studio, like changing the ALL CAPS menus back to normal, and making the quick view picture in the Windows toolbar into something useful. However, the best thing that it adds is a button to attach the debugger to IIS – it gives you a list of the sites set up in IIS, and will find the correct w3wp.exe process to attach to. This is much better than the usual “search the process list for the one with the right username” dance I used to do with the built in Visual Studio Attach to Process dialog. The best part about it though is it will pre-select the site you’re currently editing, so if you assign it to a keyboard shortcut you can just hit the enter key and ignore the contents of the dialog.

Resharper

Resharper is one of those extensions that always makes it onto these types of lists – probably to the point of “it goes without saying”. There are a number of features in Resharper that make ASP.NET MVC development a lot easier, like being able to create missing Views automatically from Actions, navigating between Controllers and Views, and the refactoring tools. See my previous posts on Resharper if you want to know more. Definitely a must-have in our office.

Web Workbench

Mindscape (the company behind Raygun) produce a fantastic tool called Web Workbench for compiling Sass files automatically from inside Visual Studio. I’m not just saying that because I work for them, it really is awesome! All our CSS is written in Sass, and Web Workbench compiles this into a single CSS file automatically every time one of the Sass files is modified and saved. No need to fuss around with remembering to run an external tool.

Postman

We do a lot of work with 3rd party APIs, so being able to test them with hand crafted HTTP requests is really handy. Postman is a Google Chrome plugin that lets you send HTTP requests to any URL, provides a nice way to set headers, authentication, and content as well as nicely displaying the results. We use it a lot to test Elastic Search queries, which can get pretty hairy. Definitely one of my go-to tools when developing one of our many Integrations.

JSHint

We use Grunt to run JSHint on our Javascript during the build, so that any bad JS fails the build. This stop people making silly mistakes like accidentally creating global variables, or forgetting semi-colons and having ASI do something crazy. It’s really helpful once you have more that a few people working on the same JS codebase. We have this as an extra step in our build so that it fails explicitly, rather than relying on people to fix the errors that Web Workbench shows you.