Visual Studio Extensions¶
This is the list of Visual Studio Extensions I use when developing for a combined web and mobile application:
There are many files that get added to projects that don't really need an editor. They get set once and then
forgotten about. One of those is
.gitignore. There are others that follow this same pattern. So there is
an extension for adding them and dealing with them.
Add New File¶
Not all files that you need to create have an extension. A couple that I tend to have to deal with are README
and LICENSE. They have no extension. Others include the
.babelrc file for configuring BabelJS. With this
extension, you can create any file with any extension you need.
I love small, single function extensions like this. This one provides HTML and URL encoding - something I have to do a lot of when I am developing for the web.
There is a specification for a file called
.editorconfig that will configure your editor for the requirements
of a project in terms of character set, line ending, what a tab means and so on. This extension reads that
file and configured the settings for the project accordingly.
Visual Studio comes with a pretty good list of file icons that appear in the Solution Explorer to tell you what sort of file it is. But it isn't as exhaustive as it could be. Two of our extensions thus far have dealt with adding files that Visual Studio can't handle - this gives them icons.
In our web applications, we use a lot of glyphs. These are available through web frameworks like Bootstrap. This extensions shows what the glyph actually looks like right in the editor, which helps me ensure what I am doing is correct.
I sometimes write really long blocks of code. This extension tells me where the blocks start and end.
NPM Task Runner¶
If you are doing web development, this is not only recommended; it's vital. It allows you to run npm commands from within the Task Runner Explorer, thus relieving you of the process of dropping down to the command line.
Open Command Line¶
For those occassions when you just can't avoid dropping down to the command line, this will ensure your command line starts at the right place.
In web development, sometimes you need to grab a package from elsewhere. Unfortunately, there are a dozen different ways of grabbing that package. This extension deals with all the myriad ways of getting the package.
Are you a regex master? Me neither, which is why I like to test all my regular expressions before they go in my code. This extension adds that functionality as a window.
Roslyn was a major step forward in the power of C#, and there are a number of ways that it makes your code cleaner. Unfortunately, you have to learn them - all 160+ of them. This extension looks for common refactorings for you, so you can carry on coding as before. Over time, you will learn how to do those things in Roslyn right the first time.
SQLite / SQL Server Compact Toolbox¶
Azure Mobile Apps uses SQLite as the basis of its offline cache. That means that occassionally you are going to need to peek inside the SQLite database, even if you are only curious.
SQLite for Universal Windows Platform¶
Did I mention Azure Mobile Apps uses SQLite? If you are developing UWP applications, you will need this extension.
Trailing Whitespace Visualizer¶
Languages are sometimes a little problematic when it comes to embedded white space at the end of lines, especially in multi-line strings. This extension shows them up in the editor, allowing you to easily find and destroy them.
Web Extension Package¶
This isn't one extension. It's several. There are several extension modules for image optimizations, bundling, icon handling and accessibility monitoring. This one extension installs all the others. Use this if you are going to be doing web + mobile development.
Xamarin Forms Player¶
One of the big gotchas in Xamarin Forms development is the process by which the XAML is parsed, built and reviewed. If you install the Xamarin Forms Player onto a device, this extension will push your XAML to that app and the app will render the page for you, allowing a much tighter development cycle.
Xamarin Forms Templates¶
The default Xamarin Forms templates include projects for iOS and Android. I wanted UWP, Windows Phone 8.1 and potentially others as well. This set of templates gives me those additional templates.
Xamarin Test Recorder¶
Creating UI tests is painful. Running them on a large number of mobile devices is also painful. Fortunately, this extension handles the former - creating UI tests. You can run the same UI tests across thousands of devices by using Visual Studio Mobile Center testing facilities.
I find organizing XAML tedious. Fortunately, I can clean up my XAML and give it a consistent style by using this extension. You may not agree with its opinions, but at least it will make your code consistent.
Taking a look at all these extensions, a big shout-out goes to Mads Kristensen. He may work at Microsoft, but he puts out the great web extensions that make Visual Studio a major player in that space.