Web Development Tools That Will Increase Your Efficiency - Part I

March 1, 2014

In any profession the tools we use often dictate what we can do, how quickly we can do it and the quality of the completed work.  In web development the choice of tools is as important as in any other field.  Besides the obvious physical tools that someone in the IT industry would be familiar with (computer, multiple displays, mouse & keyboard) there are software tools specific to the duties of a web developer.  Here I list some of my favorites and the ways in which I use them.

Notepad++

( http://notepad-plus-plus.org/ )

Notepad++ is a lightweight text editor with an array of features seen in larger applications including a tabbed editor, syntax highlighting for a large variety of programming languages, and code re-formatting and indentation.  There are many situations where an IDE (Integrated Development Environment) is too slow when quick access to the contents of a single file is needed or when working on remote servers and installing specialized editors for numerous file types is not an efficient use of time or even not allowed due to security constraints.

In most scenarios I use Notepad++ like I would Windows’ standard Notepad but being able to quickly open a C# code file and XML configuration file or a CSV data file all in the same application without having to wait for anything to load up is invaluable.  Notepad++ is also regularly updated and the core application along with a suite of plugins are in active development.  The plugin manager in Notepad++ allows its user to easily add or remove features.  I have found the XML Tools plugin (Plugins -> Plugin Manager -> Show Plugin Manager -> Available -> XML Tools) to be very useful in re-formatting verbose XML that would otherwise display in an unreadable single line, going from this:

Development Tools Before - Click to Expand

to this:

Development Tools After - Click to Expand

LINQPad

( https://www.linqpad.net/ )

LINQPad is a tool designed primarily to analyze LINQ (Language Integrated Queries) code in the C# programming language but functions as a specialized IDE for C# and the .NET Framework.  It’s list of features is impressive for a free application but it also comes in Pro and Premium editions with additional features that bring it closer to the capabilities of Microsoft’s flagship Visual Studio.

LINQPad is great because, like Notepad++, it is a lean but feature-full application.  If I want to test some C# code I can load up Visual Studio, create a new project, type out my code and build the solution.  Or I can do it in a fraction of the time with LINQPad which allows me to simply run the code snippet ad-hoc without all the structuring and processes of a managed project in Visual Studio.  LINQPad is also great for inline debugging with the Dump() method which can be called on any object.  Running this code

string[] stringArray = {"This is a string", "Another", "A Third"};
stringArray.Dump("An Array of Strings");

will produce the following output:

LINQPad Output - Click to expand

With LINQ query syntax code you can even display the generated method code or SQL query by clicking the lambda and SQL buttons respectively.  If you want to dig even deeper, clicking the IL button will display the Intermediate Language ( http://www.dotnetperls.com/il ) code generated from your C# statements.

LINQPad comes with a great tutorial (LINQPad 5 minute induction) that runs within the application and more advanced examples straight from C# 5.0 in a Nutshell which was written by the application’s creator Joseph Albahari.

Sean G. Wright is a Chief Solutions Architect at WiredViews. He is also a 2020, 2021, and 2022 Kentico Xperience MVP, and a founding partner of Craft Brewing Business, a B2B publication for the craft brewing industry.

He loves to learn and teach web dev & software engineering, collecting vinyl records, mowing his lawn, and drinking craft beer 🍺.

You can follow him on Twitter, GitHub, and his active blogging about Kentico Xperience on Dev.to.