Hi,
Holidays are right around the corner and many of us are already feeling the Christmas spirit. Still, our team is hard at work on CLion 1.5, as we had so many great things planned!
Today we are excited to announce the launch of CLion 1.5 EAP. As usual, builds are available on our Confluence page and we are waiting impatiently for your feedback in the comments below and in our tracker. Please note that a patch from a stable CLion 1.2.2 is not available until CLion 1.5 gets stable. This EAP doesn’t require an active license, so use it for free until the build expiration date.
With so many new things on board we’re going to have several detailed blog posts and now provide just a short overview of all the changes.
CMake 3.4
CLion 1.5 EAP comes with CMake 3.4 bundled. No need to install it separately in case you are on the cutting edge of CMake evolution.
Mark directory as
This new features provides you with more control over project files, libraries and excluded files while working with your project in CLion:
- You can exclude directories to avoid their being indexed by CLion (in case it takes too long, or there are just binaries/logs/etc. in there),
- Or mark directories as project files (with all the Intellisense working in them),
- Or mark directories as libraries (so that CLion will work with some reasonable limitations inside these files, like no refactoring or code generation applied there).
Read more about the differences and use cases.
Swift
Swift recently went Open Source as you already know. Many of our users have asked about a Swift IDE for Linux. How about Swift support in CLion? In case you are ready to try, download the Swift plugin .jar file and learn how to install and configure it in our blog post. Besides, find there more details on the features included, and now a small teaser:
Remote Host Access
In this EAP build you will find a new bundled plugin called Remote Host Access. Users of other IDEs from JetBrains like WebStorm, PhpStorm or PyCharm are already aware of it. You could find this plugin useful in case you need to synchronize your sources with the remote host from time to time, for example if you develop on one machine but build/run on another. To automate the uploading of changed files, configure the FTP, FTPS, SFTP or other folder by going to Settings and choosing Build, Execution, Deployment | Deployment
:
You can then also configure path mappings and excluded paths (to avoid downloading/uploading any files in particular). Files are uploaded after an autosave or when you manually click Save (Ctrl+S
on Linux/Windows, ⌘S
on OS X).
Google Test configurations
This build also addresses the usability issue with configurations when using Google Test. If you open your project in CLion for the first time, Google Test targets become usual configurations in CLion, meaning that no built-in test runner is used for them. Now, CLion tries (when it can) to detect them and use a Google Test configuration template. The detection rule is pretty simple: if the target is linked with gtest, then a Google Test configuration will be created for it automatically.
If you’ve previously created configurations manually, don’t worry – CLion won’t touch/update them. Only newly created targets and projects opened in CLion for the first time will be affected.
That’s about it, and the full release notes are available here if you’re after more details.
Your CLion Team
JetBrains
The Drive to Develop
Thank you for the “Mark directory as” option, very much appreciated! And also, as a complete side note, I love the splash screen, it’s gorgeous! Is there any chance this one will stick around with us for the final version?
Thanks!
We’ll consider the option. Can’t give you any promises.
I really like the new splash screen too, +1 for that. But I would be sad to see the icon itself changing to the one in the EAP. I like that nifty sealion around the dot.
+1 on the splash screen
Thanks!
Thanks for the quick EAP, looking forward to trying it out. I did the auto update for the dart plugin and now it’s telling me that it is ‘incompatible with current IDE build’, is there a way to roll it back until it is updated?
Dart plugin is currently available for 143 branch only, but we’ll ping the team to publish an update for 144 one (the one that CLion 1.5 EAP is out). Hopefully will be done before the end of the week. Follow the updates in the plugin repository.
Compatible Dart plugin is published, sorry for inconvenience.
Sweet, everything working here, thanks for the update.
Great! Thanks
THANK YOU SO MUCH for the ability to exclude directories!!! I can’t wait to try this at work tomorrow on our GIANT project. I’m very hopeful that excluding the “bin” directory will make things run much faster!
Did I mention I’m excited????????
Hope you like it even more when try) Feel free to share the feedback.
How it’s going the support of LLDB in Linux build. I’ve heard that CLion want to support it as soon as possible, because it is really faster than GDB.
LLDB on Linux is planned, but currently not in the closest release roadmap: https://youtrack.jetbrains.com/issue/CPP-3588. Follow to get the updates.
Thank you! And have you got issue for ninja & ccache support ?
yes, we do.
Ninja: https://youtrack.jetbrains.com/issue/CPP-870
ccache: https://youtrack.jetbrains.com/issue/CPP-833
Wow, Swift support is good, but I would prefer D and Rust. When do you plan to add them?
There are some 3rd party plugins for D and Rust in the repository: https://plugins.jetbrains.com/?clion
We are currently not planning to contribute into them. However, there is for example Go plugin which JetBrains team contributes into.
Agree that Jetbrains could dominate the emerging Rust market if they made an Intellij IDE for it. When the day comes, I’ll be the first to use it.
Latest version fixes the autocompletion bug when having double closing brackets … Like!
Has the CLion team been following the recent Guidelines Support Library (GSL) project? https://isocpp.org/blog/2015/09/bjarne-stroustrup-announces-cpp-core-guidelines Seems like it would be very powerful if integrated into CLion.
CLion has its own code inspections that makes quite powerful code analysis including DFA and even providing quick fixes. However we do consider adding GSL to it as well in future: https://youtrack.jetbrains.com/issue/CPP-4590
CLion supporting alternate toolchains would be a very powerful tool ties with Remote Host Access. Executing on a separate host that may not be running the same OS as the development host is a very real configuration. Please consider having alternate toolchains.
Could you please share some sample use case / toolchains samples you are mostly interesting in?
About Remote Host Access:
When I built the project on windows, if the CLion can launch the cmake on the linux, and then seed back the building result to the windows CLion. I think it will be amazing. Just like which use the ssh login into the linux in my window. All the command enter in the shell of the windows, but it have been send to execute in the remote Linux and then the execute result will been send back to the shell on the windows. Then when I do the linux development, I don’t have to install the cygwin or mingw, I just access the remote host by my CLion.
But, currently, the CLion cannot seem to do it. Don’t know future plans to support this feature? Thank you very much.
Remote build is planned under https://youtrack.jetbrains.com/issue/CPP-744. Can’t provide you an estimation however.
I’m running CLion 2017.1.1.
I saw above:
if the target is linked with gtest, then a Google Test configuration will be created for it automatically.
I have a large CMake project with numerous Google Test components. They all link with gmock using a CMake find module of our creation.
When CLion loads our top level CMakeLists.txt, gtest components are not being added as Google Test projects but the normal Application projects.
Ah, I see. For gmock it was done in 2017.2 (now in EAP) only: https://blog.jetbrains.com/clion/2017/04/clion-2017-2-eap-clang-tidy/