如何配置Emacs以突出显示违反详细代码样式的C ++?

时间:2014-05-30 19:40:45

标签: c++ emacs coding-style

我一直在研究现有的C ++代码样式工具,并且还没有找到任何可以突出显示详细代码样式配置的文件部分的软件包。虽然基本代码样式设置似乎有几种选择(应该/不应该缩进的内容,行长度和某些阈值等),但似乎没有解决其他问题。对于上下文,我希望能够识别我何时执行以下操作:

  • {与功能定义相同的行(应该是下一行)
  • {在if语句之后的下一行(应该是同一行)
  • 之间没有空格)和{
  • 比较之间没有空格(应该是== b而不是== b,a == b等)
  • 连续新行
  • 键入* var_name或键入* var_name而不是类型* var_name
  • 等......

这种风格在我的团队中得到了很大的执行,而且我很难将不一致性降到最低。我正在寻找一个现有的emacs工具,它允许我广泛地自定义这些设置,或者有关如何创建emacs包的建议我自己识别这些错误。

2 个答案:

答案 0 :(得分:5)

正如Noufal所说,Flymake是一种选择。

另一个是Flycheck。几年前我从Flymake转到Flycheck并且没有回头看。 Flycheck支持大量语言和工具,并且似乎比Flymake需要更少的手持。

来自GitHub README

  

功能

     
      
  • 支持30多种编程和标记语言,使用60多种不同的语法检查工具
  •   
  • 在后台进行全自动,自动防故障,即时语法检查
  •   
  • 错误的错误指示和突出显示
  •   
  • 可选错误列表弹出
  •   
  • 许多自定义选项
  •   
  • 综合手册
  •   
  • 定义新语法检查程序的简单界面
  •   
  • “不妨碍你”保证
  •   
  • 许多第三方扩展程序
  •   

对于C和C ++代码,Flycheck支持Clang and Cppcheck out of the box,并且还有plugin for Google's C++ style guide

当然,如果您愿意,可以add your own checkers

答案 1 :(得分:2)

如果您可以将工具配置为以flymake可以理解的格式发出输出,那么它应该可以执行此操作。

许多工具,例如gcc本身和其他工具,以便flymake工作。