Release Notes - v3.3.0

TO BE DECIDED

Introduction

This is a summary of the changes introduced in v3.3.0 of MFractor for Visual Studio Mac.

This standout feature in this release is the addition of code snippet support. Got a particular way you write your view model properties or commands? MFractor now lets you use your own code snippet, enabling complete customisation!

We've also added a localisation wizard that will quickly move string literals into ResX files, several handy code actions and a update notification dialog that let's you know when new MFractor releases are available.

Features

  • A localisation Wizard for XAML and C#.
  • Code Snippet Support for view model properties, custom commands and bindable properties.
  • Use the Extract XAML layout into new control code action to move a XAML section into its own code file.
  • Use the Generate Platform Effect code action to easily generate the routing effect and platform effects.
  • Use the Generate interface implementation code action to quickly create a new class implementation from an existing C# interface;
  • The Add UsesLayout to class code action will append an MFractor.Annotations.Android.UsesLayout annotation to an Android class to specify the layout that class uses. Using this you can quickly enable MFractors Android layout usage validation.
  • Support for config files that are included within a nuget packages build folder. Framework authors can now include an MFractor config to enforce their framework standards by including a file named .mfc.xml in the packages build folder.

Enhancements

  • Support for Visual Studio Mac 7.2.
  • Support for Roslyn 2.3.
  • MFractor now regularly checks for updates against the addin server and let's you know when there's been a new release.
  • Enhanced code completion for MFractor configuration files.
  • Specify a new width and height for the highest density image when you import an image with the image importing wizard.
  • Use the new Mvvm resolution configuration to specify the project in a solution that contains your views or view models. This lets MFractor resolve the MVVM relationship across project boundaries!
  • The Generate constructor for all readonly members will now include constructor arguments for auto properties as well as readonly fields.
  • The empty XAML attribute and node analysers have been removed as they were plain annoying (and frequently incorrect).
  • MFractor Lite now allows up to 5 pro feature uses per day.
  • Internally, MFractor now uses Roslyn's concept of text spans instead of line/columns. This reduces MFractors memory footprint and improves the speed of all analysers.
  • The following features are now professional only:
  • Image tooltips.
  • Go To View Model, Go To Code Behind and Go To View.
  • Android resource IntelliSense.
  • Code snippet support added for:
  • View Model Properties.
  • Bindable Properties.
  • Command Implementations.
  • Routing Effects.
  • Platform Specific Effects.
  • Value Converters.
  • Value Conversion Attribute.
  • Code Behind class declarations.

Bug Fixes

  • Fixed: MFractor no longer bundles the Microsoft.CodeAnalysis (Roslyn) assemblies into its distribution package. This caused critical issues in VSMac 7.2.
  • Fixed: Upgraded MFractor to use Microsoft.CodeAnalysis (Roslyn) 2.3. This required several code generators to be upgraded.
  • Fixed: A regression in the Migrate OnPlatform code action caused it to failed.

Deprecations

  • The configurable property ImplementConversionForConvert on the value converter generator is deprecated and has been removed. Please use the code snippet to control the Convert method body.
  • The configurable property ImplementConversionForConvertBack on the value converter generator is deprecated and has been removed. Please use the code snippet to control the ConvertBack method body.