Emacs中C模式下LSP+Company提供C++补全而非C补全的问题求助
Emacs中C模式下LSP+Company提供C++补全而非C补全的问题求助
我现在碰到一个Emacs配置的麻烦事:当我在C模式下用LSP的时候,所有的补全提示都是针对C的,完全不是C语言该有的内容,这真的很不方便——它会自动把C的库头文件加到我的C文件最顶部。
举个例子,我输入字母"m"的时候,它会给出malloc的补全,还自动在文件开头导入<cstdio>,这显然不是我想要的C语言行为。
以下是我的LSP配置代码:
(use-package lsp-mode :init ;;set prefix (setq lsp-keymap-prefix "C-c l") (setq lsp-diagnostics-provider :flycheck) ; Use flycheck for diagnostics (setq lsp-enable-snippet t) ; Enable snippet support (setq company-idle-delay 0.2) ; Set delay for completion pop-up (setq company-minimum-prefix-length 1) (setq lsp-clients-clangd-executable "clangd") :hook ((c-mode . lsp) (latex-mode . lsp) (lsp-mode . lsp-enable-which-key-integration)) :commands lsp :bind ("C-<return>" . ff-find-other-file)) (use-package lsp-ui :init (setq lsp-ui-doc-enable t lsp-ui-position 'at-point) :hook (lsp-mode . lsp-ui-mode))
备注:内容来源于stack exchange,提问作者Le cocotier
相关产品推荐
相关产品推荐

