When a type is introduced via a using declaration, it is not fully recognized by the code model: the name is rendered colorless, have no tooltip, but it participates in code completion. #include <string> using std::string; int main() { string s; // "string" is colorless and has no tooltip s. // code completion works here } Introducing types via type aliases (using string = std::string) works. Version 5.10.230370 (23.03.70)