配置cudatext代码LSP cpp补全以及解决始终不显示补全窗口的问题

⌚Time: 2026-01-05 18:23:00

👨‍💻Author: Jack Ge

下载和安装

cudatext主页:https://cudatext.github.io/

github:https://github.com/Alexey-T/CudaText

sourceforge:https://sourceforge.net/projects/cudatext/

到sourceforge下载最新版cudatext windows安装包解压就能用

clangd服务器下载地址:https://github.com/clangd/clangd/

下载后解压,把bin目录添加到windows的PATH路径里。在cmd里面输入测试命令能够输出信息就是对的

clangd -version
clangd version 21.1.8 (https://github.com/llvm/llvm-project 2078da43e25a4623cab2d0d60decddf709aaea28)
Features: windows+grpc
Platform: x86_64-pc-windows-msvc

配置文件

在安装目录的settings文件夹,建立lsp的配置文件,名字就是固定的lsp_language.json,比如c/cpp的就是lsp_c.json

lsp_c.json

{
  "lexers": {
    "C++": "cpp",
    "C": "c"
  },
  "cmd_unix": [
      "clangd-12",
  ],
  "cmd_windows": [
      "clangd",
  ],
}

安装插件

启动cudatext,在Plugins->Addons Manager->Install选择插件安装。对于c/c++需要安装2个,LSP Client和Lexer:cpp。点击安装

cudatext Plugins

cudatext Plugins

如果网络有问题,那就需要手动下载插件安装,插件就是在sourceforge:https://sourceforge.net/projects/cudatext/

手动下载的插件,在cudetext里直接点击File->Open file,选择插件包就能够安装了。

安装之后要重启软件

中文输入法的问题

安装插件之后。编辑cpp代码应该就可以实现代码补全了。但是有一个问题,就是默认代码补全的快捷键是ctrl+space。如果系统是微软拼音中文输入法,这个快捷键就会变成切换中英文。屏蔽了代码补全的功能,导致你怎么样都不可能出现代码补全窗口。

解决办法是3个:

  1. 按windows+space,切换到纯英文输入法

  2. 在cudatext的setting里修改代码补全快捷键为别的

  3. 在cudatext的setting里设置代码自动补全,不需要按快捷键

第2办法:按F1弹出快捷键菜单。查找代码补全快捷键,按F9修改快捷键。修改成ctrl+enter也可以

第3种办法:在Options->Settings-default里面,修改一项

"autocomplete_autoshow_chars": 0,

把这个设置成2或者3。0是禁用自动补全,2,3是设置输入2-3个字符后自动弹出补全。

"autocomplete_autoshow_chars": 2,

之后就可以实现使用LSP服务器cpp代码自动补全了。

新建一个cpp文件。如果下面的状态栏没有识别是cpp文件,显示none,一定要在下方lexer手动选择cpp

cudatext Plugins

之后会发现clangd服务启动。出现语法高亮和代码警告和报错信息,输入代码出现代码提示窗口

cudatext Plugins

经历

我一开始使用cudatext配置了clangd作为代码服务器。按理说它应该出现代码补全。但是它没有出现。就像一个纯文本编辑器一样。我检查任务管理器,连clangd服务进程都没有。

我到github提了问题。他们作者回答。

一开始他们让我安装了MS build tool,但是没有用,后来他们看出来我没有语法高亮,让我安装lexer:cpp插件。

我安装了之后,选择cpp lexer,直接出现了语法高亮,和clangd服务启动的信息。

出现了代码错误和警告提示。但是还是没有代码补全窗口出现。

之后他们认为是clangd的问题。第二天我换了一个电脑。发现不仅仅是cpp,其它的html,css都没有任何补全窗口

他们告诉我要按ctrl+space触发补全。我按了,出现了1次窗口。我认为问题解决了。

之后我再按。又没有用了。

最后我看到右下角输入法在我按ctrl+space不停的切换中英文。之后我切换到纯英文输入法。语法补全窗口就出现了。

所以问题就是微软中文输入法和ctrl+space冲突的问题。

解决办法就是更改快捷键或者设置自动补全。