如何在emacs中获取没有返回类型的函数的正确缩进?

时间:2014-07-23 15:12:34

标签: emacs

我正在使用C ++模式编写一些代码 我发现对于某些没有返回类型的函数,错误地完成了缩进(缩进到行的开头)。一个常见的情况是类类型的构造函数,例如

 class Person {
 public:
 Person(const std::string &s): name(s) { }
 Person(const std::string &s0, const std::string &s1): name(s0), address(s1) { }

 private:
   std::string name = "Default_Name";
   std::string address = "Default_Addr";
 }

初始化列表之前的冒号也可能是一个原因。

问题:
有没有解决这个问题?

1 个答案:

答案 0 :(得分:4)

评论的格式不是很好,所以我在这里回答:

是的,我之前也被我咬过了。最佳解决方案取决于您是否认为您将编写大量C代码。如果你将,那么你可以在最后用“.hh”命名你的C ++标题,所以Emacs知道。

或者,您可以设置一个设置模式的文件局部变量:file local variables

或者,如果您不会编写大量C代码,可以在.emacs中修改auto-mode-alist,以便.h默认为c ++模式:

(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))