当前位置: 首页 > news >正文

eclipse-2026导入cdt lsp插件实现语法服务

参考文档 Eclipse CDT LSP - LSP based C/C++ Editor

1.下载eclipse

  1. 打开eclipse download packages
  2. 找到Eclipse IDE for C/C++ Developers,根据需要点击对应的平台
  3. 找到对应的镜像进行下载


    例如此处我就使用了南京大学的镜像进行下载China - eScience Center, Nanjing University

    具体下载地址为
    https://mirrors.nju.edu.cn/eclipse//technology/epp/downloads/release/2026-06/R/eclipse-cpp-2026-06-R-win32-x86_64.zip

2.安装clangd-lsp插件

参考文档 Eclipse CDT LSP - LSP based C/C++ Editor#Try it out

  1. 选择你想要的的workspace打开eclipse

  2. 点击Help -> Install New Software

  3. Add Repository
    在打开的Install界面点击Add…按钮
    在Add Repository输入如下
    Name: Eclipse CDT LSP - LSP based C/C++ Editor
    Location: https://download.eclipse.org/tools/cdt/releases/cdt-lsp-latest
    点击Add

  4. 勾选全部组件,点击Next,然后继续点击Next,再同意Licenses,点击Finish

  5. 等待安装完成,然后点击Restart Now

  6. 验证是否安装成功
    重启后打开Eclipse,点击Help->About Eclipse IDE菜单
    在About界面点击Installation Details,在Installed Software标签页输入lsp,如果出现如下几个组件,说明安装成功

  7. 设置默认编辑器
    点击Window->Preferences,找到C/C++ -> Editor(LSP) -> clangd
    勾选Set C/C++ Editor(LSP) as default

  8. 配置打开clangd的log

3.使用cdt-lsp插件

  1. 创建cmake project
    点击File->New->C/C++ Project

  2. build project
    在hellocmake工程上点击右键Build Project,看到如下输出,说明编译成功
  3. 使用C/C++ Editor(LSP)编辑器打开hellocmake.cpp
    鼠标hover到std::cout上面,如果出现如下代码提示,说明clangd插件安装成功,这段代码提示就是来自于clangd.exe

问题解决

1.缺失构建工具ninja

如果在创建的cmake project上点击build project,但是编译失败CMake Error: CMake was unable to find a build program corresponding to “Ninja”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.


说明ninja这个构建工具没有放到环境变量中
下载ninja,并将ninja.exe放到环境变量目录中,我把它放到了mingw/bin目录下
ninja releases
再次编译就可以看到编译成功了

2. 没有识别到config.h

打开编辑器如果config.h爆红,说明还没有编译。clangd还没有识别到config.h
build project再重新打开编辑器即可
如果编译后还是出现爆红,那就运行一下hellocmake

3. .clang-format文件不生效

用eclipse创建的项目默认的.clang-format文件格式如下

# We'll use defaults from the LLVM style, but with some modifications so that it's close to the CDT K&R style. BasedOnStyle: LLVM UseTab: Always IndentWidth: 4 TabWidth: 4 PackConstructorInitializers: NextLineOnly BreakConstructorInitializers: AfterColon IndentAccessModifiers: false AccessModifierOffset: -4

然后我修改IndentWidth和TabWidth为8,再格式化代码,发现TabWidth不是8,我的修改没有生效。
原因不是 IndentWidth: 8 无效,而是 .clang-format 里这一行当前 clang-format 15.0.1 不认识

PackConstructorInitializers: NextLineOnly

改成 clang-format 15 支持的:

PackConstructorInitializers: NextLine

然后再格式化代码,可以发现生效了

http://www.jsqmd.com/news/1116049/

相关文章:

  • Java反序列化漏洞深度剖析:CommonsCollections利用链原理与防御实战
  • 植物大战僵尸宽屏补丁:告别黑边,拥抱全屏沉浸体验
  • PIC18LF47K42与IS31FL3731 LED驱动方案详解
  • macOS逆向工程实践:通过运行时Hook技术学习客户端行为修改原理
  • 如何快速上手PilotGo-plugins:5步完成插件安装与配置
  • isula-transform 未来路线图:容器生态系统的演进与展望
  • witty质量评估体系详解:如何从5个维度自动打分优化AI经验库内容
  • Java实现跨境支付加密全流程:AES+RSA+数字签名实战解析
  • 安卓项目提交Gitee并建立新的测试分支
  • 科视 Christie Jazz 系列投影机助力苏州科技馆“消失的动物园”沉浸式展示
  • 免费开源替代方案:微G服务(GmsCore)完整使用指南
  • MC74HC165A移位寄存器在IO扩展中的高效应用
  • Kiran-panel国际化与本地化实践:多语言支持的完整实现方案
  • 上海中小企业GEO优化服务:技术自研、本地化与定制能力评估
  • 如何用witty大规模并行审计功能:AI替代人工核查海量经验库的终极指南
  • ICM-42688-P与TM4C129EKCPDT在机器人控制与工业监测中的应用
  • MAX9744与PIC18F85K90构建高效D类音频放大系统
  • 基于STM32单片机甲醛浓度检测 温湿度 有害气体 空气质量系统2(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • 策略模式精讲+实战
  • 当你的AI助手学会“暗语”:Claude Code 隐写标记事件深度解析
  • AD74413R与STM32F722VE的SPI通信与同步控制实现
  • 2026年10款精选论文降AI率软件实测:规范定稿实战对比实用指南
  • openEuler/llm_solution多模型支持:DeepSeek、Qwen、Llama等50+主流模型部署对比
  • 如何用League Akari打造你的英雄联盟终极自动化助手:完整指南
  • utsudo多架构支持:AMD64/ARM64/loongarch64部署最佳实践
  • PIC32MX675F512L驱动WS2812 LED的嵌入式开发实践
  • EulerPublisher容器镜像测试完全指南:shUnit2框架的实战应用
  • 炉石传说55项全能优化插件HsMod:终极游戏体验增强方案
  • C#调用YOLOv8实现工业视觉检测:.NET开发者的快速集成指南
  • 计算机毕业设计之黄海学院毕业生管理系统