FixNamespaceComment无法以.clang格式正常工作

时间:2018-11-14 08:58:21

标签: c++ clang-format

我有一个cpp代码,例如:

        try {
      let response = await fetch(
       "http://test.kelltontech.net/eventengine/getmyevents?hash=****&timestamp=****&id=****",
        {
          method: "GET",
          headers: {
            "Content-Type": "application/json"
          }
        }
      );
      let responseJson = await response.json();
      this.agendaDetails = await responseJson;
    } catch (error) {
      alert(error);
    }

我尝试了以下.clang格式的配置

#include<bits/stdc++.h>
using namespace std;

namespace a {
    const int b=1;
}

int main() {
    cout << "hello" << endl;
    return 0;
}

预期的输出在名称空间结束括号Language: Cpp BreakBeforeBraces: Custom BraceWrapping: AfterClass: false AfterStruct: true BeforeCatch: false BeforeElse: false FixNamespaceComments: true # add commend at end: NamespaceIndentation: All #intend content of namespace 的末尾包含一条注释。 但是如果在命名空间中只有int in,则不会显示。

当我尝试在命名空间中再添加一个变量时,它工作正常。

我正在使用clang-format-6.0

1 个答案:

答案 0 :(得分:2)

已经按照clang格式进行了硬编码,即名称空间结尾注释并没有添加到只有1行的名称空间中,这似乎是相当随意的,因为具有1或2或3条语句的名称空间之间没有太大差异。

违规代码:

// The maximal number of unwrapped lines that a short namespace spans.
// Short namespaces don't need an end comment.
static const int kShortNamespaceMaxLines = 1;

https://github.com/llvm-mirror/clang/blob/release_70/lib/Format/NamespaceEndCommentsFixer.cpp