Adding IDE Support for Coroutines

C++20 was recently finalized, and I know that many of us in the community are eager to begin exploring its new features. This article outlines how to set up an IDE with autocomplete, reference tagging, and other modern features, such as coroutines.

Intro To Coroutines

Coroutines were introduced in C++20, and let me tell you, they are amazing for any and all asynchronous applications. A coroutine is a function that you can suspend and resume later, and C++20 gives you complete control over how, when, where suspending/resuming happens.

Intro to Awaitables

Awaitables form the basis of C++20’s implementation of coroutines, and for good reason: they provide a simple, flexible, and generic interface that allows you to build pretty much any kind of coroutine. What’s more, awaitables are the way to make existing classes and types usable with the powerful features that coroutines provide.