我一直在拖网文档,我不认为这是一个选项,但基本上我想将函数调用的每个参数强制放在新的一行。
例如我讨厌这个:
var result = GetResult(request, startDate, endDate, myTypes,
false, false, pageNumber);
我更讨厌这种情况(每行的参数数量不同):
var result = GetResult(request, startDate, endDate, myTypes,
person, thing,
false, false, pageNumber, penny, job, situation, context);
我希望您有一个editorconfig
条目,才能使以上内容变为:
var result = GetResult(
request,
startDate,
endDate,
myTypes,
false,
false,
pageNumber);
和
var result = GetResult(
request,
startDate,
endDate,
myTypes,
person,
thing,
false,
false,
pageNumber,
penny,
job,
situation,
context);
理想情况下,我可以在强制执行上述操作之前指定参数的最大数量,但这可能是个白日梦。我想要1或2,甚至3个参数保留在下面的一行上:
var result1 = GetResult(request);
var result2 = GetResult(request, startDate);
var result3 = GetResult(request, startDate, endDate);
//only after 3 force the rule
var result4 = GetResult(
request,
startDate,
endDate,
myTypes);
答案 0 :(得分:1)
使用here中记录的[['a', 'b'], ['b', 'c']]
。通过收缩长度大于此值的线来做您想做的事情,但只能间接地做将该值设置为max_line_length
之类的。
注意:漂亮is 80
的类似选项。
答案 1 :(得分:0)
我不知道特定于 EditorConfig 的解决方案,但是如果您使用 Rider(或我假设的 ReSharper),您可以在 Editor
-> Code Style
处更改设置-> C#
-> Line Breaks and Wrapping
。
在 Arrangement of Method Signatures
下,将 Wrap formal parameters
设置为 Chop if long or multiline
。
在 Arrangement of Invocations
下,将 Wrap invocation arguments
设置为 Chop if long or multiline
。
来自 Rider 的代码样式预览窗格: