使用Resharper修复方法中的换行符?

时间:2017-12-30 21:44:29

标签: c# .net visual-studio resharper jetbrains-ide

我有这种方法,我真的不知道该怎么做。我知道resharper提供了一些功能来更好地格式化它,显然第一个if语句应该是第一行WriteString方法的额外行,而在else中,第一个应该是一个额外的行脱离{{1 }}

希望你能从这个简短的解释中得到我想做的事情...如果我在Resharper上运行代码清理我知道它不会从过去的经验中做到这一点,有没有人知道我该如何配置呢?

一个例子,下面这段代码......

WriteInteger(item.Data.SpriteId);

会变成这样......

public void DoSomething() {
    WriteString(item.Data.Type.ToString());
    if (item.Data.Type.ToString().ToLower() == "b")
    {
        WriteString(item.Data.ItemName);
    }
    else
    {
        WriteInteger(item.Data.SpriteId);
        if (item.Data.InteractionType == InteractionType.WALLPAPER || item.Data.InteractionType == InteractionType.FLOOR || item.Data.InteractionType == InteractionType.LANDSCAPE)
        {
            WriteString(item.Name.Split('_')[2]);
        }
        else if (item.Data.InteractionType == InteractionType.BOT) //Bots
        {
            WriteString(!PlusEnvironment.GetGame().GetCatalog().TryGetBot(item.ItemId, out var catalogBot) ? "hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92" : catalogBot.Figure);
        }
        else if (item.ExtraData != null)
        {
            WriteString(item.ExtraData ?? string.Empty);
        }
        WriteInteger(item.Amount);
        WriteBoolean(item.IsLimited);
        if (item.IsLimited)
        {
            WriteInteger(item.LimitedEditionStack);
            WriteInteger(item.LimitedEditionStack - item.LimitedEditionSells);
        }
    }
}

2 个答案:

答案 0 :(得分:1)

引自https://confluence.jetbrains.com/display/NETCOM/ReSharper+Customization+Guide#ReSharperCustomizationGuide-Language-specificFormattingStyles

  

转到代码编辑| [语言] |格式化样式。取决于   语言可能有多达100种不同的设置,允许   您可以定义代码布局的每个细节。格式化设置   可分为几页:

     

大括号布局列出了确定如何放置花括号的设置   出。此功能仅适用于使用卷曲的语言   作为范围的大括号,例如C#。 空行列出了设置   确定在特定用法实例中添加了多少空行。   值为0表示不使用空行。

您要查找空行设置。您的“使用”可能是在(有条件)块之前/之后的空行。

答案 1 :(得分:1)

我认为这就是你想要的......

enter image description here