【问题标题】:Resharper reformatting Linq statement to put into and select on same lineResharper 重新格式化 Linq 语句以放入并在同一行选择
【发布时间】:2013-06-20 14:06:22
【问题描述】:

当我输入类似 Linq 查询样式的语句时

var stuff = from x in things
            group x by x.Something into g
            select g;

Resharper 正在将其重新格式化为

var stuff = from x in things
            group x by x.Something
            into g select g;

然后抱怨它,因为它违反了 StyleCop 规则 SA1103。这是 Resharper 中的错误,还是我需要更改某些设置组合以防止它重新格式化?

编辑

JetBrains 已确认这是一个错误,并已在 8.0 版中修复。

【问题讨论】:

  • 我已经用 JetBrains 填写了一张票,当我收到他们的回复时会更新。
  • 您介意提供票证链接并在此问题上标记答案以将其关闭吗?
  • @AdamHouldsworth 我提交的“请求”似乎没有公开。
  • 当我看到优先级被停止时笑了,希望我能让这样的事情阻止我发布代码:-)

标签: c# linq resharper


【解决方案1】:

查看 ReSharper 的选项,代码编辑 -> C# -> 格式化样式 -> 其他名为“Align Multiline Constructs, LINQ query”下有一个选项。

这似乎控制了相关的格式(禁用它会导致多行 linq 查询不按位置对齐,而只是按制表符缩进)。

基于对into 发生的事情没有任何更精细的控制这一事实,我会说这要么是错误,要么是他们遗漏的要求。或许要开张罚单。

老实说,我期待在“换行符和换行”下找到一些东西,但那里没有 linq 查询。

VS 2012 上的 ReSharper 7.1.1000.900

【讨论】:

  • 是的,我尝试关闭该选项,但它仍然将 in 和 select 放在同一行。它只是没有将它们与 from 对齐。猜猜这是一个错误。
  • @juharr 是的,我期待在“换行和换行”下找到一些东西,但可惜什么都没有。我建议如果他们增强 ReSharper 来满足这一点,那么应该在其中放置一个配置选项。
猜你喜欢
  • 2013-07-26
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多