C/C++ Language Servers, The Next Generation is Now | EclipseCon Europe 2018
EclipseCon Europe 2018
Ludwigsburg, Germany · October 23 - 25, 2018
https://www.eclipsecon.org/europe2018
Speaker(s):
Doug Schaefer (BlackBerry QNX)
https://www.eclipsecon.org/europe2018/sessions/cc-language-servers-next-generation-now
From almost the beginning of it's existence, CDT has enjoyed a rich set of language services powered by it's handwritten C and C++ parsers and symbol index database. It feeds you're typical editor features such as content assist and semantic highlighting as well as source navigation features and searching, static code analysis, and refactoring. When set up correctly, it provides a powerful environment that provides world class productivity to our users. And to help, we have automated discovery mechanisms that try to understand the environment that the toolchain operates to make sure we're parsing just like it does.
But, we have a problem. While those parsers got us off the ground and into the mainstream, the C and C++ languages, especially C++, are advancing at a much higher pace than our small team can keep up. When we look out into the ecosystem for alternative architectures and we see some hope with the clang-based language servers, cquery and clangd. However moving into this world will not be as easy as flipping a switch.
This talk will go over the features we need from language servers and thier current status. We'll discuss the magic behind CDT's language services that would need to be replicated for them to reach feature parity. We'll also discuss why this matters and show off some of the wonders of Modern C and C++ and their uses in new and familiar places.