提问人:L0ren2 提问时间:10/1/2023 更新时间:10/1/2023 访问量:30
Emacs 中使用 C++ 类内定义的成员函数的 Allman 缩进
Allman indentation in Emacs with C++ in-class-defined member-functions
问:
我想要 Allman 缩进。因此,我尝试将以下每个设置:、、。这些都没有解决我在下面的代码片段中看到的行为。c-default-style
stroustrup
bsd
linux
注意:这个问题只与成员函数的类内定义有关,这就是为什么其他关于 Emacs 缩进的答案没有回答这个问题的原因。正如您在代码片段中看到的,类外定义正是我想要的样子。进一步注意:当我在 Emacs 中制作代码示例并将它们粘贴到这里时,我注意到它的格式类似于,我不得不调整 stackoverflow 的 markdown 编辑器中的缩进以匹配我在 Emacs 中看到的内容。我在这里得到的是,也许这可能是 Emacs 的显示问题,而不是实际的缩进问题?Emacs 版本为 29.1。2.)
1.)
struct Foo
{
// 1.)
void bar()
{
std::cout << "\n" << std::endl;
}
// 2.)
void printFoo()
{
std::cout << "foo" << std::endl;
}
// 3.)
void printFoo() const {
std::cout << "const foo" << std::endl;
}
void printFooNum(int foonum);
};
// 4.)
void Foo::printFooNum(int foonum)
{
std::cout << "foonum: " << foonum << std::endl;
}
1.)
是我试图实现的缩进样式。
是我尝试过的任何缩进样式的默认结果(见上文)。
是当我将大括号留在最后一行时我得到的,这可能是可以接受的,但它不是 Allman(因此不是我想要的)。
是我默认得到的(以及我想要的),但这是一个类外定义。我也希望这适用于课堂内定义。2.)
3.)
4.)
我还为您提供了我的init.el的相关部分:
(setq c-default-style '((c++-mode . "stroustrup")
(c-mode . "stroustrup"))
c-basic-offset 4)
(setq evil-shift-width 4)
答: 暂无答案
评论