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

EJ *_*ins 3 c++ emacs coding-style

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

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

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

Chr*_*ris 5

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

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

从它的GitHub自述文件:

特征

  • 支持超过30种编程和标记语言,具有60多种不同的语法检查工具
  • 在后台进行全自动,故障安全,即时语法检查
  • 漂亮的错误指示和突出显示
  • 可选的错误列表弹出窗口
  • 许多自定义选项
  • 全面的手册
  • 用于定义新语法检查器的简单界面
  • 一个"不妨碍你"的保证
  • 许多第三方扩展

对于C和C++代码,Flycheck开箱即用支持Clang和Cppcheck,并且还有一个Google的C++样式指南插件.

当然,如果您愿意,可以添加自己的检查器.