在C ++中带有顺序括号的Emacs缩进

问题描述 投票:2回答:1

顺序括号上的Emacs自动缩进不能正常工作:

int main() {
    something(int i)(
        "test", "something"
                    );
}

如何像普通缩进一样修复此缩进:

int main() {
  something(int i)(
      "test", "something"
  );
}

主要模式信息:

  • major-mode是在“ C源代码”中定义的变量。
  • 其值为'c ++-mode'
c++ emacs indentation
1个回答
0
投票

cc-mode能够根据缓冲区中的缩进来智能地猜测所需的c-offsets-alist设置。为此,请根据需要在缓冲区中对齐代码,并评估M-x c-guess

缩进缓冲区,并假设它看起来不错,您可以使用M-x c-guess-view查看猜测的设置。然后,您可以将整个样式复制到某个地方的init中,也可以选择相关设置。

此外,您可以通过运行M-x c-show-syntactic-information并在该点处定位点,来了解哪些规则适用于给定线。但是请注意,由于其他规则/样式会相互影响,因此不会提供所有相关信息,但是在您的示例中,这会告诉您将arglist-close标识为相关规则。

© www.soinside.com 2019 - 2024. All rights reserved.