C# 如何使用以下方法制作Resharper格式的行包装三元运算符

C# 如何使用以下方法制作Resharper格式的行包装三元运算符,c#,resharper,ternary-operator,C#,Resharper,Ternary Operator,我真的希望Resharper以这种方式格式化行包装的ternaries return navigator.IsTerminating ? navigator.Context : navigator.Context.GetSimulatableRelative(new Navigator(navigator)); 有人能帮忙吗?我认为没有现成的方法可以做到这一点。我知道影响R#格式化代码的唯一方法是通过以下设置: 重新竖琴-->选项…-->语言-->C#-->格式样式

我真的希望Resharper以这种方式格式化行包装的ternaries

return
    navigator.IsTerminating ?
    navigator.Context :
    navigator.Context.GetSimulatableRelative(new Navigator(navigator));

有人能帮忙吗?

我认为没有现成的方法可以做到这一点。我知道影响R#格式化代码的唯一方法是通过以下设置:

重新竖琴-->选项…-->语言-->C#-->格式样式

但这不允许您编写自己的自定义格式规则

如果你觉得自己是个挑战,那么你可以编写一个插件。有一些文档和一个SDK:


这个用例有点挑战性,因为我认为您基本上追求的是一个条件,即
return
语句后面有一个换行符,当且仅当所返回的语句是足够大小的三元表达式时。(或者,如果它是一个简单的如
x>y?1:0
?,您还会断线吗?)