Skip to content
| Marketplace
Sign in
Visual Studio>Tools>ActiveMesa R2P
ActiveMesa R2P

ActiveMesa R2P

Dmitri Nesteruk

|
1,488 clicks
| (1) | Free Trial
A productivity plugin for JetBrains ReSharper. Includes advanced inspections, context actions, fixes, refactorings and more.
Get Started

ActiveMesa R2P is a productivity plug-in for JetBrains ReSharper. Here is an overview of some of its features:

String Mutations

One of the key features of R2P is the ability to transform string literals. For example, thestring splicing feature brings PHP-style string splicing to C#. Simply use the curly braces to delimit variables and R2P will offer a suitable context action:

Applying the action replaces the string with a string.Format() call, with the variables moved to the argument list:

R2P supports several transformations from strings to .NET types. For example, you can define time as a string andconvert it to DateTime:

After invocation, the declaration is replaced with the following:

R2P supports transformations from string literals into the following types:

  • DateTime

  • TimeSpan

  • XElement

R2P also comes with a menu item called Paste Verbatim String that pastes strings from the clipboard with correct escapement. This facilitates transformations from strings into something else: for example, you can copy a block of XML from some app, paste it, then use the Convert to XElement context action to turn it into a fully object-oriented declaration.

In addition to the above, the plugin also supports a few string manipulations, such as:

  • HTML-encoding/decoding of a string.

  • String obfuscation using base64 encoding.

Code Generation

The plugin comes with several generators, which all embed themselves into the Generate menu:

  • Binary read/write members — for a given class, generatesReadFrom() and WriteTo() methods that use BinaryReader andBinaryWriter respectively and serialize chosen fields. Special care is taken when serializing known .NET types: for example, for aDateTime, only its Ticks property is serialized:

  • Copy constructor — for a given class creates a constructor that takes this class as a parameter and performs a copy of its properties/fields to the owner class.

  • Disposing members — in addition to being able to correctly identify all disposable fields and generate the appropriateDispose() declaration, R2P’s implementation also offers to implement the fullDispose pattern.

  • Read-only interface — for a given class Foo, generates an interfaceIFoo where all properties are exposed as get-only, effectively creating a read-only interface contract for this class.

Code Inspections

R2P comes with several computation-related inspections, such as:

  • Inspections that detect inefficient Math.Pow() calls and refactor them to unline multiplication:

  • An inspection and corresponding context action that allows factoring out of common subexpressions:

  • Inspections and fixes relating to possible use of MAD (multiply-add) instruction when usingGPU.NET:

In addition, R2P can help correct misspelt identifiers based on information about the available types:

Odds and Ends

R2P comes with a lot more functionality than we can list here. Some of its features include:

  • Refactorings such as Make Singleton (implements the Singleton pattern) and Enum to Class (turns an enumeration into a class with enum cases transformed to member variables).

  • Unit testing helpers such as being able to Assert on all public properties of an object instance, an ability toadd a value as a Row in data-driven testing, and a Visual row editor.

  • General-purpose context actions such as code contract generators (generate code contract specifications for parameters), an action tomake a method fluent (i.e., return this), and even a context action to treat the^ operator as a power function.

  • A String format helper window that lets the user build a format string and preview the end result.

  • … and a lot more

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft