royqh1979 / RedPanda-CPP

A light-weight C/C++ IDE based on Qt
GNU General Public License v3.0
966 stars 106 forks source link

建议支持 clangd #65

Open rogeryoungh opened 2 years ago

rogeryoungh commented 2 years ago

clangd 已经具有比较丰富的特性,包括基于整个项目分析的代码补全、代码质量检查、部分修正提示(例如自动补头文件)。

而且 LSP 的形式比较方便前端对接,在 CLion、vscode、甚至 vim 中也可以使用。

一个可能有用的参考 github@cpeditor src/ExtensionsLanguageServer.cpp

royqh1979 commented 2 years ago

考虑过,但是放弃了,因为: (1)libclang只支持utf8编码 (2)windows控制台在使用utf8编码时,相关windows api函数不能正确读入用户输入的汉字内容(导致scanf/cin不能正常工作); (3)在教学时或多或少会处理中文输入输出的需求,结合(2)综合考虑,目前在windows下进行C/C++教学时还是使用gbk编码为好。

因此,短期内不会使用clang相关工具

rogeryoungh commented 2 years ago

对于编码问题,我有一个可能不切实际的想法。

不用cmd,自己实现一个简易的终端,加一点编码探测,或者让自行选择编码。还可以走的更远,比如输入输出颜色不同,选择粘贴更方便,高亮信息……

CrystalLiquid commented 3 months ago

可以用llvm-mingw实测,但是缺少string等的高亮支持,,,至于clangd,很悬