【发布时间】:2011-09-07 15:09:30
【问题描述】:
我正在使用 VS 2010 + resharper,并且我厌倦了按照我的需要重新格式化代码中的括号缩进。例如,如果我有如下代码:
operators.Keys
.ToList()
.ForEach(k => filters
.AddRange(CustomHtmlHelpers.GetIdAndValueListByPrefix(queryString, k)
.Select(t => new QueryFilter()
{
Operation = operators[k],
PropertyName = t.Item1,
Value = t.Item2
})))
如果我把 ; 放在最后 VS(或 resharper)“修复”括号缩进,那么代码就变成了:
operators.Keys
.ToList()
.ForEach(k => filters
.AddRange(CustomHtmlHelpers.GetIdAndValueListByPrefix(queryString, k)
.Select(t => new QueryFilter()
{
Operation = operators[k],
PropertyName = t.Item1,
Value = t.Item2
})));
如果我使用 resharper 的代码清理,也会发生同样的情况。我可能可以关闭; 上的自动代码重新格式化,但在其他情况下我需要它。
我尝试在 VS 和 resharper 设置中更改代码格式化选项,但从未得到我想要的缩进。
我如何配置 vs 或 resharper 以便它不会做多个制表符格式?或者我可以使用其他插件(与 r# 一起)专门用于此目的?
编辑:对于任何对此问题感兴趣的人,在 r# 论坛http://devnet.jetbrains.net/thread/304794 中也有同样的问题,任何想从 r# 中看到更好的嵌套代码缩进的人都欢迎在这里投票http://youtrack.jetbrains.net/issue/RSRP-88220
【问题讨论】:
-
停止编写大量嵌套的代码?介绍更小的命名良好的方法、解释变量和更清晰的返回值。
-
@Ritch Melton 我喜欢这样,如果我这样写,我通常会得到更少的错误。这段代码 sn-p 来自我现在正在开发的当前功能,它没有经过重构阶段,所以请不要判断它。
-
我也喜欢这样的代码。这不是最好的例子,但通常链接方法调用 LINQ 风格更具表现力和可读性。至少对我来说。我想这是品味和编码风格的问题。
-
反正他不是问怎么写代码,而是问怎么配置resharper
-
如果您是 resharper 的付费客户,您是否尝试过向他们寻求解决方案?
标签: c# visual-studio-2010 resharper code-formatting brackets