NOTE: In this version of the extension, the background image functionality is a bit buggy in later update versions of Visual Studio 2015. I apologize for the inconvenience -- it's being fixed in the update that will be out ... hopefully ... in the next month (which includes Visual Studio 2017 support!)
Many thanks to the folks who have enjoyed this extension - I wrote it for myself and I'm so glad you guys are enjoying it!
Updated in 1.6.42
Fix: Correction for a crash that some users experienced on start-up.
Feature: Unit Test methods can now be colored separately from static and instance methods and are detected by configurable attributes on the class/method (NUnit and MSTest attributes are provided by default).
Breaking Change: Settings overhaul will reset method block colors to default in this version. Sorry about that - I generalized them so that I can allow customization by attributes, access and other properties in a future version allowing to apply any number of custom colorization rules however you see fit. That'll be coming soon!
Get the Visual Studio 2013 Edition here (sorry, but it's one version out of date and not supported any longer).
Stay Frosty is an extension for Visual Studio to make navigating and identifying important parts of your code easier. It also enables additional customization of the Visual Studio text editor. All features can be tweaked and customized (it is, after all, a developer tool!)
Stay Frosty supports C# 6.0 in Visual Studio 2015 and does code parsing using Roslyn or NRefactory (Visual Studio 2013).
Code Borders
- Configurable Borders around:
- Methods
- Static Methods
- Constructors
- Method Signature Display up the left hand side of bordered methods who's signature has scrolled off screen. This feature can be enabled to display always.
- Signatures can be shrunk to a desired size and opacity can be set on each.
- Support for ReSharper color schemes (disabled by default, see options)
- Extremely accurate - Code is parsed with either NRefactory (for Visual Studio 2013) or Roslyn (Visual Studio 2015). This ensures that any valid C# method is recognized, including new C# 6.0 lambda methods.
- Performant - Code parsing is expensive so it's done only when necessary and while typing it gets out of your way.
Text Clarity
- Configure Font Rendering Style for the Text Editor (ClearType, Greyscale, Aliased, None)
- Add a Chiseled Effect to Code Text
- You can tweak every element of the effect to adjust to your liking
- Only works if Hardware Acceleration is enabled (A very lightweight PixelShader 2.0 shader effect is used which is capable of being rendered in software only, however, Visual Studio does not render it properly if hardware acceleration is disabled)
- Tweak the various things you can change in WPF that aren't exposed in the Visual Studio editor (like Text Sharp)
Customization
- Change the Text Editor Background (larger area than allowed usually)
- All colors for method backgrounds, borders and the like can have alpha set on them to blend them perfectly with your editor style
- Add an image to the background of the Text Editor
- Can be anchored to any corner
- Opacity can be adjusted to keep it from interfering with code
- Combined with the editor background override, a very simple image without transparency can be used with a matched background color.
Limitations / Other Considerations
- The Chisel/Bevel effect does not render properly if Hardware Acceleration is not enabled. Go to Tools|Options General to enable Hardware Acceleration on supported hardware.
- If ReSharper Color Identifiers is enabled but ReSharper is not installed, code highlighting of the Method Signature displayed on the left hand side of the border will default to "Identifiers" for most values. Disable this feature to have Stay Frosty use "User *" values
- Where available, Stay Frosty will use "User Classes", "User Interfaces", "User Enums" and other "User *" values for syntax highlighting. Normally this is used only in the class, interface, enum and other declarations, not in their usages. This causes the method signature on the left to look slightly different from the displayed item at the top. If you don't like the display, you can change the color for these values (if present), to the Identifier color and it will match what is displayed. The clarity provided by the additional coloring was worth the trade off.
Coming Soon
- Return statement highlighting to make code using the Boncer Pattern easier to follow.
- Property borders for properties that use the older get/set (will be disabled by default).
- Tweaks to the region display to make them less annoying (#IHateRegions until then)
- XML Documentation beautifying/decluttering - when XML Docs are not being edited, they'll be displayed in a minimal amount of space, highlighted without XML tags.
More information is available at: The Stay Frosty Homepage
Updated in 1.4.42
Fix: An intermittent crash would occur when closing the settings panel
Performance: Moved some inexpensive but frequent operations to the background.
Fix: Method adornment covered up the CodeLens hints making them unclickable
Updated in 1.2.30
Fix: Drastically reduced the size of the extension by removing references that were no longer needed by the current version of code
Fix: The adornments didn't expand when the view was widened.
Fix: Race condition involving a disposed cancellation token (likely only affected the 2013 version)
Fixes in 1.2.3:
Screen corruption could occur with the background image.
Options page will load properly on all platforms (previously this failed on Windows 7 due to referencing a library that is not available on that platform).
Version 1.1.55
Bug: Text effect wasn't applying to all code windows
Bug: Thread safety issue on a field was resolved
Perf: Effects are now only applied once and on setting reload
Bug: On text view close, sometimes the adornment manager wasn't being disposed of, resulting in a small memory leak.
Version 1.1.55
Bug: Text effect wasn't applying to all code windows
Bug: Thread safety issue on a field was resolved
Perf: Effects are now only applied once and on setting reload
Bug: On text view close, sometimes the adornment manager wasn't being disposed of, resulting in a small memory leak.
Version 1.1.46
Bug: Fix for the settings application worked only one way. When turning it off, it would remain off despite being turned back on.
Version 1.1.45
Feature: "Enable Background Image" in options can be turned off to turn off background image display.
Bug: Some text options didn't apply to the current window after setting them in options.
Perf: Handling the text and image application logic a little more intelligently.