@Mithril 单说补全的话,VSCode 也能用 clangd ,clangd 本身不是专门为了某个 IDE 开发的。
但是问题也就在这,VS 的 C++ IntelliSense 的前端和编译器(一般 C++ 社区所指的 MSVC )前端貌似是两套代码,这意味着 IntelliSense 的前端可以专注于为补全场景优化。而对于 Clang 来说,离线编译是主要场景,clangd 是个附属品,于是就有了 #45 的各种问题。
VSCode 的官方 C++ 插件的 IntelliSense ,据说是和 VS 用的同一套代码,不过我没咋用过不好评价。
Debugger 和 Profiler 现在还差太远,没法比。
举个例子,DWARF 格式调试信息的符号表,一直都是线性存储的,也就是说如果你有个大项目,开调试器得先扫一遍全部调试信息。大家其实一直知道这个问题,比如 Apple 和 GNU 都有一些扩展加入哈希表之类的数据结构,Apple 的应该是默认打开的,但是 GNU 的貌似要额外加一些选项。这种加速结构进入标准是在最新的 DWARF5 中,然而依然是可选的。