gpt4 book ai didi

c++ - 修复NamespaceComment 在 .clang-format 中无法按预期工作

转载 作者:行者123 更新时间:2023-11-30 03:19:55 25 4
gpt4 key购买 nike

我有一个cpp代码,如下所示:

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

namespace a {
const int b=1;
}

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

我尝试了以下 .clang-format 配置

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

预期输出包括命名空间右括号 //namespace a 末尾的注释。但如果命名空间中只有 int a 则不显示。

当我尝试在 namespace 中再添加一个变量时,效果很好。

我正在使用 clang-format-6.0

最佳答案

它已经以 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

关于c++ - 修复NamespaceComment 在 .clang-format 中无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53296301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com