Visual Studio Toolbox

12 New Extensions for Visual Studio 2015 and 2017

Let's catch up with the latest tools and extensions available for Visual Studio 2015 and the recently released Visual Studio 2017.

It's been a while since I've done a roundup of new, general-purpose Visual Studio extensions and, going through selections, I'm again reminded of the incredible number and breadth of community-sourced tools and extensions we enjoy for Visual Studio. From project templates to build and test tools to customizations for your Visual Studio coding environment, there's something here to help during every step of a software development project.

I'm also starting to see the first extensions specifically for Visual Studio 2017, which is in Release Candidate (RC) state as I write this column, and will be officially released by the time you read this.

There's a lot to share with you, so I'll just jump right in. But remember: Almost all of these are created by your fellow developers and shared for free. Nice work, guys! If you like any of these, be sure to give the developer a word of thanks and a helpful review in the Visual Studio Marketplace.

Project Starters
Miňo Martiniak has released a brand new Angular 2 Visual Studio Template using an ASP.NET 4.6 WebApi 2 back-end. It’s simple and straightforward if you want to build a new Angular 2 app using the TypeScript-based Angular quickstart source code.

If you're using the Vue.js JavaScript library in your Web projects, take a look at Mads Kristensen's Vue.js Pack 2017, which provides library-specific code snippets, HTML directive and component IntelliSense, as well as mapping .vue files to open in the HTML editor for convenience.

Microsoft's Microsoft Visual Studio 2015 Installer Projects is a popular tool for creating and editing MSI installer projects. A new Microsoft Visual Studio 2017 Installer Projects version is now available for the latest release of Visual Studio. Note that the two versions are not interchangeable, so grab the extension for the editor you're currently using.

As we gain experience, we often turn best practices and often-used patterns into boilerplate. As handy as this may be, it sometimes ends up as clutter in projects or time spent searching for, copying and pasting code. PostSharp is a great product that "automates the implementation of patterns so they don't turn into boilerplate," basically by providing a sort of IntelliSense for repeated C# and Visual Basic code snippets and patterns. Free, trial, and licensed Ultimate versions are available. In addition, PostSharp 5.0 Preview is available with support for Visual Studio 2017.

If you're building CMS-based Web applications, another new code generation tool you may find useful is Guus Beltman's Code Generator 4 Tridion. This extension can generate ASP.NET MVC ViewModels for applications using the SDL Web Content Management System (formerly SDL Tridion) or any Dynamic Delivery for Tridion (DD4T)-compliant CMS layer. I always appreciate good project documentation, and Beltman provides some overview articles and tutorials on his blog, starting with the post, "Code Generation for Tridion Introduction."

Refactoring Code
When you start a new Visual Studio project, you have to give it a name. If you've ever changed your mind about that project name after the fact, take a look at Marc Johnston's byMarc.VS2015IX.RenameProjectFolder. It does one thing well: It changes the folder containing your project to have the same name as your project. No more naming regrets.

HSR Parallel Checker for C# 6 and HSR Parallel Checker for C# 7 are simple extensions that add the built-in ability to perform static analysis tests on your C# code for data races, deadlocks, thread-unsafe usage and other concurrency issues. The two versions work in Visual Studio 2015 and 2017, respectively. Be sure to visit the HSR Parallel Checker Web site for documentation and samples, and the extension is currently free to download and use.

[Click on image for larger view.] Figure 1. HSR Parallel Checker Tests Code for Concurrency Issues

Ever get frustrated by type mismatch issues in your code? Rishabh Verma's Replace var With Type extension searches your code and highlights instances of var for review. You can choose to replace a specific instance or all instances in a project -- simple, yet fantastically helpful.

In a similar vein, Federico Coletto's Strings To Constants just extracts all of the strings from a class, then converts them to member constants. Names for the constants are inferred from the string itself.

Speaking of strings, Shane Ray's Invisible Character Visualizer is a really clever and useful little extension for highlighting invisible characters in strings. I've run into this exact problem before, where unseen Unicode characters get accidentally copied and cause all sorts of headaches ... and you can't see them to troubleshoot the problem! I've seen coding halted for weeks over a problem like this, and "invisible" characters can even be a vector for hacks -- see Bruce Schneier's article on the Unicode URL Hacky for details. Then install Ray's extension and breathe a bit easier.

And while we're on the topic of checking and refactoring code, let's finish up with Andrei Dzimchuk's Experimental Tools 2015 and Experimental Tools 2017. Again, the two versions are for Visual Studio 2015 and 2017, respectively. The Experimental Tools add built-in one-click commands for simple refactoring tasks like adding constructors, adding or removing braces, initializing fields from a constructor or parameter, scaffold xUnit tests, and much more. Simple, straightforward, well-documented and free.

[Click on image for larger view.] Figure 2. Strings To Constants Refactors Strings in Classes for Clarity

Wait, one more: SharpDevelop has released Refactoring Essentials for Visual Studio 2017, bringing all the code analyzers and fixers from its popular Refactoring Essentials for Visual Studio to the latest version of Visual Studio.

Whew! That's it for now. I've got 12 more new ones next week, for the build/test/ship workflow, and a bonus set of tools for editing outside the VS toolbox, so to speak. 

About the Author

Terrence Dorsey is a technical writer, editor and content strategist specializing in technology and software development. Over the last 25-plus years he has worked on developer-focused projects at ESPN, The Code Project, and Microsoft. Read his blog at http://terrencedorsey.com or follow @tpdorsey on Twitter.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube