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

问题描述 投票:0回答:2

我有这种方法,我真的不知道该怎么做。我知道resharper提供了一些更好的格式化功能,显然第一个if语句应该是第一行WriteString方法的额外行,而在else中,第一个应该是从WriteInteger(item.Data.SpriteId);额外的一行中断

希望你可以从那个简短的解释中得到我正在尝试做的事情...如果我在Resharper上运行代码清理我知道它不会从过去的经验中做到这一点,有谁知道我如何配置它?

例如,下面的代码......

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);
        }
    }
}

会变成这样的......

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);
        }
    }
}
c# .net visual-studio resharper jetbrains-ide
2个回答
1
投票

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

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

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

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


1
投票

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.