【问题标题】:EditorConfig new line per parameter for function callsEditorConfig 函数调用的每个参数的新行
【发布时间】:2018-12-28 11:36:54
【问题描述】:

我一直在搜索文档,我认为这不是一个选项,但基本上我想强制函数调用的每个参数都在一个新行上。

例如我讨厌这个:

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);

【问题讨论】:

    标签: c# editorconfig


    【解决方案1】:

    我不知道特定于 EditorConfig 的解决方案,但如果您使用 Rider(或 ReSharper,我假设),您可以在 Editor -> Code Style -> @987654325 更改设置@ -> 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 的代码样式预览窗格:

    【讨论】:

      【解决方案2】:

      使用max_line_length,记录在案的here。做你想做的事,但只是间接地,通过收缩长度超过这个值的线。将值设置为类似80

      注意:Prettier is printWidth 的类似选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        • 2021-05-22
        • 2020-07-05
        • 2016-04-02
        • 1970-01-01
        相关资源
        最近更新 更多