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

Emacs配置lsp-mode+ccls后函数补全带参数占位符问题求助

解决lsp-mode + ccls函数补全参数占位符问题

方案1:将占位符改为仅显示参数类型

添加以下配置到你的Emacs初始化文件,调整ccls的补全标签格式,让参数占位符只保留类型信息:

(setq ccls-initialization-options
      '(:completion
        (:detailedLabel t
         :placeholder t
         :labelFormat "${type}")))

配置生效后,补全foo函数会显示为foo(${1:int}, ${2:String *}),仅保留参数类型作为占位符内容。

方案2:完全移除所有参数占位符

如果不需要任何占位符,直接关闭lsp的代码片段(snippet)功能即可,补全后仅生成函数名加空括号:

;; 全局关闭lsp snippet功能
(setq lsp-enable-snippets nil)

;; 或者仅针对ccls关闭snippet
(setq ccls-initialization-options
      '(:completion
        (:enableSnippet nil)))

若你使用company作为补全框架,还可以补充设置:

(setq company-lsp-enable-snippets nil)

配置修改后,重启Emacs或重新打开项目,让lsp-mode重新加载ccls配置即可生效。

内容的提问来源于stack exchange,提问作者Zanchet2020

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:58:13