Virtual Meetup: C++ Editor Tooling with Clangd and LSP

Hi Community,

I am happy to announce that this Thursday (the 13th of January), Botond Ballo will hold the discussion about “C++ Editor Tooling with Clangd and LSP”

Also, remember that we changed the link to join the Meetup!

Developers today expect development tools such as editors to offer features based on a semantic-level understanding of their code. This presentation explores various approaches editors take to provide semantic features, with a focus on the C++ programming language.

Eclipse’s C/C++ Development Tools (CDT) are a classical example of an editor rolling its own semantic understanding of C++. It has served the C++ developer community well, but more recently has lagged behind in support for newer C++ language features.

In recent years, the Language Server Protocol has emerged as a promising technology that decouples components providing semantic language understanding (language servers) from the editors that make use of them (language clients). The C++ community has converged on Clangd as the leading open-source C++ language server implementation.

Providing performant and accurate editor tooling for C++ is particularly challenging, due to the language’s unique features, such as its textual header inclusion model, conditional branches in the preprocessor, and its approach to parameterized code (templates). Clangd makes a number of architectural innovations to tackle these challenges. The C++ community has additional improvements to look forward to in the editor tooling space, both from further enhancements to Clangd’s implementation, as well as benefits to be reaped from new C++ language features such as Modules and Concepts.

Botond Ballo is a software engineer passionate about C++ and developer tooling.

Botond works for Mozilla on the Firefox web browser’s rendering engine, a large open-source C++ codebase which more recently has also gained components written in Rust. Botond also contracts with Ericsson to work on the Clangd C++ language server, a server-side implementation of the Language Server Protocol which is promising to serve as the basis for the next generation of C++ editor tooling. Botond has previously contributed to the Eclipse C/C++ Developer Tools for several years, and is working to apply the insights gained about C++ editor tooling during that process, to his current efforts to improve Clangd.

Botond contributes to the Eclipse and LLVM communities under the pseudonym Nathan Ridge.

Registration for the Virtual Meetup

After registering, you will receive a confirmation email containing information about joining the meeting. It will also permit you to add it to your calendar.

Time

It is hosted on Zoom at 6 PM GMT+1/CEST (you can use this link to figure out which time is in your timezone: Dateful Time Zone Converter).

Event hint

I am also happy to extend the invitation to the MDENet Annual Symposium online on the 26th and 27th of January 2022. The event is free to attend so reserve your place here. There will be tutorials, challenge talks, informal networking sessions, roundtables and ample opportunity to mix with other like-minded people from the MDE world. Also, there will be a wide range of sessions including keynote speakers: Tony Clark, Aston University; Balbir Barn, Middlesex University or Mohammadreza Mousavi, King’s College.

Cheers,
Elisa

P.S. We get a recurring question: “Are presentations recorded?”. The answer is not, and the reasons are explained here https://d.strumenta.community/t/on-recording-virtual-

1 Like