我想用插值字符串替换项目中的所有字符串文字。我没有在R#/ Code cleanUp / ReFactor设置中找到任何选项。我不在乎它是否是另一种解决方案(例如,包含VS和RegEx的搜索和替换选项)。
一个例子:
Console.WriteLine ("foo{myVariable}"); Console.WriteLine (Console.ReadLine() == "fee{myVariable}" || Console.ReadLine() == $"fii{myVariable}");
应转换为:
Console.WriteLine($"foo{myVariable}"); Console.WriteLine(Console.ReadLine() == $"fee{myVariable}" || Console.ReadLine() == $"fii{myVariable}");
我已经尝试使用RegEx,但失败了。这是我的搜索字符串:
^(?<toKeep>[^"\n]+.[^$"])(?<toReplace>")
这是我的替换字符串:
${toKeep}$"
这里的问题是,它只匹配一行的第一个字符串,并且还匹配我的XML文档中的字符串。
发生的另一个问题是,并非所有字符串都可以安全地转换为插值字符串 - 例如,switch case需要常量类型作为参数。但是,这个问题可以忽略不计,因为在这里删除插值符号并不困难。