You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 08:43:08