Need some help over here

Hi, guys.

Now let me apologize in advance here since this is an issue with the VS2017 IDE’s support of LLVM/Clang that I thought I’d talk about here and then take up to the guys at Microsoft. Normally, if I just ask them, there’s a chance that they’ll tell me to ask here. So at least this way I’ll already have the response from here ready.

Anyway, there’s more than one issue.

  1. VS Debugger can’t download necessary debugging symbols when the compiler toolchain is set to LLVM/Clang (so I can’t do any debugging or stepping on breakpoints).
  2. Can’t set or change compiler switches like in Clang or GCC. I can’t change the language standard or set flags like -pedantic or -pedantic-errors. There’s only /Wall and some other MS-specific switches
  3. LLVM (and also MSVC) don’t see all errors when the code is in templatized. I had a class templated Link to use with another templated class list, and I’d misspelled it in one place as “Linkk”, yet LLVM nor MSVC said anything. And there were also some other error issues that seem like standards-conformance issues.

Anyway, I want to know if there’s a good IDE on Windows that directly supports LLVM/Clang that I can use. Basically a good way to use Clang on Windows such that I don’t need to use VS. I think it’d help me out a lot.

Yes, it is a fantastic general-purpose IDE. While it supports QMake (of course) and CMake projects "natively", you can also import any existing code. The "kits" (compiler, linker, debugger, etc) can be fully user-defined (they use the platform tools by default) as can the build process (so you can invoke MSBuild if you like, for example). The debugger UI is second only to VS's IMO, and works well with all of the debuggers I've used with it (gdb, lldb, the Visual Studio debugger). The IDE itself has all of the features of VAX that I wanted, without the cost, and its code indexing is excellent as well.

How about VS Code? I don’t think it’s designed to be quite an IDE like VS however it might suit your needs anyways.

I suspect it would probably address one or more of your issues via plugins. You can actually use vim keybindings, which I thought was a pretty keen feature.

Extensions – https://marketplace.visualstudio.com/VSCode