鉴于集合超过ReSharper中的Right margin (columns)
设置:
var list = new List<string> { "a", "lot", "of", "items" };
当我运行Cleanup Code
时,它会将其重新格式化为:
var list =
new List<string> {
"a",
"lot",
"of",
"items"
};
理想情况下,我希望能够产生这个:
var list = new List<string> {
"a",
"lot",
"of",
"items"
}
有什么建议吗?
答案 0 :(得分:1)
我假设您正在使用最新的ReSharper(10)。如果没有,您可以查找等效设置的措辞和位置。
试试这个:
代码编辑&gt;&gt; C#&gt;&gt;格式化样式&gt;&gt;大括号布局&gt;&gt;大括号布局&gt;&gt;数组和对象初始值设定项(将其设置为&#34;在行尾(K&amp; R样式)&#34;)
代码编辑&gt;&gt; C#&gt;&gt;格式化样式&gt;&gt;其他&gt;&gt;缩进&gt;&gt;连续线缩进倍数(将此值设置为1)
代码编辑&gt;&gt; C#&gt;&gt;格式化样式&gt;&gt;其他&gt;&gt;对齐多行构造&gt;&gt;数组,对象和集合初始值设定项(UNCHECK此框)
代码编辑&gt;&gt; C#&gt;&gt;格式化样式&gt;&gt;换行和换行&gt;&gt;线包装&gt;&gt;包装对象和集合初始化程序(设置为CHOP ALWAYS并为&#34执行相同操作;包装数组初始化程序&#34;如果您愿意)
代码编辑&gt;&gt; C#&gt;&gt;格式化样式&gt;&gt;换行和换行&gt;&gt;线包装&gt;&gt;保留现有格式&gt;&gt;保留现有的换行符(UNCHECK此框)
我认为最后一个可能是踢球者。我怀疑Visual Studio中的默认格式设置是在赋值运算符之后导致换行,而ReSharper因为你检查了最后一个设置而没有修复它。
此外,从意见的角度来看,我强烈建议不要使用第一点来保持开口括号在同一条线上(K&amp; R风格)。 C#约定是使用BSD样式。 K&amp; R在JavaScript和其他各种语言中很流行,但是当以这种方式编写时,C#对大多数人来说并不合适。尽管如此,做你想做的事!
如果这对你不起作用,请告诉我,我会更多地研究它。