93671


VSCodeの標準のフォーマッタを利用しています。(C/C++ Extention?）  
空白の改行を２行入れたいのですが、１行しか入れることができません。  
あまり関係ないと思いますが、言語はC言語です。  
MaxEmptyLinesToKeep という設定で本来は設定出来るらしいのですが、上手くいきません。  
設定内容にエラーは出ていないです。(vscodeの出力欄になにも出ていないので）

以下の例では変数の宣言ですが、関数、マクロ、コメントで２行空白を入れたいです。

[code]

    int i;
    
    
    int j;
    
[/code]

現在のclang-formatの設定は下記の通りです。

[code]

    BasedOnStyle: LLVM
    UseTab: Never
    IndentWidth: 4
    BreakBeforeBraces: Attach
    IndentCaseLabels: false
    ColumnLimit: 0
    AllowShortCaseLabelsOnASingleLine: true
    AllowShortIfStatementsOnASingleLine: AllIfsAndElse
    AfterControlStatement: false
    SortIncludes: Never
    AlignConsecutiveMacros:
      Enabled: true
      AcrossEmptyLines: false
      AcrossComments: true
    
    MaxEmptyLinesToKeep 2
    
[/code]

**23/02/02 追記1**  
希望の動作は、`MaxEmptyLinesToKeep 2` を設定した動作を希望していますが  
設定しても反映されませんでした。  
`OverEmptyLines: 2` も設定してみましたが、反映されませんでした。

**23/02/02 追記2**  
フォーマット前、後、希望する動作を追記しました。

フォーマット前（変数 i と j の宣言の間に空白の改行が2行あります）

[code]

    int i;
    
    
    int j;
    
[/code]

フォーマット後（空白の改行が１行削除されます）

[code]

    int i;
    
    int j;
    
[/code]

希望する動作（フォーマットしても改行を２行保ってほしいです。）

[code]

    int i;
    
    
    int j;
    
[/code]


CC BY-SA 4.0
2023-02-01T10:14:51.303
93665
2023-02-02T04:21:19.990
2023-02-02T04:21:19.990
55195
55195
question
vscode
VSCodeのclang-formatについて、空白行が１行しかできません。


VSCode は使用していないのでキーワードで少し調べた程度ですが、Clang-Format の `MaxEmptyLinesToKeep`
に関する説明を読む限り "保持する連続空行の最大数" のようです。

<https://clang.llvm.org/docs/ClangFormatStyleOptions.html#maxemptylinestokeep>

> The maximum number of consecutive empty lines to keep.

ここでは例として `2` とすると、あくまで 2行以上の空行は 2行になるように整形するけど、逆に 2未満の場合 =
1行だけの空行に対しては何もしない、のような気がします。("常に2行の空行にする" では無い)

関連しそうなオプションとしては `OverEmptyLines` があるようです。


CC BY-SA 4.0
2023-02-01T12:33:20.407
93671
2023-02-01T12:33:20.407
3060
93665
answer