CLion 2017.1 EAP: first steps to ASM and MSVC
A new CLion 2017.1 EAP (build 171.3566.4) is now available for download. You will get a notification about a patch-update in case you are using the previous EAP build (171.3224.8).
This build includes a lot of preliminary work for the upcoming big changes: disassembly view for debugger and Microsoft C++ compiler support. While these features are not quite ready yet, this EAP build introduces important changes. Your help at this stage is highly appreciated, so please check the build and submit any issue to our tracker.
Starting with this build, CLion’s editor can highlight code written in assembly language:
The files are detected by the .s and .asm extensions (configured for you in Settings | Editor | File Types | Assembly Language). This works with a few limitations, however:
- Only AT&T dialect is supported
- Assembler with preprocessor is not supported
This work is the first step towards a disassembly view in debugger, which is going to come shortly to CLion EAPs.
Before we go through the changes, here are the two main reasons to introduce MSVC support in CLion:
- MinGW and Cygwin are often difficult to use and configure
- Cross-platform projects often use MSVC under Windows as a compiler
Saying this, we’d like to emphasize that our goal is not to provide support for VS projects, but to make it possible to use MSVC with CMake in CLion.
What is supported
Since MSVC support is still experimental, it’s not enabled by default. To turn it on, use Registry (in Find Action dialog (
Shift+Ctrl+A on Linux/Windows,
⇧⌘A on macOS) type Registry; open Registry, type clion.enable.msvc and turn on the setting).
If you have Visual Studio 2013, 2015 or 2017 installed, you can now configure CLion to use MSVC compiler:
- In Settings | Build, Execution, Deployment | Toolchains, select ‘Visual Studio home’:
- In Settings | Build, Execution, Deployment | CMake, configure the architecture (x86, amd64, x86_arm, amd64_arm, etc.), platform (empty by default, store or uwp) and version (empty by default or Windows SDK name). Under the hood, CLion calls the script to configure the environment to build the project for the selected architecture and passes these parameters to it.
Now you can build your project with MSVC. Note that CLion will run CMake with the NMake generator in this case.
What is not yet there
There are still some things that are under development for now. We hope to finish them before releasing CLion 2017.1, but if not, development will continue for the 2017.2 EAP.
- Auto-detect MSVC installed on user’s machine – done in the next EAP
- PCH support (works in CLion 2017.1 EAP for non-MSVC cases)
- There is a known issue with encodings and localized output
- Easier navigation through compiler errors (CPP-7158) – done in the next EAP
The following will definitely not come to 2017.1, but will be worked on for the 2017.2 EAP:
- Specific Microsoft C++ language extensions (CPP-8675)
Note that the debugger is currently not in the roadmap (CPP-8677). We are still considering the possible workarounds, but haven’t reached a decision at this point.
Find some improvements to MSVC support in the next EAP build.
Find in Path popup
Find in Path lets you run a text search across the whole project or any selected scope. Now, you can get it in a popup window instead of the usual modal dialog:
That’s it! The full release notes are available here.
The CLion Team
The Drive to Develop