0

我正在使用google-c-style.el来缩进我的 c++ 程序。类中的函数将缩进如下: 在此处输入图像描述

这不是我想要的,我想要这个:

在此处输入图像描述

这是我在 .emacs 中的设置:

(setq c-default-style "linux")

(setq c-basic-offset 4)

(需要'cc模式)

(需要'google-c-style)

(添加钩子'c-mode-common-hook'google-make-newline-indent)

4

1 回答 1

1

看起来您还需要:

(add-hook 'c-mode-common-hook 'google-set-c-style)

目前,即使您使用requiregoogle-c-style,它也不会在调用上面的 defun 之前添加样式。文档字符串说它也应该被添加到钩子中。


更一般地说,对于缩进问题,您需要了解c-offsets-alist

它允许您自定义如何在不同的句法元素上执行缩进。找出您需要修改哪个元素的一种简单方法是转到该位置(例如,在您的示例中打开括号)fun()并点击C-c C-sc-show-syntactic-information

而不是使用这个 google 风格的脚本,我个人会从它或其他 c 风格派生并覆盖这些值以适应我的口味。

例如,我注意到您期望 c-basic-offset 为 4,但 google-style 使用的 c-basic-offset 为 2,因此您可以从 Google 样式派生并覆盖以替换 c-basic-offset。

查看:如何让 Emacs 在我的 C++ 代码中将访问级别修饰符放在他们自己的缩进级别中?例如。

于 2013-07-01T04:25:39.317 回答