【问题标题】:Flycheck - disabling Clang as a checker *permanently*Flycheck - 永久禁用 Clang 作为检查器*
【发布时间】:2026-02-14 03:15:01
【问题描述】:

我使用 Flycheck 来检查 C 文件,并为 GCC 设置了相当精细的变量以使其正常工作。但是,由于我的系统上有 Clang(出于与代码无关的原因),Flycheck 总是假设这是我想要使用的,迫使我一直手动切换检查器。

我试图寻找一种方法来永久禁用 Clang 作为检查器,但结果是空的。帮助将不胜感激。

【问题讨论】:

    标签: emacs clang flycheck


    【解决方案1】:

    您应该能够将c/c++-clang 添加到变量flycheck-disabled-checkers。来自这个变量的文档(C-h v flycheck-disabled-checkers):

    从自动排除的 Flycheck 语法检查器列表 选择。 Flycheck 永远不会自动选择语法 此列表中的检查器,无论 `flycheck-checkers'。

    只需将(add-to-list 'flycheck-disabled-checkers 'c/c++-clang) 添加到您的初始化文件中。

    【讨论】:

    • 这似乎没有修复它 - 它仍然默认为新的 .c 文件上的 Clang。
    • 这个变量默认是本地缓冲区。您需要使用setq-default 来更改全局值。
    • @lunaryorn:那么我需要在我的初始化文件中添加什么?我对 Emacs Lisp 还是有点陌生​​。
    • @KozRoss 抱歉。要么将(setq-default flycheck-disabled-checkers '(c/c++-clang)) 添加到初始化文件中,要么使用自定义:M-x customize-group RET flycheck RET 并自定义禁用的跳棋组。