Xcode 12.3 autocomplete does not work

Hi,

I’ve recently updated my Mac to Big Sur 11.1 (I was on Mojave) and to the latest versione of Xcode (12.3). I have made a fresh install of the OS, and then I’ve downloaded the latest JUCE version from the website (I was using the latest version also before the update to Big Sur). I am currently working on an audio application and a plugin, so I have downloaded my projects from my repos to work on them.

The audio application did not compile, due to the “11_0” problem, but I found on the JUCE develop branch the fix and now compiles without problems.

Then I moved on to the audio plugin and it compiled without issues.

The problem otherwise is the fact that now autocomplete works only in PluginEditor/PluginProcessor .cpp files, while in all the other .h files no. The other .h files are component classes, created with the Projucer (Add new component class etc…). The same happens in the audio application, where only in the MainComponent file the autocomplete works. I’ve always used it everywhere in my projects, why now is not working anymore? For example if I have a TextButton called startButton, when I write startButton.setB nothing happens, while it should suggest the function “setBounds”. If I do the same thing in the PluginEditor.cpp it works perfectly.

The settings inside the Projucer are exactly the same that I had before the upgrade to Big Sur, and I have the “use namespace Juce” enabled, as I always had.
I’ve tried to create a new audio plugin from scratch with the Projucer, but again the autocomplete worked only in processor and editor.

Autocomplete is essential for me to work, is there a way to fix this issue?

Hmm I was a dummy and updated as well – but I haven’t had the issue with auto complete – if anything it’s much faster and more useful for me now.

It sounds like one of those funky Xcode behaviors. I’d try just completely cleaning your projects and deleting you builds folder, regenerating from projucer, make sure you’re not compiling and give it a shot.

In general it seems like Xcode trips up on autocomplete in .h files when you have some heavy processes running, but I’ve never had the issue persist permanently.

My experience with XCode 12.2 is autocomplete is utterly borked in .h files, regardless what else is running on my machine. It’s quite a pain tbh and I wish I knew a solution to it.

3 Likes

Yeah – I have seen this problem too actually. It’s usually in like deep library files – like if I’m editing some deep JUCE module.

In my case the biggest issue is that I can’t run time profiler on release builds with any meaningful info! : (

Thank you for your reply.

I’ve tried with a completely new project, without touching anything in the Projucer settings, but the problem is still there. In every .h file the autocomplete doesn’t work, while in the .cpp is even faster than before. I’ve triple checked everything in Xcode, it should work but it does not. I was not doing anything in the background, 100% sure. I’ve also tried making two new components with the Projucer, one with only the .h file, the other with .h and .cpp, and again the autocomplete was working only in the .cpp file.

This is so frustrating!

Not a fix, but a suggestion: CLion is pretty rad. I switched several years ago because autocomplete and other IDE features never worked on my machines (I think it was the XCode 9 days). The license is totally worth it.

1 Like

+1 for CLion Especially in case you think of moving to CMake instead of Projucer in the long run, which I would recommend – or AppCode which has the same autocompletion and snappy code editing performance as CLion but directly works with Xcode projects instead of CMake projects. You can try it 30 days for free.

Tbh my first thought when reading your post was “did autocompletion in Xcode really work at all in the last years?” From my experience it has been totally useless for years now.

2 Likes

Yeah, I know JetBrains product, they are great! In the past autocomplete had worked for me, it wasn’t super fast but totally usable. While I decide to buy or not AppCode/Clion I will use Visual Studio Code for code editing (I’ve tried yesterday evening and it was super fast!) and xCode only for building.

Thank you all!

Regarding VS Code: In case you are considering to use CMake instead of the Projucer this works really well. Just tried it out this week, I opened a JUCE CMake project with VS Code and after installing CMake support in VS Code was immediately able to build the project from within VS Code without any further set up. Did not try setting up debugging etc. but I guess it won’t be so hard. Still, I prefer the JetBrains IDEs, but this is a really good option if you are looking for a lightweight 100% free solution.

2 Likes

Oh yes, this is fantastic! So you make a cmake project, open with vscode, add the cmake support and it works? I have to try it. Do I need to install anything else? Thank you!

It’s definitely wise to look after something else than XCode. I have the impression Apple doesn’t really care as much as it used to about this. I’d love to see C++ support for Visual Studio on Mac for example.

1 Like

Small update. I’ve installed cmake with brew and the extension for VSCode, I’ve opened the example project of an audio plugin and everything worked at the first try. Compile, debug, autocomplete everywhere. It’s extremely simple! So, in the end, thank you Xcode, because of you I found I way better alternative :wink:

2 Likes

If you’re using CMake from the command line with VS Code you can use ninja (-GNinja when generating the project, iirc the default is a makefile). It has significantly faster build times than make and xcodebuild. CLion added support for it last year as well.

2 Likes

Was about to say that. My autocompletion never worked, no matter if XCode 9, 10 or 11. Well it did, just 1% of time and randomly. So I actually got used to go looking for the thing I was about to type, which is really unefficient. When I tried VS Code for other stuff I was blazed by how time saving is the autocomplete (Intellisense). Not to say every 2 weeks or so I have to remove all the XCode derived data cache or the SDKagent process will spawn and eat 90% of the CPU. It’s a shame Apple still hasn’t been able to clean and fix their IDE.

Agreed! Look for something else, XCode won’t get better in the future as well…