【发布时间】:2013-10-17 17:13:55
【问题描述】:
我正在尝试微调包含 emacs prelude 的 emacs 设置。
我想将cppcheck 作为flycheck 的默认检查器,并在默认情况下为GNU Global 激活ggtags。我主要编写 C++ 代码。它以前对 ggtags-mode 变量有效,但现在似乎不再有效了。
(load "/home/user/.emacs.d/init.el")
(defun my-c-mode-common-hook ()
"Hook for all c derived modes."
(c-add-style "my-style"
'("stroustrup"
(c-offsets-alist
(innamespace . [0])
(inline-open . 0)
(inher-cont . c-lineup-multi-inher)
(arglist-cont-nonempty . +)
(template-args-cont . +))))
(setq c-default-style "my-style")
(when (derived-mode-p 'c-mode 'c++-mode)
(ggtags-mode 1)
(flycheck-select-checker "c/c++-cppcheck"))
)
(add-hook 'c-mode-common-hook
(my-c-mode-common-hook))
我收到一条警告,上面写着the following functions are not known to be defined: ggtags-mode, flycheck-select-checker。但是在加载.emacs文件的时候加载,没有错误。
谁能帮助我正确配置这两种次要模式?对我来说,这似乎是正确的做法,但显然我错过了一些东西。
【问题讨论】:
-
仅供参考:
flycheck-select-checker需要一个符号作为参数,而不是字符串,即(flycheck-select-checker 'c/c++-cppcheck)。 -
我很久以前就更正了。还是谢谢你。