Glyphfriend 2.1 Released! Now With Library Filtering

It hasn't been too long since the latest 2.0 release of Glyphfriend, but with the release of Visual Studio 2017 coming around the corner, there were a few things that needed some improvement and polishing off before that happens.

What's new?

  • Support for library filtering

    • You can now easily select the libraries, which you wish to use with Glyphfriend by simply right-clicking within the HTML file and choosing them. Bootstrap Glyphicons are enabled by default, but any other libraries can easily be added with a single click. These preferences will persist even after closing Visual Studio and starting a new session.

  • Updated Font Awesome Library to 4.7.0

    • Updated Font Awesome to the latest version enabled to add all the glyphs which were included within the 4.7.0 release.

  • Updated Octicons Library to 5.0.1

    • Updated Octicons to the latest version and added all of the glyphs that were included within the 5.0.1 release.

  • Resolved Visual Studio Race Condition

    • This release resolves the NullReferenceException, which would occur occasionally, when using Glyphfriend. This was the result of a race condition within Visual Studio that could cause the glyphs to be requested prior to them being loaded.

  • Resolved Suggested Extensions Bug

    • Since Glyphfriend is one of Visual Studio's recommended extensions, it may often suggest it to the users that its feel might be useful. During many of the large changes to the project, this process became out of sync and can result in issues where the users would perpetually recommend the extension. This release resolves this problem.

  • Added Logging Support

    • This feature is primarily for my sanity, so that I can pick up if certain events aren't being executed and do better troubleshooting of issues, as they arise.

  • Consolidated project structure

    • Further improvements were made to consolidate all the core logics of Glyphfriend into the Core project, so that any changes can be made within a central location, which targets both the versions of the extension (VS2015 and VS2017). This functions as a shared project, thereby allowing 100% of the code to be shared between the extensions.

  • General cleanup

    • Several changes were made to make the Glyphfriend installer and package more efficient, mainly in regards to the size, by removing unnecessary references that were being included within it. This ultimately resulted in reducing the size of the extension by nearly 60%.

Introducing Library Filtering

One of the issues that very quickly arose after the previous release of Glyphfriend was the noise, which was quickly pointed out in a response on Reddit:

Thus, any HTML file will have its auto completion filled to the brim with thousands of Glyph classes regardless of whether anyone has been let alone; all of them are actually available?

All the changes which were made to make the extension more flexible actually resulted in it being noisier. Glyphfriend would just serve everything it knew about. This has generally been regarded as a bad move.

Library filtering allows you to easily toggle which libraries you want to use, and it will persist across Visual Studio sessions. This updated version of the extension will now allow you to right-click on any supported file (i.e. HTML, CSHTML, etc.) and you'll see a Glyphfriend context menu, which contains all the supported libraries.

By default, only Bootstrap Glyphicons are enabled, but you can simply select one of the other items and all the available icons for that library will now be accessible through Visual Studio's autocompletion events, as demonstrated below.

Glyphfriend will remember these settings and persist them even after you close Visual Studio.

The hope is that this feature tones down some of the noise that the extension was making; making it more specific to your needs and much easier to use.

Next Recommended Readings