C++ include header path autocomplete functionality

Hi,

is there any way to activate the include header path autocomplete functionality again in Xcode 13 using C++ or has this feature been abandoned?

Regards, Hartwig

Post not yet marked as solved Up vote post of Hardy Down vote post of Hardy
2.0k views
  • having the same problem. How on earth can this be? Apple please fix this asap

Add a Comment

Replies

meet same problem

import autocomplete only work like ../../xxxx.h

So far, I've found a way to get header path auto-complete working again in a C project under Xcode 13.

  1. From the menu bar, navigate to File -> Project Settings
  2. A modal appears showing Shared Project Settings and Per-User Project Settings. Under Per-User Project Settings, click the Advanced... button.
  3. For Build Location, select Legacy at the bottom
  4. Click Done and header auto-complete should work again.

Note: I've tried doing the same with a C++ project but the C++ std library headers don't appear in the auto-complete list, rather the C headers do. (?)

In a C project, typing #include <stdio.h> will now properly display a list of header names for autocomplete. This also appears to fix the issue with local project headers not auto-completing if found in a project subdirectory different than the current file.

One caveat is that if you try to type in a library header, e.g. #include <SDL2/ (i.e. stopping at the forward slash), the headers found in the library do not appear in auto-complete. So in this example, SDL_image.h (one header found in the SDL2 library), will not automatically appear as an available header to be selected in the drop-down list. You would have to type it in manually; i.e. #include <SDL2/SDL_image.h>.

  • you don't have to leave it on Legacy. You can switch it back and it will still work. Only seems to matter that this setting changes at some point.

Add a Comment

But this does not fix the issue that headers having a .hpp suffix are still not found.