Resharper string.format快捷方式

Sup*_*man 5 c# resharper

我经常发现自己写作

var message = "Hello {0}";
Run Code Online (Sandbox Code Playgroud)

然后回去打字

var message = string.Format("Hello {0}", world);
Run Code Online (Sandbox Code Playgroud)

如果我在输入字符串时会很好,当我把"放在最后,resharper发现字符串中有一个参数并立即用string.Format方法包围字符串并将光标放在第一个参数上.

有一种直截了当的方法吗?我正在使用Resharper 6.1

seh*_*ehe 16

只需在dumber中输入:

 "Hello " + world
Run Code Online (Sandbox Code Playgroud)

Alt+EnterEnter,完成1:

 string.Format("Hello {0}", world);
Run Code Online (Sandbox Code Playgroud)

显然,当整个事情变得复杂得多时,这也有效.我知道它会删除无用的调用.ToString(),我怀疑它会自动解除任何格式表达式,比如

 int i = 42;
 "i = " + i.ToString("X2"); 
Run Code Online (Sandbox Code Playgroud)

Alt+EnterEnter

 string.Format("i = {0:X2}", i);
Run Code Online (Sandbox Code Playgroud)

1如果你运气不好/周围的代码包含很多触发Resharper建议的东西(?)你可能不得不把光标放在其中一个+运算符上

  • 您只需键入字符串"Hello"`然后,当光标仍然在引号内时,使用R#`Alt + Enter`>`Enter`,它将选择`添加新格式项和适当的R#选项argument`.R#将负责前后的光标放置. (2认同)