.NET Tools
Essential productivity kit for .NET and game developers
Smart Paste in Rider
Today, I’d like to introduce you to Smart Paste, a "little big feature" in Rider (as well as in ReSharper). It ensures the right escaping in string literals that are copy/pasted. For example, consider pasting The "Name" field is required
into var error = ""
. We would paste the string, then move to both "
characters and escape them with \"
, making sure there are no syntax errors. Rider helps us out here with a quick-fix that can escape illegal characters for us!
Smart paste works in C#, VB.NET, JavaScript, XML, XAML and HTML files, and suggests escaping values upon paste.
Imagine how much time smart paste can save us in some cases! E.g. when copy/pasting a large snippet of XML or JSON that has quotes all over the place… Let’s try pasting some JSON data into a (verbatim) string:
Rider also detects other characters that may need escaping, for example newline characters. If we paste into a regular string, smart paste will escape quotes and also add \n
characters:
Want to paste a file path? Rider has us covered there as well – it will make sure we are escaping the \
character:
Smart paste really comes in handy when writing XML documentation. Rider will escape any characters that need special treatment in an XML context, for example generics, lambda syntax, logical operators, …
One more. Combine with the To LINQ to XML / To LINQ to JSON quick-fixes, we can paste XML or JSON string inside a string literal and then easily convert it into C# code. XML will be transformed to an XML object (using XElement
, XAttribute
, …). And when Newtonsoft.Json is referenced, we can transform our string into a JSON.NET object:
Download the latest Rider EAP build and try it out! We’d love to hear your thoughts and feedback!