CLion 2017.1 EAP: first steps to ASM and MSVC

Hi,

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.


Download CLion 2017.1 EAP

Assembly language

Starting with this build, CLion’s editor can highlight code written in assembly language:
asm_hello
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.

MSVC support

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’:
    settings
  • 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.
    cmake_settings

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:
find_path_popup

That’s it! The full release notes are available here.

The CLion Team
JetBrains
The Drive to Develop

This entry was posted in Announcement, Early Access Preview and tagged , , , . Bookmark the permalink.

26 Responses to CLion 2017.1 EAP: first steps to ASM and MSVC

  1. Petter Kvalvaag says:

    Thrilled to learn about the MSVC support! Seeing this feature mature with debugging support and all, I’ll have a much stronger argument to management for buying licenses.

  2. Lex Li says:

    “Cross-platform projects often use MSVC under Windows to compiler” should be changed to “to compile” or “as compiler” I think.

  3. Oleksii Vilchanskyi says:

    Thanks a lot for “Find in Path popup” function. I was missing it a lot – clicking twice on the every occasion to open the whole edit page when one needs only a preview with a context was very tiresome.

  4. Sergey Semushin says:

    CLion might be viable replacement of MSVC considering seeming permanent 32-bitness of it, but MSVC debugging experience is just too hard to beat I think. Looking forward to it anyway.

  5. Jakub says:

    ASM is really good news. I only hope Intel syntax is also on the road map. AT&T really hurts my eyes (not to mention I always read / the parameters in the wrong order).

  6. Sebastian says:

    Do I understand it right that support for MSVC 2013 is still not included? If so then is it planned, or will you require a minimum version of 2015? We currently use MSVC 2013 at wirk and I am not sure if we can upgrade to 2015.

    • Anastasia Kazakova says:

      For now minimum supported version is VS 2015. If there are many requests about VS 2013, we may consider it as well later.

      • Sebastian says:

        As we are currently still using MSVC2013 support for that would be great. Is there an issue for that which I can vote for? Never the less, great improvement that MSVC support is coming.

  7. Ernst says:

    I see MSVC support feature (in your post) refers to VIsual Studio itself.
    please confirm that feature will be compatible with MS C++ commandline compiler kits –
    “MS C++ Build Tools” (https://go.microsoft.com/fwlink/?LinkId=691126) as well as the same package for 2017 (https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15)?

  8. Nick says:

    Thank you for the MSVC support. Worked perfectly for me. Looking forward for the debugger implementation.

    • Anastasia Kazakova says:

      Thanks. Unfortunately can’t promise you anything at this point. It’s not clear how to get it, so it for sure won’t be ready for 2017.1.

  9. Abhijat says:

    The visual studio install on my machine isn’t detected. Its a standard install in program files of vs 2015 professional. What path should I use in the tool chain dialog please?

  10. Johan Boulé says:

    I really wonder where you got the idea that people have difficulty using mingw and cygwin.

    • Anastasia Kazakova says:

      We mostly got it from the uninstall feedback we collect on Windows, as well as many comments in support / issue tracker / during various events.

  11. Daniel Lord says:

    MSVC support is very welcome: I recently moved from MacOS to Windows for my main development platform and left behind the ability to easily embed Python in C++ because I struggled with LONG_BIT issues due to differences in the Cygwin, MinGW, and MSVC toolchains. Most (all?) Windows pythons are compiled in MCVS but CLion forced the use of Cygwin or MinGW. After a lot of trial and error (emphasis on the error), I was ready to abandon Clion on Windows. This may change that decision if this allows Python embedding that is worry-free once again like on Linux, UNIX, and MacOS.

    • Anastasia Kazakova says:

      Thanks for sharing your use case with us. We’ll be glad if you give CLion another try!

  12. jimqian says:

    Any plan to support VSBT(Visual Studio Build Tools)?? dont wana install the whole VS of the terrifying size.

Leave a Reply to Jakub Cancel reply

Your email address will not be published. Required fields are marked *