JetBrains CLion and JUCE


Hi, if you ever used a JetBrains IDE for any language, you know how hard it is to use something else :)


They have a C++ IDE CLion, however due to a bug, it does not seem to parse #include inside namespaces, which JUCE obviously uses.

This makes it rather unusable for JUCE development.


Since this is quite a recenty launched IDE, they have many feature requests, so this bug report is rather hidden due to number of votes.


It would be great if you could vote for this issue, to bring it to attention:


Using Win10 +VS as primary JUCE Dev environ: Bootcamp or Parallels?

I'm right there with you! I've been using the simpler searches and manually opening juce files but it'd be amazing if the juce library could be parsed correctly.

Been using AppCode and I absolutely love it.


VS's Intellisense has also had issues with this for as long as I'm aware. It's weird, because it's able to find symbols and jump around to definitions/declarations and stuff, but it still claims nothing in any of JUCE's files are valid.


Thanks guys :)


The bug has been open in JetBrains for 2 years now. It doesn’t seem likely that it will be fixed anytime soon. It also looks like JUCE is the only source of those issues with CLion.

Can this be fixed on the JUCE side instead? I mean, moving the “namespace juce {}” block from module-level headers to the low-level headers. Please?




FWIW, this would fix VS as well, for which Intellisense can’t understand the module level namespace…


I’ve noticed that with the latest resharper it is doing a lot better with the JUCE modules. I don’t know if resharper and CLion share any code though…


They share quite a bit, judging by DLLs…but they sadly don’t share that particular thing. CLion’s still borked.

I use Visual Assist and Resharper C++ both and noticed at some point semi-recently the combination fixed VS’s related issue. I’m not actually sure which did it since my Intellisense runs through Re# then through VA, but if it’s Re# then CLion receiving the same fix probably isn’t too distant.


How many here are using JetBrains IDE stuff on OSX ?

i’m OSX only so far.


is this on OSX ?


No, Windows. Resharper is a Visual Studio extension that’s also made by JetBrains. The C++ portion of Resharper shares a lot of functionality with CLion


I moved most of my work over to Windows just to take advantage of resharper in VS… worth it even if I have to use Windows :wink:


Couldn’t possibly agree more. I’m the opposite of a Microsoft fan, but VS/VA/Resharper is just astoundingly good. I can’t imagine going back to Xcode.

CLion’s pretty promising though. It’s not quite there yet and I spent a bunch of time poking at it trying to get it to work like VS+R# does, but it’s Jetbrains – it’ll get there.


If Xcode could manage a rename refactoring, or maybe display some autocompletion suggestions without requiring a weeks notice in writing it would annoy me less. Because it’s close to being good - but I can save a few hours a week using VS and write better code as a result.

Anyway, there’s a new UNIX/Bash setup for Windows I think now from Microsoft too. And the hardware is cheaper. I’m wondering about moving the main PC to Windows when my Mac Pro eventually gives up the ghost…

Right now I’m doing my programming using the Jump Desktop app (RDP client which supports anti-aliasing) from the Mac over some gigabit ethernet to a Windows laptop.


have any of you here resorted to using Parallels and running VS + Resharper in that environment on a Mac ?

And if you were to compile a bullet point list of just the essential refactoring and other features in Resharper+VS that would be great to see in a future ProJucer ( one can dream ) the what would that list look like ?


Nope, I just retired my MBP from dev duty and use a Windows native machine for development now. The MBP I still use for making actual music, but it doesn’t see any dev time anymore. I have an OSX VM on my Windows machine with XCode on it that I use to compile OSX builds of completed projects…though now I’m tempted to take baz’s tip and set up RDP and use the Mac for Xcode maybe.

As for Projucer, I assume you’re talking about a list of features for people who want to use ProJucer as their IDE? If so, I’m not too sure since I don’t understand that direction for it in the first place. Live building is a super awesome technical achievement for sure, but I don’t personally have any interest in using it. VS/Resharper isn’t so much about having a couple showstopping features, it’s that together, they have almost every feature you can ask for in a C++ IDE, all the features work, code is all parsed properly, and everything happens with no lag/waiting/slog that breaks you out of flow. Essentially the same things that JetBrains is known for in all of their products, really.


wow ! do tell more ! is it reliable ? clearly not “kosher”

how easy to do. Windows 10 will be chargeable as a fresh install soon so I’m thinking if i go down that route a new laptop or PC makes more sense too.

Since i do all my programming remotely from a macbook to my iMac wouldn’t change my modus operandi too much i suppose.

Plus - it so happens all my music apps for my own use run on windows too - Ableton - BandInABox

( in fact windows BIAB is much better feature wise than on macs … :frowning: )


So… just to clarify - if I DO go ahead and move to Windows 10 and Visual Studio - I can develop in JUCE - and use Resharper and any other add-ons from JetBrains and - unlike Lion - there won’t be ANY issues JUCE code and #include - namespace wise - which will cause problems and issues ?

Is that the way forward ? develop first for JUCE on Windows and then recompile for Mac ?


The other option is to move to Linux and vim/neovim with a bunch of plugins like YouCompleteMe because you really like the idea of using vim, really like doing everything in Bash and generally think it’s cool.

Go through all the headaches of getting everything properly setup on Linux (more than likely after trashing the entire OS once or twice trying to get LLVM, clang and libc++ 3.8 working before you say sod it I’m going with Gnu…) . Then knock your init.vim/.vimrc file together until you’ve gradually reached a point where your pretty sure nvim is working as well as Xcode / IDE brand x ever did.

Then you have a quick play around in Visual Studio 2015 for C++ because you use it at work for ASP.Net and muse to yourself:

“Good God this IDE is good…how long am I going to be able to hold out being a cool Linux kid before I give in to VS practically writing my code for me without any random header file/intellisense issues and a debugging workflow that doesn’t require hefty amounts of practice or youtube sessions.”

Wonder if agonising over how long it took me to get my Ubuntu and Neovim setup working will stop me from turning over to the dark side…

Still, all a learning curve :neutral_face: