💡
原文中文,约9500字,阅读约需23分钟。
📝
内容提要
作者正在开发C++语言服务器clice,旨在解决现有语言服务器(如clangd)的问题。clice通过改进模板支持、头文件上下文和C++20模块支持,提升代码补全和编译效率。项目经过几个月的设计与开发,仍需时间完善,欢迎读者提出建议。
🎯
关键要点
- 作者正在开发C++语言服务器clice,旨在解决现有语言服务器的问题。
- clice通过改进模板支持、头文件上下文和C++20模块支持,提升代码补全和编译效率。
- clice的名字来源于作者的头像alice,首字母替换为C/C++的c。
- 项目经过几个月的设计与开发,仍需时间完善,欢迎读者提出建议。
- 开发新语言服务器的原因是现有的clangd存在许多问题,特别是在模板支持和性能方面。
- 作者在研究clangd时发现了多个问题,决定自己开发一个新的语言服务器。
- clice的主要改进包括更好的模板支持、头文件上下文和完全支持C++20模块。
- clice将支持头文件上下文,能够根据不同源文件的上下文处理头文件。
- clice将提供编译器和构建系统无关的C++20模块支持,解决模块重复编译的问题。
- clice设计了一种更高效的索引格式,能够快速响应查询请求。
- clice使用C++20的协程设施进行异步编程,提升代码可读性和性能。
- clice实现了增量编译,减少了频繁修改文件时的解析时间,提高用户体验。
➡️