CLion Changelog

What's new in CLion 2024.1.1 Build 241.15989.121

Apr 26, 2024
  • Main fixes and improvements:
  • CLion’s CMake integration includes the Python plugin. When you have a Python interpreter configured for your project, CMake picks it up along with all of the Python-related environment variables. The variables are now exposed to CMake, allowing you to use the interpreter via find_package. (CPP-14593)
  • Tests based on the GoogleTest framework are now detected properly. (CPP-37829)
  • There are a number of fixes related to the GDB debugger. You can now see variables of certain types. Also, using the Docker toolchain no longer results in GDB timeouts and broken pipes, making long debugger sessions more stable in such cases. (CPP-22342, CPP-25582, CPP-37851, CPP-36279)
  • Other fixes:
  • We’ve improved the overall performance of the IDE when you’re working with large projects and files. Data flow analysis no longer slows down, and CPU usage has been improved. (CPP-37939)
  • In some cases, remote toolchains were not working due to the underlying SSH library update. The issue has been fixed, and you can once again target remote Linux machines connected via SSH while working in CLion. (IJPL-63050, IJPL-63053)
  • In rare cases, the editor was failing to update highlighting for text that had received subsequent edits. This bug has now been fixed.(IJPL-28967)
  • The IDE no longer crashes when you try to build a project. (CPP-37303)

New in CLion 2024.1 Build 241.14494.288 (Apr 9, 2024)

  • New abilities in writing assistance for CMake files and integration with CMake presets.
  • Improvements to Meson and Bazel support.
  • Debugger fixes and enhancements, including forked process debugging.
  • Assembly view enhancements.
  • Coding assistance in device tree files.
  • Several UI improvements.

New in CLion 2024.1 Build 241.14494.229 RC (Mar 27, 2024)

  • Fixed an issue with the bundled GDB not working on CPUs without LZCNT support.
  • Restored the ability to run/debug single files in CLion Nova.
  • Restored the Clangd daemon for non-project files in CLion Nova.

New in CLion 2024.1 Build 241.14494.154 Beta (Mar 22, 2024)

  • Fixed the regression when Clang was not compatible with a configured Visual Studio toolchain
  • Restored the ability to navigate from the Find Usages popup in CLion Nova

New in CLion 2024.1 Build 241.14494.102 EAP 6 (Mar 19, 2024)

  • Enhancements to the debugger:
  • Pointers presentation fixed in the debugger (CPP-37903).
  • Variables not present in the source files were removed from the debugger view (CPP-37898).
  • Step into now switches to the top frame (CPP-37870).
  • Broken CMake documentation presentation has now been fixed (CPP-37510, CPP-37575).
  • If you use the CLion Nova engine, then you’ll benefit from the following improvements:
  • The lightbulb for context and intention actions is back (CPP-35929).
  • We added support for NOLINT/NOLINTNEXTLINE comments to disable new language engine inspections, but there are still some unsupported cases (RSCPP-35493).
  • Several regressions were addressed that led to the editor lagging and high CPU usage (CPP-37813, CPP-37731).

New in CLion 2024.1 Build 241.14494.27 EAP 5 (Mar 10, 2024)

  • We've addressed an issue with CMake reloads stalling when working with the remote host toolchain.
  • The Assembly view is now more accurate for remote toolchains and cases with cross-compilation.
  • Numerous improvements for VCS support.
  • Debugger:
  • CLion now shows the size of STL containers in the Debugger view.
  • The presentation of std::span and std::optional has been improved.
  • We've addressed the Null value return for children error that occurred while rendering fs::path values in the Debugger view.

New in CLion 2024.1 Build 241.13688.39 EAP 4 (Feb 26, 2024)

  • An option to switch to CLion Nova in CLion Classic builds: Settings | Advanced Settings | CLion | Use the ReSharper C++ language engine (CLion Nova)
  • CLion now bundles GDB 14.1
  • Settings | Advanced Settings | CMake | Do not trigger CMake reload automatically has been introduced to prevent any CMake reload if this setting is ticked

New in CLion 2024.1 Build 241.12662.59 EAP 3 (Feb 18, 2024)

  • Assembly view improvements
  • Find Usages for CMake functions now works correctly when called from the Structure view

New in CLion 2024.1 Build 241.11761.23 EAP 2 (Feb 9, 2024)

  • Easier navigation with sticky lines while scrolling
  • Revamped Terminal tool window
  • Tool window names in the side toolbars
  • More granular integration with CMake presets

New in CLion 2024.1 Build 241.8102.118 EAP (Jan 18, 2024)

  • A bundled CMake upgrade and CMake writing assistance.
  • A Meson tool window, new Meson project support, and the ability to provide custom Meson settings.
  • Code analysis in device tree files and other improvements.
  • Support for debugging child processes on Linux and for remote toolchains.
  • The option to scale down the entire IDE.

New in CLion 2023.3.2 Build 233.13135.93 (Dec 21, 2023)

  • PlatformIO integration:
  • We fixed the issue with PlatformIO‘s serial device monitor so that it no longer throws Inappropriate ioctl for device errors (CPP-19591). We also fixed the issue with the PlatformIO Upload action that was not available (CPP-34696). Finally, files at the second nesting level in the project directories are no longer marked as if they don’t belong to the project (CPP-35938).
  • Speed up test indexing:
  • Test indexing is one of the most CPU- and time-consuming IDE procedures. To speed it up, you can create a test scope manually. After you have a test scope, only the files filtered by this scope will be processed during test indexation.
  • Starting with this update, you can also use CLion’s mechanism of automatically detecting test scopes. Check our webhelp to learn how to do so.
  • Code analysis:
  • In v2023.3, we transitioned CLion’s data flow analysis to a new approach and performed low-level optimizations, bringing great improvements both to analysis accuracy and to memory consumption and performance. A few blog posts have been dedicated to these changes:
  • Striving For Better C++ Code, Part I: Data Flow Analysis Basics
  • Striving For Better C++ Code, Part II: Function Summaries to Speed Up the Data Flow Analysis
  • This update brings several enhancements to this built-in analysis:
  • We fixed the incorrect The address of the local variable may escape the function warning in cases when += operator is used (CPP-34721) and the incorrect Value escapes the local scope that occurred for struct fields (CPP-11482).
  • We fixed a few cases with incorrectly detected dangling pointers (CPP-33198, CPP-25277).
  • We plan to publish the third post in the Striving For Better C++ Code series summarizing the improvements in the beginning of 2024.
  • Other fixes:
  • If variable data collection in the debugger is too slow, CLion no longer ends the debug session, but instead cancels the children loading in the debugger UI (CPP-36312).
  • CLion no longer adds CMAKE_BUILD_TYPE by mistake when multi-config generators are used (CPP-33514).

New in CLion 2023.3 Build 233.11799.238 (Dec 7, 2023)

  • AI Assistant is now generally available.
  • Meson is now supported, and the Bazel for CLion plugin gets major improvements.
  • CLion supports device tree files and opens the Assembly view without debugging.
  • Data flow analysis (DFA) becomes more accurate and powerful, with new checks for non-initialized fields and memory leaks.
  • IDE Features Trainer, UI enhancements, and improvements for QML and VCS.

New in CLion 2023.3 Build 233.11799.171 RC (Dec 4, 2023)

  • In CLion 2023.3, AI Assistant can explain runtime errors to you.
  • In the Assembly view, CLion now remembers the assembly syntax you select.
  • Using do {.. } while(0) no longer results in an Unreachable code warning.
  • Refactoring in CLion no longer fails when non-ASCII characters are used in the path to the file where the refactorings are performed.
  • Debugger:
  • We fixed the problem with the bundled LLDB debugger, which was failing to debug core dumps on Ubuntu.
  • CLion no longer hangs on debug session stop.

New in CLion 2023.3 Build 233.11799.37 Beta (Nov 17, 2023)

  • Show Assembly in the context menu
  • Improved support for Dev Containers
  • CMake preset filters
  • Addressed issues with CLion on Qt projects

New in CLion 2023.3 Build 233.11555.2 EAP 6 (Nov 5, 2023)

  • Support for x86 assembly (Intel) syntax in Assembly and Disassembly views
  • Ability to view raw output in Assembly view

New in CLion 2023.3 Build 233.11361.11 EAP 5 (Oct 30, 2023)

  • Enhanced Bazel for CLion plugin
  • Memory leak analysis
  • Improved code completion in device tree files
  • Structure view for meson.build file

New in CLion 2023.3 Build 233.10527.7 EAP 4 (Oct 20, 2023)

  • IDE Features Trainer
  • Run to Cursor inlay option
  • Fixes in code completion

New in CLion 2023.3 Build 233.8264.3 EAP 2 (Sep 28, 2023)

  • Support for Device Tree Files
  • Support for Meson projects

New in CLion 2023.3 Build 233.6745.300 EAP (Sep 23, 2023)

  • Assembly view for files
  • More accurate data flow analysis
  • An ability to exclude test directories from indexing
  • Extra QML imports setting
  • Editable templates for main.cpp and main.c
  • UI updates
  • Support for GitLab snippets

New in CLion 2023.2.2 Build 232.9921.42 (Sep 13, 2023)

  • We fixed the Clangd memory leakage (CPP-33894).
  • We fixed the issue that caused the Visual Studio C++ toolchain environment to load in an incorrect order when the environment file is used (CPP-34153).
  • Conan’s CMakeUserPresets.json file no longer breaks the project on reload (CPP-34818).

New in CLion 2023.2.1 Build 232.9559.58 (Aug 25, 2023)

  • The Beta version of AI Assistant is now available as a plugin with limited access.
  • Streamlined integration with PlatformIO, an open-source platform for embedded developers.
  • Enhanced integration for vcpkg, one of the most widely adopted package managers in C++.
  • Major debugger updates, including attach to remote and WSL processes and register value views.

New in CLion 2023.2 Build 232.8660.186 (Jul 27, 2023)

  • Debugger update:
  • CLion 2023.2 has updated the bundled debuggers and now comes with LLDB v16 and GDB v13.1.
  • The integrated debugger can help you quickly find issues in your code and easily understand how the code works under the hood. However, you don’t always launch your app from CLion directly, for example, when developing a service. In those situations, you can attach to a process launched outside of CLion by using the Attach to Process dialog.
  • As part of our ongoing efforts to improve this dialog, v2023.2 provides you with the following new abilities:
  • Attach to local, remote, and WSL processes.
  • Select any debugger configured in the toolchains.
  • Attach to processes launched remotely with administrative privileges.
  • PlatformIO integration:
  • PlatformIO is an open-source platform that helps embedded developers set up and get started with their projects. Previously, CLion’s integration with the platform came with an overhead for generating intermediate CMake projects. We have overhauled the integration to remove this redundant step and the corresponding lag. As a result, the IDE now works directly with the platformio.ini file, tracking changes in it and updating the project information accordingly.
  • You can generate a new PlatformIO-based project via the New Project wizard in CLion, or just open an existing project using the .ini file. If you open projects previously created in CLion with the PlatformIO plugin, they will be automatically migrated to the new format when first opened in the new IDE version.
  • The PlatformIO tool window provides quick access to the most used commands and project actions, while the Tools | PlatformIO menu now lets you quickly invoke pio commands directly from the IDE.
  • Removing the CMake layer has also addressed some other issues in the integration. More information about this can be found in our online documentation.
  • vcpkg update:
  • To help you manage project dependencies and external libraries, CLion integrates with vcpkg, a package manager for C/C++. In v2023.2, the integration got a major update and now supports many additional scenarios.
  • There is now a way to tell in the vcpkg tool window (look right under Name) whether Classic mode or Manifest mode is active.
  • Manifest mode is automatically activated when you add a vcpkg.json file in your project. Another way to switch to the mode is by using a dedicated button in the UI (see the gif below). If you do this, CLion will generate the vcpkg.json file for you.
  • When you are in Manifest mode, the Fix button in the CMake tool window, which appears when the CMake fails to find the package and lets you install the missing packages, now also uses Manifest mode. Also, when you add packages in this mode, the IDE will now automatically add them to your vcpkg.json.
  • To make vcpkg’s Classic mode more convenient for you to use, we’ve added a Console tab to the vcpkg tool window to show all the commands and output.
  • AI Assistant [Beta]:
  • The new 2023.2 versions of IntelliJ-based IDEs and JetBrains .NET tools include a major new feature: AI Assistant. It is designed to weave AI assistance into the core IDE user workflows and integrate deep AI features with code understanding.
  • Even though it’s still in the early stages of development, here’s how AI Assistant can already help you when coding in C and C++:
  • Chat with the assistant about code using the new dedicated tool window. For example, you can ask it for help with enabling unit tests in your project or modernizing your C++ code. When you’re happy with the resulting AI-generated code, use Insert Snippet at Caret to paste the code in the editor.
  • Select a code fragment in the editor and bring up the newly added AI Actions context menu to have AI Assistant find potential issues, explain the code, or suggest a refactoring.
  • Clicking the Generate Commit Message with AI Assistant button in the commit message dialog will send the diffs of your changes to the LLM, and it will generate a commit message describing your changes.
  • CMake can sometimes be hard to understand. When CMake execution fails on your project, click Explain with AI in the CMake tool window to get a better understanding of what’s gone wrong and how to fix it.
  • User experience:
  • CLion’s new UI is now the default for new users. It has received lots of improvements and polishing in v2023.2, including the following:
  • Main toolbar customization options. Right-click on any widget and use a dropdown menu to quickly choose actions that you want to add to the toolbar.
  • To simplify navigation between multiple open projects, we’ve introduced colored headers.
  • The hamburger menu in the main toolbar has been reworked on Windows and Linux. Once you click on the menu icon, the elements now appear horizontally over the toolbar.There’s also an option to turn this menu into a separate toolbar, accessible via View | Appearance | Main menu as a Separate Toolbar:Linux header
  • We’ve added a Light with Light Header theme, which features matching light colors for window headers, tooltips, and notification balloons.
  • If you use full screen mode in the new UI on macOS, the window controls are now displayed right in the main toolbar, not in the floating bar as before.
  • To make managing multiple run configurations easier, we’ve implemented the option to pin preferred configurations in the Run widget. And finally, a text search option has been added to Search Everywhere, similar to the one in Find in Files.
  • CMake update:
  • CMake is still one of the most widely used project models for C++, while also being one of the top 5 major C++ pain points for several years. The CLion team is committed to making your experience with CMake as smooth as possible.
  • Bundling CMake 3.26, CLion 2023.2 adds highlighting and completion for new parameters from CMake 3.25 and for the new block command.
  • The IDE’s new C/C++ file creation dialog has also been improved for situations when there is no CMake target to add the new file to. You can now use the new Add new target action to create a new target and add it to the selected CMakeLists.txt file.
  • The Parameter Info popup shows signature variants as you type and is now available for CMake commands. It helps you figure out which parameter to enter next, which is especially helpful for commands that have multiple signatures.
  • Other improvements:
  • This IDE update also provides:
  • Support for Docker in the WSL toolchain.
  • Terminal emulation in the output console can now be enabled or disabled separately for each configuration. It is disabled by default.
  • Initial integration with GitLab, which allows you to work with the Merge Request functionality right from the IDE.

New in CLion 2023.2 Build 232.8660.139 RC (Jul 21, 2023)

  • We've added a missing pretty-printer for chrono types for GDB.
  • Expressions with side effects are no longer evaluated when you hover over editor variables when evaluating them in debug mode.
  • We've fixed the broken tree in the Attach to Process dialog.
  • AI Assistant previously included in the EAP builds has been unbundled in the CLion 2023.2 Release Candidate. Starting from this build, it is available as a separate plugin.

New in CLion 2023.2 Build 232.8660.49 Beta (Jul 13, 2023)

  • Text search in Search Everywhere
  • PlatformIO integration updated
  • Debugger fixes
  • QML and Qt fixes

New in CLion 2023.2 Build 232.8660.8 EAP 6 (Jul 7, 2023)

  • ARM assembly
  • Attach to root processes
  • Terminal emulation in the output console
  • vcpkg improvements

New in CLion 2023.2 Build 232.8453.115 EAP 5 (Jul 2, 2023)

  • PlatformIO integration updated
  • Assembly registers in debug
  • Vcpkg improvements
  • Enhanced user experience
  • Support for Dev Containers
  • Bundled CMake 3.26

New in CLion 2023.2 Build 232.8296.18 EAP 4 (Jun 26, 2023)

  • Context-aware AI Chat
  • AI Actions... menu: explain the selected code, suggest refactoring, or find potential problems
  • Generate commit message with AI Assistant
  • Explain CMake errors

New in CLion 2023.2 Build 232.7295.14 EAP 3 (Jun 10, 2023)

  • CMake Parameter Info
  • The ability to inspect register values during debug
  • Updates to the UI
  • GitLab integration

New in CLion 2023.2 Build 232.6095.18 EAP 2 (May 23, 2023)

  • Ab ability to create CMake targets when adding new files to the project.
  • Improved code completion performance for big files.
  • Terminal emulation in the output console on Windows now works for MSVC LLDB-based debugging.

New in CLion 2023.1.3 Build 231.9011.31 (May 17, 2023)

  • We addressed the issue that prevented the debugger from being launched successfully on MacOS with a Docker toolchain (CPP-32652).
  • CLion now retriggers code completion correctly after a typed prefix has changed (CPP-33049).
  • CMake:
  • Cyclic dependency in CMake presets no longer causes CLion’s UI to freeze (CPP-33193).
  • When opening a project in CLion for the first time, CLion’s Open Project wizard is shown, allowing you to configure CMake profiles the same way as before CLion v2023.1.1.
  • CLion no longer fails with CMake configuration in cases where the /we4067 MSVC compiler flag is used (CPP-33010).

New in CLion 2023.2 Build 232.5150.115 EAP (May 16, 2023)

  • Docker in WSL toolchain
  • Support for new parameters and block command from CMake 3.25
  • Debugger:
  • Ability to attach to processes launched on a remote machine
  • Fixes for disassemble on demand and memory view
  • Bundled LLDB v16 and GDB v13.1

New in CLion 2023.1.2 Build 231.8770.66 (Apr 30, 2023)

  • Docker toolchain:
  • CUDA projects can now be opened successfully in CLion with a Docker toolchain (CPP-31357).
  • We fixed the issue that prevented CLion from finding some headers inside a Docker toolchain, like in the example with ROS2 in this report.
  • CMake:
  • We added support for comments in the CMakePresets.json schema.
  • CLion can now successfully parse the CMake presets files containing byte order marks (BOM) (CPP-26352).
  • We enlarged the space for the CMake cache variables table in the CMake profile settings in CLion (CPP-29390).
  • Debugger:
  • The new disassemble on demand feature now works correctly with GCC 13.1.
  • Inlay hints:
  • We fixed the performance degradation caused by inlay hints to prevent the Go to Declaration action from hanging (CPP-32273).
  • We fixed the incorrect parameter hint for abbreviated function templates (CPP-32470).
  • Unit testing:
  • We added support for doctest::may_fail().
  • Other improvements:
  • TextMate bundles now work correctly with the registered file extensions (CPP-32527).
  • Previously set window sizing is preserved after restarting the IDE on Linux (IDEA-313378).
  • The IDE no longer flickers when working on Linux using two screens (JBR-5417).
  • It’s again possible to move the IDE’s tool windows between two monitors when using KDE (IDEA-313243).
  • Compact Mode has been enhanced.

New in CLion 2023.1.1 Build 231.8109.222 (Apr 9, 2023)

  • When CLion was installed via snap, the built-in LLDB debugger was failing to launch on Ubuntu due to a permissions error (CPP-31989). This has been fixed, so you can now safely install via snap.
  • Using the Rename refactoring on a local variable was not updating all of the usages (CPP-32581). The issue was caused by the changes we made to improve navigation speed (CPP-32189), but they affected other functionality. We’ve disabled the changes for now to make sure the Rename refactoring works correctly, and we’ll spend some time in 2023.2 to re-implement the performance improvement.
  • CLon 2023.1 brought new built-in QML support. Unfortunately, it broke the JavaScript/TypeScript support in CLion (CPP-32895). This has now been fixed.

New in CLion 2023.1 Build 231.8109.174 (Mar 30, 2023)

  • Debugger update: disassemble on demand, improved Attach to Process… dialog, actions to help debug multithreaded applications, updated memory view.
  • Support for Qt Modeling Language (QML).
  • Integration with vcpkg.
  • Terminal emulation in the output console.
  • Better C++ support.
  • Improvements to CMake integration.
  • Enhanced user experience and new UI.
  • VCS updates.
  • Other changes.

New in CLion 2023.1 Build 231.8109.80 Beta (Mar 16, 2023)

  • Docker improvements
  • Correct parsing of build presets with configurePreset from the included file
  • Fixes for multi-threaded RTOS debug
  • Polishing the memory view
  • Fixes for terminal emulation

New in CLion 2022.3.3 Build 223.8836.42 (Mar 12, 2023)

  • CMake debugger:
  • CLion now detects the CMake errors more accurately and shows the Debug hint in all necessary cases (CPP-31585).
  • We fixed the case when the IDE fails to connect to the CMake debugger (CPP-31587).
  • Unit Testing:
  • We fixed an issue in the Catch2 integration to support versions 3.2.1 and higher (CPP-31805).
  • Linker scripts:
  • We fixed the parsing of binary operations (CPP-31552).
  • UI on macOS Ventura:
  • We’ve resolved the long-standing issue that caused the screen to flicker in full-screen mode on macOS Ventura (JBR-4959).
  • The IDE no longer displays empty popups on macOS Ventura. (JBR-5258).
  • VCS:
  • The Shelf tab doesn’t disappear from the Commit tool window anymore (IDEA-305906).
  • Other:
  • It’s now possible to check the configuration status of Windows Defender and update it directly from the IDE. To do so, search for Check Windows Defender Status in Find Action (⇧⌘A/Ctrl+Shift+A) (IDEA-310423).

New in CLion 2023.1 Build 231.8109.4 EAP 7 (Mar 9, 2023)

  • You can now configure the number of columns (number of bytes per line) in memory view
  • You can now save multiple tool window layouts
  • When Qt is used in WSL, CLion now launches qmlls and qmlformat with the wsl tool
  • Fixes for vcpkg

New in CLion 2023.1 Build 231.7864.77 EAP 6 (Mar 3, 2023)

  • Fixes for Memory view
  • Fixes for the ${hostSystemName} macro in CMake presets

New in CLion 2023.1 Build 231.7665.29 EAP 5 (Feb 24, 2023)

  • Support for CMake Presets Versions 4 and 5
  • CMake reload notification is now floating
  • CLion can now use qmlformat to format QML code
  • Disassemble on demand in the CLion debugger

New in CLion 2023.1 Build 231.6890.13 EAP 4 (Feb 10, 2023)

  • Terminal emulation in CLion
  • Clangd-based indexer
  • Code coverage enhancements
  • Bundled CMake v3.25

New in CLion 2023.1 Build 231.6471.1 EAP 3 (Feb 2, 2023)

  • Support for vcpkg received many enhancements and fixes.
  • We introduced several CMake integration updates.
  • We fixed the clangd crash which made it impossible to show the inlay hints for push_back and emplace_back calls.

New in CLion 2022.3.2 Build 223.8617.54 (Jan 28, 2023)

  • Performance:
  • We improved the performance of the code analysis in CLion.
  • We improved the performance of parsing coverage results, which was slow when using remote mode (CPP-28290).
  • For Docker toolchain, CLion now correctly captures the end of the background task execution (CPP-31390).
  • Reformat on save with ClangFormat works as expected again (CPP-30247).
  • On Windows, CLion no longer breaks the project compilation with the Visual Studio toolchain when CMAKE_TOOLCHAIN_FILE is in use (CPP-29644).
  • We fixed the incorrect code warning which happened for GCC toolchain on macOS (CPP-17646).
  • We finally built all of the tools bundled in CLion for Linux ARM64 (CPP-31030). This means the CLion 2022.3.2 update is now available for that platform.
  • The JetBrains Runtime team has been working to fully eliminate screen flickering in full-screen mode on macOS Ventura. It no longer occurs in most instances, though some corner cases may remain. If you continue to experience this problem, please let us know in our issue tracker (JBR-4959).
  • The behavior of the Settings Sync plugin has been updated. Settings synchronization across different IDE products is now turned off by default and can be enabled via a checkbox in Settings/Preferences | Settings Sync (IDEA-233535).
  • Opening the terminal using a custom shortcut or a non-default keymap no longer causes unnecessary symbols to be printed in the command prompt (IDEA-307583).

New in CLion 2023.1 Build 231.5920.6 EAP 2 (Jan 27, 2023)

  • Support for QML syntax
  • Suspend or resume individual threads while debugging
  • CMake color settings
  • CLion build for Linux ARM64

New in CLion 2023.1 Build 231.4840.362 EAP (Jan 19, 2023)

  • Support for vcpkg.
  • An improved Attach to Process dialog.
  • A new action for adding C++20 modules.
  • Updated Clang-Tidy checks settings.
  • Filtering Call Tree results in the profiler.
  • More flexible refactorings.

New in CLion 2022.3 Build 223.7571.171 (Dec 1, 2022)

  • CMake Debugger and CMake code assistance enhancements
  • Initial support for C++20 modules
  • Updates to the debugger
  • Clang-Tidy documentation
  • Code documentation
  • Support for new languages and technologies
  • Run a single file without a project
  • Remote development enhancements
  • New UI
  • New way to synchronize settings
  • Updates to the Rust plugin

New in CLion 2022.3 Build 223.7571.113 RC (Nov 28, 2022)

  • This build includes fixes for the new option to run single files.

New in CLion 2022.3 Build 223.7571.59 Beta (Nov 18, 2022)

  • Fixes in CMake debugger
  • C++20 modules support enhancements
  • A quick-fix to create a C/C++ File run/debug configuration is added to the notification about the file not in the project
  • False C++20 range errors should now have been eliminated

New in CLion 2022.3 Build 223.7571.12 EAP (Nov 10, 2022)

  • The option to run single files:
  • If you create several run/debug configurations for a single C/C++ file, CLion now switches the resolved context depending on the configuration selected.
  • The new C/C++ File configuration isn't shown in the file context menu when it's not relevant and can't be run.
  • Embedded development:
  • The FreeRTOS tasks that execute floating point instructions are now displayed correctly in the debugger.
  • We updated the list of Segger devices in the Embedded GDB Server wizard.
  • Improved code analysis.

New in CLion 2022.3 Build 223.7401.10 EAP (Nov 4, 2022)

  • Compile and run for single C and C++ files
  • New CLion UI available via a setting

New in CLion 2022.3 Build 223.7255.15 EAP (Oct 27, 2022)

  • CMake Debugger
  • Installers for Windows ARM64

New in CLion 2022.3 Build 223.7126.6 EAP (Oct 23, 2022)

  • Support for C++20 modules
  • The ability to import and export profiling results
  • A new way to work with projects in WSL2

New in CLion 2022.3 Build 223.6646.99 EAP (Oct 16, 2022)

  • Azure RTOS thread view
  • Syntax support for linker scripts
  • LLDB 15
  • New solution for synchronizing settings

New in CLion 2022.2.4 Build 222.4345.21 (Oct 12, 2022)

  • IAR language extensions are now supported in CLion. The code is parsed and highlighted correctly (CPP-10901).
  • Files can now be edited properly after the project has been recompiled (CPP-30176).
  • Clangd no longer fails to parse the source files (CPP-30089).
  • When you develop remotely using the thin client in CLion, the JetBrains client rejoins the session after the Restart IDE action is called (GTW-1690).
  • The Create branch input field in the Open task window now has the correct size (IDEA-252365).
  • Performance has been improved when working with language injections (IDEA-292182).
  • We’ve fixed several bugs in code analysis:
  • The Unreachable code warning is no longer triggered incorrectly in the switch-case branch (CPP-29841, CPP-30409).
  • The Condition is always true warning is no longer triggered incorrectly (CPP-29951, CPP-30291).
  • The Value is only assigned but never accessed warning is no longer triggered incorrectly when accessing memory addresses (CPP-30354).

New in CLion 2022.3 Build 223.6160.115 EAP (Oct 7, 2022)

  • Open documentation at cppreference.com from CLion
  • Run CMake targets with the root privileges
  • Distinguish CMake deprecated symbols by highlighting
  • Watch a function return value in debugger

New in CLion 2022.3 Build 223.4884.72 EAP (Sep 22, 2022)

  • Toolchains enhancement for remote mode and Docker
  • Improved settings for Clang-Tidy checks
  • CMake:
  • A new action to add a file to the existing CMake target
  • CMake font and color settings
  • CMake foldings
  • Code completion for find_package
  • CMake command documentation in code completion
  • CMake structure view

New in CLion 2022.2.2 Build 222.4167.25 (Sep 15, 2022)

  • Refactoring:
  • We fixed a bug that was causing a duplicate name to appear when performing the Rename refactoring (CPP-14772).
  • Code analysis:
  • We removed the incorrect Local variable is never used warning which appeared in the range-based for loop (CPP-30074).
  • Toolchains:
  • CLion now correctly collects compiler information for Clang-cl when cross-compiling from non-Windows platforms (CPP-29287).
  • Remote mode:
  • We fixed the regression that prevented CLion from synchronizing sources from local to the remote host in full remote mode in the case rsync is used (CPP-30288).
  • VCS:
  • The IDE now shows a balloon notification in the background for pre-commit checks that finish with failing results (IDEA-265084).
  • Markdown:
  • The Markdown auto-formatting action now correctly formats Markdown files with tables (IDEA-262735).

New in CLion 2022.2 Build 222.3345.126 (Jul 28, 2022)

  • Enhanced Quick Documentation popup
  • Better integration with CMake
  • Debugger updates
  • Embedded Development
  • Code analysis improvements
  • Enhanced toolchains: Docker, Remote, MSVC, CUDA
  • Plugin updates

New in CLion 2022.2 Build 222.3345.93 RC (Jul 21, 2022)

  • We fixed the Cannot instantiate printer for default visualizer error for unique_ptr in GDB 12.0.90.
  • We fixed the incorrect triggering of the Const variable cannot be emitted on device side error on CUDA blockIdx calls.

New in CLion 2022.2 Build 222.3345.40 Beta (Jul 15, 2022)

  • We fixed the incorrectly shown Constant condition notification when converting double to bool and int.
  • We fixed the issue causing -Wformat diagnostics to not work when using the MinGW toolchain.
  • We added a new action to generate tables of contents in Markdown files.

New in CLion 2022.2 Build 222.3345.16 EAP 7 (Jul 8, 2022)

  • A fix that allows bundled Ninja to be used correctly for CMake Presets.
  • CMake v3.23 is bundled.
  • LLDB was updated to v14.0 on macOS and Linux.
  • Better reporting for the Docker toolchain misconfiguration.
  • Fixes in data flow analysis.

New in CLion 2022.2 Build 222.3244.6 EAP 6 (Jul 1, 2022)

  • Updates to Quick Documentation:
  • You can now see the enum value as an integer in the Quick Documentation popup.
  • Quick Documentation now shows whether a given struct or class declaration supports copy and move operations.
  • Updates to the CMake Cache editor:
  • CLion now shows the short description in tooltips for CMake cache variables.
  • We've improved the way CLion shows boolean variables in the CMake Cache editor.

New in CLion 2022.1.3 Build 221.5921.27 (Jun 23, 2022)

  • The Rename refactoring was fixed and is now applied to the correct code range (CPP-29442).
  • CLion now checks for changes in the environment after every CMake reload. This way the IDE will suggest that you clean the CMake cache and reload CMake when CLion decides it’s necessary. For example, this happens when Xcode is updated. (CPP-28706)
  • VCS:
  • Ctrl+Click (On Windows and Linux) / Cmd+Click (on macOS) in the Git Log panel has been fixed and now works as expected (IDEA-292405).
  • We’ve resolved the UI issue causing the truncated VCS in-editor menu (IDEA-294928).

New in CLion 2022.2 Build 222.3048.7 EAP 5 (Jun 17, 2022)

  • The Quick Documentation popup is now available in CMake scripts. It shows documentation for the standard commands and variables.
  • This build brings updates to the CMake cache viewer and options editor.
  • CLion now bundles GDB v12.1.

New in CLion 2022.2 Build 222.2964.48 EAP 4 (Jun 14, 2022)

  • When using remote development with local sources, you can now ask CLion to use rsync to synchronize your deployment configuration.
  • On Windows, you can use rsync from Cygwin or Msys2.
  • If you'd like to know what exact Clang-Tidy configuration CLion is using to analyze the current file, you can now view it using the widget in the bottom right-hand corner of the editor.

New in CLion 2022.2 Build 222.2889.11 EAP 3 (Jun 3, 2022)

  • A new UI for CMake cache variables.
  • Ability to configure symbol servers when debugging on Windows.
  • Auto import for the MSVC toolchain.
  • Ability to view constant values in the Quick Documentation pop-up.
  • Improved autocompletion for types.

New in CLion 2022.1.2 Build 221.5787.29 (Jun 1, 2022)

  • Unit Testing:
  • We’ve fixed integration with Catch2 v3.
  • C++ support:
  • CLion now handles -Xclang arguments passed to the compiler correctly (CPP-29177).
  • The Parameter Info pop-up appears automatically after typing { (CPP-28597).
  • The incorrect inlay hint with the C struct’s last member no longer appears before macros (CPP-28767).
  • CLion no longer shows the incorrect Function is not implemented warning for outside class definitions of template member functions (CPP-28647).
  • Performance:
  • CLion no longer hangs with the Formatting with ClangFormat message (CPP-29032).

New in CLion 2022.2 Build 222.2680.4 EAP 2 (May 26, 2022)

  • Enhancing the accuracy of CLion's Data Flow Analysis with interval analysis. This includes:
  • Support for comparisons (, =) of integral types to help with assumptions like unreachable code, constant conditions, and others.
  • Array index is out of bounds checks.
  • Fixes for CUDA:
  • In the debugger, stepping out from CUDA calls now works.
  • Compilation database projects with CUDA can now be opened in CLion.
  • Fixes in code completion.

New in CLion 2022.2 Build 222.2270.30 EAP (May 20, 2022)

  • Colorized output for Ninja generator is now enabled in CLion.
  • A new wizard was added for Embedded GDB Server run configurations.
  • Code analysis and refactorings became more accurate.
  • Code completion was improved.
  • CMake Presets integration got updated.

New in CLion 2022.1.1 Build 221.5591.52 (May 13, 2022)

  • Project models:
  • CLion can now report CMake build progress when the Ninja generator is used.
  • We fixed the regression with incorrect loading of environment variables from files in Run/Debug configurations. This also means that the integration with Conan’s Virtualrunenv now operates normally.
  • We added the Reset Cache and Reload Project action to the Repair IDE action list.
  • When using the Ninja generator, CLion now uses the same default value for the -j flag (80% of available processors) as for Makefile generators.
  • We fixed the issue with build types not propagating to CMake commands in CLion when using --preset in CMake options (CPP-28682).
  • We fixed the regression that was preventing Makefile intentions from running specific targets (CPP-28994).
  • We fixed the regression that was preventing CLion from recognizing the Visual Studio 15 2017 Win64 CMake generator.
  • Toolchains:
  • We fixed the regression on Windows that was causing paths to make executables and C and C++ compilers to be passed incorrectly when using remote toolchains (CPP-28996).
  • When a Docker toolchain is created without configured servers, the auto-detected server is now preselected and the images are listed.
  • Debugger and RTOS integration:
  • The settings in Debugger | Data Views | C/C++ | Variables are now applied immediately after being saved.
  • We fixed an issue with the debugger that used to occur when setting a breakpoint before creating the first FreeRTOS thread.
  • The FreeRTOS view in the debugger now displays the full information in all cases (CPP-27904, CPP-28810).
  • C++ language support:
  • We made the Endless loop inspection more accurate (CPP-29073, CPP-29072, CPP-20290).
  • We added support for C++23’s if consteval.
  • Clangd-based navigation became more accurate now in CLion (CPP-28034).
  • We fixed a clangd crash (CPP-28569).

New in CLion 2022.1 Build 221.5080.224 (Apr 14, 2022)

  • Enhanced in-editor experience:
  • For this release we’ve polished many CLion features that make your coding experience more comfortable, easy, and productive. We focused on their flexibility and accuracy regarding the modern C++ language.
  • Inlay hints:
  • Parameter and type hints help you read and maintain your existing codebases with ease. The extra information is shown right in the editor and helps with parameter names in function calls and deduced types.
  • We’ve implemented a number of fixes to make inlay hints in C++ code more accurate, for example:
  • CLion now displays a user-friendly wstring alias as a type hint for the std::basic_string type.
  • CLion now displays an accurate type hint for dependent types.
  • CLion 2022.1 offers better hints for the emplace, emplace_back/emplace_front, and make_unique/make_shared functions.
  • In CLion 2022.1 we’ve enhanced the settings in Settings/Preferences | Editor | Inlay Hints with some explanations and code examples. You can now better understand the cases where the hints are shown and tune the settings to your preferences. Hints for array indices can now be disabled if you don’t need them. Previously this was not possible.
  • Code analysis:
  • Because code analysis is a key part of the IDE, we’ve been working to make it more accurate and easier to configure, and to make its notifications more informative.
  • The Clang-Tidy and MISRA settings in Settings/Preferences | Editor | Inspections | C/C++ | Static Analysis Tools were reworked to make the process of configuring checks easier. A new visual representation includes a tree with all of the checks. Speed search helps you find the checks you need faster – just start typing the name you are looking for when the dialog is in focus.
  • For Clang-Tidy, the dialog also links to LLVM documentation to help you learn about the checks in more detail.
  • It’s much easier to improve your code when the suggestions from the IDE not only name the problem and suggest the fix, but also show how the selected fix will transform the code. That’s why we’ve added a preview for intention actions.
  • For Clang-Tidy, the issue causing incorrect results to occur when the WSL toolchain was used has been fixed by setting Clang-Tidy to execute inside the WSL itself.
  • New C++ Class dialog:
  • When creating a new C++ class, you can now specify the namespace where you’d like the new class to be located. You’ll find a new field dedicated to this in the dialog.
  • Structure View popup:
  • Structure View helps you navigate through the current file in just a few clicks. Sometimes you want the elements there to go in the same order as in the original file, but sometimes you want them to be grouped by the qualified name. There is now a dedicated toggle in the dialog that allows you to switch between these modes.
  • Formatter:
  • New formatter options for structured bindings were added to the Spaces and Wrapping and Braces sections.
  • More powerful CMake support:
  • CMake is a first-class citizen project model in CLion. In this release, we focused on the flexibility of configuring CMake in CLion, as well as improving the CMake editing experience and adding profiling support.
  • CMake presets and CLion profiles:
  • CMake 3.19 introduced CMake Presets, a universal way to configure CMake and share the configurations within your team. It’s still young and is evolving quickly, with many approaches being tested and then later updated based on feedback from people using them in real projects. CLion’s support for CMake Presets is also evolving. We now create CMake profiles for configure presets. CLion uses CMake profiles to run and debug your application, but it previously only created them for build presets. Configure profiles allow redundant build presets to be removed in many cases.
  • If you don’t want CLion to create profiles from presets at all, a new setting that controls this was added to Settings/Preferences | Advanced Settings | CMake | Enable CMake Presets integration. Another setting there is the option to set CMake profiles in CLion to reload sequentially. You might need this in the event of non-trivial connections between profiles that make parallel reload (the default in CLion) impossible.
  • CMake generators:
  • In the CLion toolchain, you can now configure any build tool of your choice, not just make. Now if you need one specific build tool for all profiles working with a specific toolchain, you can simply configure it in the toolchain itself instead of configuring it in every CMake profile. In CMake profiles, this means that the Use default option is selected in the generator field. Another new value in the generator setting is Let CMake decide. With this option selected, CLion won’t favor any CMake generator explicitly, and CMake will decide which generator to use instead.
  • CMake formatting:
  • Formatting support in CMake scripts now helps with if() ... endif(), else(), elseif(), endforeach(), endfunction(), endmacro(), and endwhile() commands and their corresponding blocks. They are correctly aligned, pairing braces are highlighted, and the blocks can be folded.
  • CMake profiling:
  • Have you ever wondered why it occasionally takes a long time to reload your CMake project? CMake v3.18 brought the new ability to profile your CMake scripts and inspect the traces to find the answer. CLion now offers support for this feature, including the automatic creation of profiling configurations and the visualization of tracing results.
  • Wider range of debugger options:
  • If you develop with CUDA, you’ll be happy to learn that we’ve fixed some critical issues that were preventing you from using CUDA-GDB in CLion. To make it work, you’ll need to specify the cuda-gdb binary in the debugger setting of your current toolchain and use the following compiler option to add CUDA debug symbols: add_compile_options(-G).
  • For developers on Windows using the Visual Studio C++ toolchain, CLion comes with the LLDB-based debugger maintained by the JetBrains team. The hex value view in this debugger has been fixed and you can now enable it using Settings | Build, Execution, Deployment | Debugger | Data Views | C/C++ | Show integers as hex values and Display alongside the original value.
  • Toolchains:
  • With container-based development being massively popular, Docker toolchain is one of the most widely used in CLion. In version 2022.1, we’ve improved its integration in CLion:
  • The Valgrind Memcheck tool for detecting memory-usage problems now works with the Docker toolchain.
  • In the toolchain settings you can now provide additional container settings, such as port and volume bindings.
  • Another big story is remote development. In the previous release, CLion got support for the new remote development workflow with the thin client. This support is now getting some enhancements and is available from the Welcome screen – you no longer need to install any additional gateway software, as it’s now bundled in CLion.
  • Cloud dev environments featured in Space can now be used with CLion to speed up onboarding, access a ready-to-use IDE in seconds, and manage your development resources efficiently. Learn more about Space dev environments.

New in CLion 2022.1 Build 221.5080.169 RC (Apr 8, 2022)

  • Updated Inlay Hints settings:
  • CLion makes code easier to read thanks to parameter and type hints shown in the editor. The settings in Settings/Preferences | Editor | Inlay Hints are now enhanced with some explanations and code examples.
  • Other improvements:
  • A new setting was added to Settings/Preferences | Advanced Settings | CMake that allows the user to disable CMake Presets integration. It’s enabled by default, which means CLion will create CMake profiles by default for each CMake configuration and build preset found.
  • CLion can now correctly highlight the CUDA __managed__ keyword.
  • Type hints for iterators were improved (CPP-28696).

New in CLion 2022.1 Build 221.5080.93 Beta (Apr 1, 2022)

  • Minor fixes in the Quick Documentation pop-up and in the Inspection settings.
  • C++23:
  • Added support for uz / z literal suffixes.
  • Added support for preprocessing directives elifdef and elifndef.
  • CUDA-GDB:
  • Fixed an issue with the inline watch in the debugger when switching between cuda/non-cuda frames (CPP-28501).
  • Removed Version unknown warning for CUDA-GDB.

New in CLion 2022.1 Build 221.5080.52 EAP 6 (Mar 25, 2022)

  • CMake updates:
  • CLion now automatically creates CMake Profiles for configure presets (this was only available for build presets before). This change makes the configuration process easier and lets you remove redundant build presets.
  • CLion now also works with the --preset argument passed to the cmake command. The data from the preset is loaded into build type, toolchain, and build directory settings.
  • CMake v3.22 has been bundled into CLion.
  • CLion now notifies you when something has changed in the environment and the changes require clearing CMakeCache.txt and reloading the project.
  • The notification is typically shown after you update Xcode on macOS and your compilers are no longer available at their previous paths. Something similar might also happen for MSVC and MinGW.
  • CMake scripts are now formatted more accurately:
  • if() .. endif(), else() and elseif(), endforeach(), endfunction(), endmacro(), and endwhile() are aligned correctly.
  • It is now possible to fold blocks for these commands.
  • Brace pairing and code block highlighting are available for these commands as well.
  • Other highlights:
  • The build also includes fixes for the following issues:
  • False positives occurred in Data Flow Analysis for function calls located inside parentheses (CPP-28122).
  • The auto keyword was highlighted incorrectly when a trailing return type was used (CPP-28440).
  • A wider context than necessary was considered by the Rename refactoring when renaming a local variable (CPP-23257).
  • Various issues in code completion (CPP-27816, CPP-27318, CPP-22156).
  • Broken highlighting and run icon for Boost.Test 1_69_0 (CPP-28254).

New in CLion 2022.1 Build 221.5080.1 EAP 5 (Mar 18, 2022)

  • Toolchains:
  • CLion now supports MSYS2 MinGW, starting with version 9.0.0.6373.5be8fcd83-2 (CPP-28403).
  • Project model:
  • By default, CMake profiles are reloaded in parallel in CLion. In some cases, this might cause issues when reloading CMake. To resolve this, we’ve added an option to reload CMake profiles sequentially. You can find it in Settings/Preferences | Advanced Settings | CMake.
  • Fixed a syntax highlighting issue in Makefile (CPP-24010).
  • We’ve implemented several enhancements for code completion (CPP-27347, CPP-27465, CPP-28265).
  • In the Quick Documentation pop-up, we’ve fixed the incorrect formatting of the macro replacement when there is a using keyword in the macro (CPP-28558).
  • If you are interested in trying the Rust language, a new stub project generator for Rust projects will help you even if you don’t have the Rust plugin installed. It will help you install the plugin and gracefully navigate you through project creation.

New in CLion 2021.3.4 Build 213.7172.20 (Mar 16, 2022)

  • Bundled LLDB on Windows was fixed to allow the debugging of Rust code (CPP-28633).
  • MSYS2 MinGW, starting with version 9.0.0.6373.5be8fcd83-2, is now supported in CLion (CPP-28403).
  • Fixed an issue with the remote SSH connection in cases where Python isn’t installed on your computer or there is no python in path /usr/bin/env (IDEA-281405). This issue also caused significant performance CPU usage and a hang (CPP-27880).
  • Fixed the IDE’s behavior on macOS when using Cmd+Shift+[ and Cmd+Shift+] to switch between Big Sur tabs (IDEA-261595).
  • Fixed the Ctrl+arrow shortcut when used in the terminal on Windows. The caret now jumps to the next word as expected (IDEA-283023).

New in CLion 2022.1 Build 221.4906.7 EAP 4 (Mar 7, 2022)

  • CUDA debugger in CLion:
  • The CUDA-GDB debugger can now be used in CLion. We’ve fixed issues with the empty variables view in the debug tool window and with the No symbol in current context error (CPP-19915). The work on the debugger for CUDA is still not finished, however, the fix should allow you to at least do basic debugging and report any issues to our issue tracker.
  • To make it work, you’ll need to specify the cuda-gdb binary in the debugger setting of your current toolchain.
  • Debugger UI updates:
  • In CLion 2021.3, the debugger UI got an update. The feedback we received was mostly positive, but a few things irritated some users. We’ve decided to address these issues. In the layout settings of the debugger tool window there are two new options available:
  • Separate Watches: enables you to use a separate tab with watches.
  • Show Tab Labels: enables you to use debugger tool window tab names.
  • Other improvements:
  • We’ve fixed a regression for Boost.Test v1.69.0 on Windows, which resulted in no test run icons and no text macros highlighting.
  • The option to show both decimal and hex values in the debugger now works for LLDB on Windows (Build, Execution, Deployment | Debugger | Data Views | C/C++ | Show integers as hex values and Display alongside the original value).
  • Valgrind now works with the Docker toolchain.
  • Following the Clang-Tidy settings update introduced in EAP1, the MISRA settings were also updated to provide you with a convenient visual representation of the MISRA C 2012 and MISRA C++ 2008 check lists.

New in CLion 2022.1 Build 221.4501.161 EAP 3 (Feb 20, 2022)

  • We’ve fixed a bug that was causing the auto-import pop-up to appear multiple times after the auto-import suggestion had been accepted (CPP-6267).
  • When clicking on the left-gutter navigation icons, navigation now happens immediately when there is only one viable option to navigate to. No context menu is opened in this case.
  • The Embedded GDB Server configuration can now reset the device at different stages: Before or After the download (i.e. flashing MCU ROM or writing to RAM), Always (both before and after), or Never.
  • Several exceptions were addressed in this build.
  • Inlay Hints improvements:
  • CLion now displays an accurate type hint for dependent types (CPP-28259).
  • When returning a lambda that returns a lambda, the return type hint is now displayed (CPP-28308).
  • CLion now displays a user-friendly wstring alias as a type hint for the std::basic_string type.

New in CLion 2021.3.3 Build 213.6777.58 (Feb 2, 2022)

  • C++ unit testing:
  • Run configuration and run gutter icons were fixed and now work correctly for Doctest v2.4.7 and later.
  • VCS:
  • The Git Branches popup displays its data correctly again (IDEA-286795, IDEA-285766).
  • Fixed the issue that was disabling the Rebase button in the Rebase dialog (IDEA-282538).
  • Fixed issues with YAML files (IDEA-247565, IDEA-264436).
  • Editor:
  • On macOS, ⌘N opens the Generate popup as expected when File | New is invoked (IDEA-286810).
  • Fixed a cosmetic UI issue in the Find In Files dialog (IDEA-284849).
  • The IDE has stopped suggesting unwanted plugin installations (IDEA-283690).

New in CLion 2021.3.2 Build 213.6461.75 (Dec 30, 2021)

  • Fixed the high CPU usage when idle: GTW-685.
  • It’s now possible to use Gateway to open a project by symlink: GTW-720.
  • Open classes and the placement of tabs are now preserved between sessions: CWM-4048.
  • Fixed glitches that appeared when scrolling through long lists in tool windows: CWM-3679.
  • Fixed the unclickable pop-ups: CWM-4422.
  • Added a context menu for Gradle tasks: CWM-4312.

New in CLion 2021.3.1 Build 213.6461.46 (Dec 23, 2021)

  • Project Model:
  • Fixed a few issues with the new CMake generator UI (CPP-27260, CPP-27308).
  • Fixed broken Makefile project loading when sudo was used for the compiler call (CPP-26761).
  • Fixed the problem causing the STM32CubeIDE project build to fail if AzureRTOS middleware was used (CPP-27204).
  • Toolchains:
  • Added redirect input support for the new Docker toolchain (CPP-27595).
  • CTest is now supported for the new Docker toolchain (CPP-27589).
  • Debugger:
  • Improved frame presentation in the debugger when ABI tags are used (CPP-27191).
  • Fixed hangs in LLDB (CPP-27649) and GDB (CPP-27468).
  • Code navigation:
  • If there are several implementations available, navigating from a declaration now takes you to the one that is part of the build configuration selected in the editor, if possible (CPP-8264).

New in CLion 2021.3 Build 213.5744.254 (Dec 2, 2021)

  • New remote development mode (headless remote machine and thin local client)
  • Type hints in the editor
  • More powerful and accurate code analysis
  • Debugger:
  • Better data views in debugger
  • RTOS thread views
  • Toolchain updates:
  • Docker toolchain
  • Custom compiler
  • Environment script
  • Windows-specific enhancements
  • Ninja as the default CMake generator
  • Plugin updates:
  • Space IDE plugin
  • IntelliJ Rust
  • Other changes:
  • A new Build directory option was added to Settings/Preferences | Build, Execution, Deployment | Makefile for configuring the directory where all make tasks are executed when the Makefile project is loaded in CLion.
  • Gradle and Gradle Native plugins in CLion are now unbundled and can be installed from our marketplace.
  • A new toggle was added to the Structure tool window and the Structure pop-up to show qualified names for the member functions and to help you more easily distinguish functions with the same names.
  • The new Push All up to Here action allows you to push commits up to the one you have selected in the Log tab of the Git tool window.
  • To improve CLion performance for projects on WSL, the Clangd-based language engine is now run directly on WSL in such cases.

New in CLion 2021.2.3 Build 212.5457.51 (Oct 15, 2021)

  • Several issues in code completion were addressed, and it now works inside Google Test macros and the assert macro (CPP-26297, CPP-25861).
  • Structure View now includes qualified names for the member functions shown there (CPP-14224).
  • The IDE no longer fails to execute a Google parametric test instantiation (INSTANTIATE_TEST_CASE_P) when the Instantiation Name is empty (CPP-15149).
  • Fixed an issue with detecting the WSL environment on Windows 1909 (CPP-25970).
  • Fixed an incorrect macro expansion in CMake Presets (CPP-26646).
  • Fixed a few issues with Makefile projects (CPP-26697, CPP-26804, CPP-26869).

New in CLion 2021.2.2 Build 212.5284.51 (Sep 19, 2021)

  • CMake Presets:
  • Fixed an incorrect CMake macro expansion on Windows (CPP-26401).
  • When inheriting the presets, the toolchain field is inherited (CPP-26165).
  • Makefile projects:
  • Respect the character encoding value in all make processes (CPP-26237).
  • Use custom make settings during make target extraction (CPP-25620).
  • Formatting:
  • Support the case when the base indent is shorter than the tab size and CLion is configured to use tabs (CPP-22692).
  • Fixed an incorrect “File is not opened in a workspace” error when reformatting the code (CPP-26305).
  • Other fixes:
  • On Windows, when using LLDB for MSVC toolchain, the Natvis CustomListItems block with templated types now works correctly with multiple different instances (CPP-26204).
  • A more accurate warning is shown when launching the configuration with Valgrind Memcheck and sanitizers at the same time (CPP-25955).

New in CLion 2021.2.1 Build 212.5080.54 (Aug 26, 2021)

  • Project model:
  • The “Mark directory as excluded” action is now back in the context menu. We apologize for this regression.
  • Compiler information is now collected correctly when duplicating flags are used (CPP-25608), and also for the IAR STM8 compiler (CPP-25996).
  • We’ve fixed CMake Presets parsing when the environment variable has an env macro (CPP-25920).
  • In the debugger, several issues with visualization have been fixed for the LLDB-based debugger on Windows (for the MSVC toolchain).
  • Template parameters are no longer folded by default. If you want default folding back, enable Preferences/Settings | Editor | General | Code Folding | Fold by default | C | Template parameters.
  • Formatter:
  • We’ve fixed an editor freeze caused by ClangFormat (CPP-25091).
  • The broken auto formatting of switch statements with return has been fixed (CPP-26011).
  • New options were added: Preferences/Settings | Editor | Code Style | C/C++ | Spaces | Before/After ‘for’ colon/semicolon. They control the number of spaces before/after colons and semicolons in range-based for and for loops.

New in CLion 2021.2 Build 212.4746.93 (Jul 30, 2021)

  • Build system updates: CMake, Makefile, GNU Autotools:
  • As we see in the Developer Ecosystem research, the three most popular build systems in C++ have remained unchanged.
  • CLion can work with 2 of them – CMake and Makefile. msbuild is natively supported in Visual Studio, while C++ support can be enhanced with the ReSharper C++ extension. CLion 2021.2 brings significant improvements to CMake and Makefile support. Let’s check out the details!
  • CMake:
  • Since the early days of CLion, CMake has been the IDE’s primary project model. In 2021.2, this support has had a massive update in order to keep it aligned with the ongoing CMake evolution.
  • CLion 2021.2 bundled CMake 3.20 and supports one of the biggest features of this CMake release – CMake Presets. This feature addresses the common need to share the CMake build configuration settings with other people.
  • If you open a project with CMake Preset files (CMakePresets.json, CMakeUserPresets.json, or both) in CLion 2021.2, the IDE will automatically load the build presets and store all of their settings in CLion’s CMake Profiles. Presets that are loaded in CLion are read-only, but you can still edit .json files in the CLion editor. When you edit a .json file or update the preset externally, you will get a notification with the option to reload the changes.
  • A few more important CMake enhancements in v2021.2:
  • New CMake project templates for C and C++ executable, CUDA, and Qt projects were added and are configurable in Settings/Preferences | Editor | File and Code Templates.
  • CMake targets can now be specified as Before Launch tasks in the Run/Debug configuration. With this, you can execute a built-in or user-specified CMake target before launching the configuration in CLion.
  • Makefile and GNU Autotools:
  • In previous versions we introduced Makefile project support in CLion. However, it had a significant limitation – Makefile files should be present in the project root directory to load the project automatically. Many projects that use make rely on pre-configuration steps which in turn generate a Makefile file for the project. CLion 2021.2 supports such projects now too!
  • The exact command executed by CLion for pre-configuring the project can be tuned in Settings/Preferences | Build, Execution, Deployment | Makefile.
  • Adding automatic support for the pre-configure step made it possible to load GNU Autotools, Kbuild, and PERL MakeMaker projects in CLion. Check out all the details in the corresponding blog post. Here is the list of projects we test our Makefile projects support on.
  • Debugger enhancements:
  • We have continued to work hard on improving CLion’s debugger. The CLion 2021.2 update brings better Natvis support and minidumps for Windows users, and updates to breakpoints and remote LLDB. Let’s briefly go through these enhancements.
  • Easier debugger configuration:
  • It’s easy when everything is compiled and debugged locally inside your IDE, but there are many more complicated setups where you need to debug your code. In this release, we worked on improving the configuration experience.
  • When you debug an executable built somewhere else, the path mappings might be too complex to fill them in in the debug configuration, but the debugger relies on a full file path when stepping through the code. It’s now possible to use just the file name for breakpoints in such cases. These breakpoints are called Relaxed breakpoints.
  • Another case is when you debug a custom executable using a fake project or when there is a library built on CI without the source code being in the project. Stepping to these source locations will cause the disassembly view in CLion, as the IDE can’t locate the actual source code. Now you can explicitly specify where to find the source files. The notification is shown in the disassembly view.
  • Regarding the disassembly view, there is now the ability to set breakpoints there. For these address breakpoints, you can configure many useful behavior patterns like the condition when it should be hit, and if it should suspend the execution or just log a message.
  • Preview Tab in debugger:
  • When stepping in the debugger, having many tabs with new files opened in the editor can clutter it up. To keep your editor clear, you can view files in a single tab, rather than opening each file in a new one. Just enable Preview Tab.
  • Enabling Preview Tab affects more than just the debugger behavior – it’s an IDE-wide feature affecting the way files are opened in the editor. Check out the documentation if you want to learn more.
  • Debugger on Windows:
  • On Windows, if you use the Microsoft Visual C++ compiler toolchain, the debugger from Visual Studio is not allowed in CLion due to licensing restrictions. That’s why CLion provides its own LLDB-based debugger. The same debugger is also used in Rider for Unreal Engine Preview, and unsurprisingly it has evolved quickly, thanks to the huge amount of feedback we get on it from the users.
  • In CLion 2021.2, this LLDB-based debugger gets a massive overhaul to achieve better data rendering. The change affects both built-in rendering and Natvis support. For example, CLion now automatically generates colored one-line summaries for all structures not covered by Natvis, shows the [Raw View] for Natvis-generated values, and more. You can check all the details here.
  • Windows users can now debug with core dumps. The same Run | Open Core Dump action as previously on Linux and macOS helps start debugging sessions on Windows. Finally, it’s now possible to switch to the cmd.exe console to run and debug applications instead of using the internal CLion console.
  • LLDB:
  • In CLion, you can debug any arbitrary executable remotely. This is now possible with both GDB and LLDB. We renamed the GDB Remote Debug configuration to Remote Debug and made it serve both LLDB and GDB remote debug cases.
  • On a remote host, you’ll need to launch lldb-server/debugserver. Check out our web help for more details.
  • To improve debugging with LLDB, LLDB v12.0 is now bundled in CLion 2021.2.
  • FreeRTOS thread view:
  • FreeRTOS is a real-time operating system for microcontrollers. To debug applications using FreeRTOS, CLion provides a view of FreeRTOS tasks (threads) with their names and current statuses in the debug tool window.
  • To get the FreeRTOS thread view, turn it on in Settings/Preferences | Build, Execution, Deployment | Embedded Development | RTOS Integration. Learn more in our online documentation.
  • Cling interpreter:
  • When studying C++ or prototyping something new, you might want a playground to check out your ideas, as in other languages. The Cling interpreter can help you with this! All you need to do to start using it is just download the Cling executable for your platform or install it via your OS-specific dependency manager, and configure a path to it in Settings/Preferences | Languages & Frameworks | C/C++ | Cling.
  • The IDE integration provides you with an IDE action to start the Cling session and a set of code intentions that allow you to send the current line or selection to Cling.
  • Object lifetimes static analysis:
  • According to the C++ Foundation Developer Survey, memory safety issues like use-after-free/delete are among the top points of frustration for C++ developers. Many thanks to Herb Sutter for his Lifetime safety proposal that is trying to address these issues in C++.
  • The proposal is not yet in the C++ standard, and major C++ compilers are not adopting it actively currently. But you don’t have to worry – CLion’s built-in static analyzer can check object lifetimes for you now!
  • Profiling in remote mode and on WSL:
  • Eliminate performance issues in your code by using profiler integration in CLion. With the CLion 2021.2 release, profiling is now possible in remote mode and on WSL! To do so, configure the path to the Perf tool in CLion Settings/Preferences | Build, Execution, Deployment | Dynamic Analysis Tools | Perf.
  • While we are on the WSL topic, CLion now supports WSL whether it’s installed from the Microsoft Store or a custom distribution. All WSL distributions returned by the wsl -l -v command should now be listed in the WSL drop-down list in Settings | Build, Execution, Deployment | Toolchains.
  • Version Control and Local History:
  • To make sure your commit is good enough, you can analyze the code with the customized profile or even run the selected test configuration before actually committing the code.
  • If the test fails, you can review the details and rerun the commit checks after the necessary fixes.
  • What if your project is not under the version control? Local History can help save you from accidental changes! You can now search through file revisions. This is useful if you need to look for something you’ve accidentally removed and revert the change.
  • Plugins update:
  • Starting from this release, you can use CLion with a localized UI in Chinese, Korean, and Japanese. Install the non-bundled language pack plugins in Settings/Preferences | Plugins.
  • For Rust users, IntelliJ Rust introduced a new name resolution engine and initial WSL support. The plugin is now also capable of expanding certain procedural macros. We’ll publish a separate blog post about these changes later.
  • Other changes:
  • Finally, we want to briefly mention some other valuable enhancements:
  • Postfix code completion in C++ now works for literals.
  • If you want certain operations to be performed on Save, you can now configure them all in one place in Settings/Preferences | Tools | Actions on Save.
  • When using remote development mode for developing in Docker, you can use the “Local or mounted folder” connection type to avoid unnecessary source synchronization.
  • You can now configure the colors that are used in Doxygen comments in Settings/Preferences | Editor | Color Scheme | C/C++ | Comments | Doxygen.

New in CLion 2021.1.3 Build 211.7628.27 (Jul 7, 2021)

  • Fixes for CUDA:
  • Fixed red CUDA code with Visual Studio C++ toolchain (CPP-25687).
  • Fixed the code completion in CUDA code that stopped working after including a normal C++ header file (*.h) to the CUDA files (CPP-25144).
  • Fixed the incorrect error Use of undeclared identificator __cudaPushCallConfiguration (CPP-25157).
  • IntelliJ-platform fixes:
  • JetBrains Runtime was updated to 11.0.11-b1341.60, which includes many UI fixes.
  • CLion no longer shows update notifications from disabled plugins (IDEA-267878).
  • Ctrl+Shift+Arrow keys work for text selection as it should, instead of resizing the dialog by mistake (IDEA-267294).
  • Fixed an unexpected closure of the Compare with branch dialog (IDEA-251381).

New in CLion 2021.1.2 Build 211.7442.42 (Jun 1, 2021)

  • C++ language:
  • Show consteval in Override/Generate dialogs and Structure view.
  • Generate Definition action no longer loses the requires clause of a constrained function.
  • Override action no longer drops trailing return type in cases when a function has overloads.
  • Override action no longer loses the constexpr virtual function.
  • Join lines action became more accurate (CPP-24990, CPP-25010).
  • Quick fix to change return type or add return statement is available now for consteval functions.
  • A lot of fixes for false positives in the Unused code inspection, as well as fixes for the corresponding safe delete quick fixes.
  • Code formatting:
  • Incorrect reformatting of the bitwise XOR is fixed.
  • Incorrect braces indentation after #pragma omp parallel is fixed.
  • Debugger:
  • GDB 10.1 no longer crashes when printing a struct variable with a flexible array member (CPP-24874).
  • GDB on macOS now works with remote targets.
  • Project models:
  • Custom Build Application configuration now skips the Build step if the tool is not specified (CPP-25004).
  • Other improvements:
  • Fixed the problem causing the color scheme to change unexpectedly (IDEA-265169).
  • Chinese characters are now displayed correctly when the Quick Documentation action is invoked (IDEA-268158).
  • Tab and indent settings no longer reset when you relaunch the IDE (IDEA-267368).

New in CLion 2021.1.1 Build 211.7142.21 (Apr 25, 2021)

  • In code assistance and navigation:
  • Fixed the regression that resulted in slow code completion (CPP-24744).
  • Fixed the problem with compiler information collection failing and leading to code assistance not working (CPP-24777). The problem occurred if PCH files were passed via “--include=...”.
  • Fixed the problem with corrupted indexes that caused Find In Files to show no results (IDEA-266391).
  • Added a new intention to add/remove braces in if, for, while, and do-while statements.
  • Clangd fixes:
  • Fixed a problem with Clangd settings that failed to open in some cases (CPP-24742).
  • Fixed an issue with Clangd greedily allocating all the memory and freezing the system.
  • For CUDA projects:
  • Fixed the regression that caused the broken syntax highlighting (CPP-24756) and incorrect compiler information collection (CPP-24802) on CUDA projects.
  • CLion now uses the gcc compiler from CUDA installation, if it is installed.
  • We’ve added a few new MISRA checks and fixed a Clangd crash caused by MISRA-related code analysis.
  • For remote projects:
  • CLion no longer ignores the clion.remote.resync.system.cache registry flag for Makefile projects (the flag specifies if CLion should always re-sync header roots upon project reload) and the Resync with Remote Hosts action is now also available for Makefile projects.
  • If there are directories on a remote host containing files that the remote toolchain user does not have read access to, the synchronization doesn’t fail now and CLion still tries to synchronize at least the files that the user can access (CPP-24792).
  • Fixed an issue with ASCII combination (Alt + Numpad) entered in the editor but not working as expected (IDEA-260888).
  • Fixed the modal dialog freezes on macOS Big Sur (IDEA-256329).

New in CLion 2021.1 Build 211.6693.114 (Apr 25, 2021)

  • Enhancements for various project types (Qt, Makefile, CMake)
  • Open Project wizard
  • Postfix completion for C and C++
  • VCS support enhancements
  • Rust and Swift plugin updates
  • Code analysis:
  • Global data flow analysis
  • Clazy integration
  • More MISRA checks
  • Debugger:
  • Set Execution Point in disassembly
  • Core dumps debugging
  • Remote development:
  • Dynamic analysis in remote mode. Branch Coverage
  • Open Remote Host Terminal
  • Code With Me, a new service for collaborative development and pair programming

New in CLion 2020.3.3 Build 203.7717.62 (Mar 17, 2021)

  • Makefile toolchain:
  • When loading a Makefile project, CLion now not only uses the make executable from the Makefile toolchain, but it also takes compilers from it (if configured explicitly in the corresponding toolchain). This improves the consistency and accuracy of our Makefile project support.
  • Debugger bug-fixes:
  • A fix for the incorrect watchpoint types (CPP-9407), and also for watchpoint property changes which previously were not propagated to watchpoints.
  • A fix for the error during GDB pretty printers setup on MinGW-w64 (CPP-23244).
  • A fix for the bug causing EXC_BAD_ACCESS while debugging an app with Qt libraries on the new Apple Silicon (M1 chip).

New in CLion 2020.3.1 Build 203.6682.181 (Dec 31, 2020)

  • Apple Silicon Support (M1 chip):
  • Great news for Apple fans! CLion 2020.3.1 now supports Apple Silicon. The previous CLion build was running on an M1 chip via Rosetta2 and the patch update to v2020.3.1 will keep that the same. A new build available from our website (download a separate installer for Apple Silicon) or via Toolbox App runs natively and also fixes an issue with launching LLDB on M1 (CPP-23065).
  • Fixes for remote development, project models, and code analysis
  • The most notable fixes in this update include:
  • For remote mode:
  • Remote mode now works correctly with the remote machine that uses BusyBox (CPP-22753).
  • For Makefile projects:
  • Configuring Makefile projects in some cases (like WSL) no longer takes an unexpectedly long time (CPP-23013).
  • Fixed issues with loading QEMU Makefile-based source code (CPP-20618).
  • CLion can now successfully import a Makefile project if there are multiple source files on a single command line (CPP-19895).
  • Makefile projects that include assembly files can now be successfully loaded in CLion (CPP-19665).
  • For code analysis:
  • Fixed the "Unable to execute Clang-tidy" error (CPP-23113).
  • Other fixes for incorrect messages produced by the code analyzer.
  • Addressed an issue with high memory consumption (CPP-21585).
  • Other fixes:
  • Among other improvements in this build, we:
  • Fixed duplication of Pull Request comments (IDEA-244965).
  • Fixed the IDE to start correctly when checking out from GitHub using the JetBrains Toolbox browser extension (IDEA-253829).
  • Fixed the Expand/Collapse All buttons in the TODO tool window (IDEA-254558).
  • Fixed the problem preventing the IDE settings from being exported into a file (IDEA-252588).

New in CLion 2020.3 Build 203.5981.166 (Dec 23, 2020)

  • An enhanced debugging experience
  • Debugging with Core Dumps
  • Run and Debug with Root/Administrator privileges
  • Set execution point to an arbitrary line
  • Interactive hints and inline watches
  • Debugger demo
  • A few more improvements to Run/Debug configurations
  • Unit testing: new CTest and Google Test enhancements
  • MISRA C 2012 and MISRA C++ 2008
  • Code analysis, completion, and refactoring
  • Better Qt project experience
  • Demo: Updates for Build/Run and enhancements for Qt projects
  • Enhancements to VCS and Remote mode, and some news updates from Code With Me and Rust plugins.
  • Project models:
  • Enable/Disable CMake Profiles
  • Better Makefile project experience

New in CLion 2020.2.5 Build 202.8194.17 (Dec 1, 2020)

  • For macOS Big Sur users:
  • Fixed an issue where opening a project in a new window results in opening the project in another tab (JBR-2879).
  • Fixed a problem causing CLion to crash after exiting sleep mode (JBR-2790).
  • UI:
  • Fixed Find and Replace actions forgetting the size of the text area if it was changed by the user (IDEA-248210).
  • VCS:
  • The pull dialog now correctly suggests pulling from the latest entered branch instead of the tracked branch (IDEA-251554).

New in CLion 2020.2.4 Build 202.7660.37 (Oct 9, 2020)

  • In the Clang-based engine:
  • When terse syntax is used for C++20 Concepts, CLion no longer incorrectly highlights the concept as unused (CPP-20892).
  • Members of the nested union are now highlighted correctly as fields (CPP-19308).
  • We’ve fixed a Clangd crash (CPP-20981).
  • In remote mode:
  • In case of multiple usages of a single remote host, the /tmp/.clion.resources directory is shared among different users. Now more accurate permissions are set so that all users can modify it.
  • IntelliJ Platform issues:
  • Editor antialiasing state is now saved between restarts (IDEA-209384).
  • We’ve fixed the incorrect focus when navigating to a file (IDEA-247358).
  • The Search Everywhere popup no longer opens partially offscreen (IDEA-230328).

New in CLion 2020.2.2 Build 202.7319.62 (Sep 17, 2020)

  • Fixed authentication when invoking remote operations in GitHub (IDEA-248658).
  • Some extra compiler names like clang-11 are now supported in the compilation database (CPP-20753).
  • Fixed the crash that was happening in the debugger on the Windows for Visual C++ toolchain, for example on doctest code. This means that debugging doctest executables is now possible (CPP-21008).
  • Improved Extract refactoring to now make the extracted function static in a static context (CPP-3204), and it no longer incorrectly adds the const specifier to the extracted function (CPP-9252).
  • Improved the accuracy of several code analysis checks.

New in CLion 2020.2 Build 202.6397.106 (Jul 30, 2020)

  • Makefile projects support:
  • Our developer ecosystem study revealed that the top 3 project models for C++ projects are CMake, Visual Studio, and Makefiles. From the very first versions, CLion has treated CMake as a first-class citizen, providing many productivity-boosting features for it. Among other supported project models, in CLion you’ll find Gradle, Compilation Database, and Bazel (via a 3rd-party plugin). This list of supported project models is probably the biggest limitation of CLion. CLion 2020.2 is now open to a wider variety of C and C++ projects due to the introduction of a much-requested feature – support for Makefiles projects!
  • To be able to load a Makefile project, CLion runs make on it, by default with the --just-print option to avoid actually building it, and parses the output of the make command. If parsing is successful, CLion loads the project and enables all the smart IDE features for it.
  • The arguments of the make command, as well as the Build target and Clean target commands used by CLion to load the project, are configurable in Settings/Preferences | Build, Execution, Deployment | Makefile
  • In Run/Debug configurations you can select the Makefile Application configuration, allowing you to run and debug your Makefile targets.
  • Support for makefile projects in CLion is still in its early stages with various limitations and known issues. However, we’ve tested it on a long list of projects, which you can find on our Confluence page. We also want to sincerely thank all early previewers who gave this new feature a try and shared their feedback! Feel free to check out this blog post for the implementation details, a few configuration tips, and a list of known issues, as well as our future plans in this direction.
  • Modern CMake support:
  • CLion 2020.2 bundles CMake 3.17 and now offers necessary support for a few useful features from the recent CMake updates:
  • Ninja Multi-Config is an option (-G "Ninja Multi-Config") for the Ninja generator in CMake that allows you to get build files generated for all configurations at once. While CLion 2020.2 generates them all, it still uses only one, selected in the CMake Profile settings. We are planning to add a UI to support multi-config generators, later (CPP-20890).
  • The precompiled headers (PCH) technique can speed up compilation by creating a partially processed version of some header files, and then reusing it during subsequent compilation runs. CMake precompiled headers is a great unification feature, which allows you to organize precompiled headers in your project in a compiler-independent way. You just use the target_precompile_headers command to add header files to the PRECOMPILE_HEADERS and/or INTERFACE_PRECOMPILE_HEADERS properties of a target. You no longer need to remember the multitude of compiler flags for PCH and pass them via the project model! New CMake commands and properties are now supported by CLion, which means code resolve and all IDE features work correctly.
  • Note that this doesn’t currently work for Cygwin/WSL/Remote toolchains, but we plan to add it later.
  • Imagine the situation when you open a CMake project that has a CMake folder already generated. CLion can open the project without regenerating the folder, which saves a considerable amount of time for some projects. This feature previously worked only for the Makefile generator, but now it is supported for all generators (like Ninja, or others). Give it a try!
  • You’ll also find an updated UI in Settings/Preferences | Build, Execution, Deployment | CMake, and a new list of CMake actions in Find Action, which you can now assign a shortcut to for your convenience: CMake Settings, Stop CMake project reload, and Open CMakeCache file.
  • Better C++20 standard compliance:
  • This year brings a new C++ standard to developers. In this release, we devoted a lot of effort into improving the C++ language support in CLion. The Clangd-based language engine is generally more stable now with the C++20 code. In addition, a few more specific features have been added:
  • Code completion for C++20 keywords: char8_t, consteval and constinit, co_await, co_return, and co_yield.
  • For designated initializers, code completion now works for fields from a base class
  • Not only is the C++20 explicit(bool) now highlighted correctly, name hints for condition arguments also work there, as do navigation and refactorings
  • In range-based for loops with the init statement, refactorings like Rename work for variables in the loop in CLion 2020.2.
  • Code analysis:
  • In this release we improved the built-in code analysis in CLion by completely reworking some of the checks and adding a few new ones:
  • We added a new inspection for C++20 Concepts. It suggests constraining local variables declared as auto if the result of a constrained function call is assigned to them
  • A check has been added to catch dangling pointers. We all know how dangerous cases with double-free and use-after-free can be. With a few limitations, CLion 2020.2 now helps you to detect such cases
  • The Simplify code inspection has not only become more accurate, but it’s also now less CPU-consuming. Fine-grained configuration options are now available under Settings/Preferences | Editor | Inspections | C/C++ | General | Simplifiable statement
  • The Loop condition is never updated inspection, similarly to Clang-Tidy’s clang-tidy:bugprone-infinite-loop, detects situations where a loop condition is not updated inside the loop. CLion’s inspection works nicely for loops with exit points and can handle cases with lambdas or references.
  • The Unused code inspection and Data Flow Analysis in general were both greatly improved in this release.
  • CLion 2020.2 also introduces a new Inspection Widget and the Problems tool window to check the list of warnings and errors in the current file
  • Unit testing:
  • What’s your favorite unit testing framework? Do you write unit testing as all? The developer ecosystem study that we carried out in the beginning of 2020 found that 34% of C++ developers don’t write unit tests, while 15% do but don’t use any specific framework. However, among the majority who do run unit tests on their C++ projects, the 5 most popular frameworks were identified as Google Test, Catch, Boost.Test, CppUnit, and Doctest.
  • CLion has already supported the top 3 frameworks for a long time. Version 2020.2 enhances integration with the newer versions of Google Test and Catch2 by adding support for:
  • The GTEST_SKIP() macro in Google Test, to skip tests at runtime
  • Catch2 template tests.
  • This version also adds Doctest to the list of the frameworks supported in CLion
  • This mean that Doctest tests are detected by CLion and Run/Debug configurations are created automatically when you run an individual test or all tests in a file, and the results of the test launches are presented in the built-in test runner, which helps analyze the test results, navigate to the source code, and rerun failed tests or all tests. Learn more about Doctest support in CLion in this dedicated blog post.
  • Code coverage is important – when you do unit testing for your code, it’s useful to see how well your code is covered by the tests. You can run your tests with coverage in CLion, and starting from 2020.2 you no longer need to manually create a CMake Profile and specify all the necessary compiler flags in it. If the proper configuration is missing, CLion will now create one based on the CMake profile you are currently using.
  • Updates to the Go to Declaration or Usages action and Clangd configuration:
  • You probably know that CLion handles C and C++ code with the help of two language engines: one is built into CLion, and the other is based on Clangd. The Clangd-based engine is younger but is evolving faster than CLion’s own engine, and incorporates a huge amount of work done by the C++ community to support new language features. Our team implements code highlighting, completion, parameter hints, unique code analysis features (like Data Flow Analysis, and others), some navigation actions, and other features on top of it. You can check out our online documentation for a detailed comparison of the two engines. CLion 20202.2 shows the LLVM Clang revision used for the Clangd-based language engine so that you know what to expect in terms of C++ support and built-in Clang-Tidy checks
  • We’ve also applied some effort to making sure the Clangd-based engine is as stable as possible. We are now so confident in it that it has become the default language engine in CLion and the option to turn it off has been removed.
  • Another important change is the behavior of the Go to Declaration or Usages action (Ctrl+Click / Ctrl+B on Linux/Windows, ⌘Click / ⌘B / force-touch on macOS). A new setting under Settings/Preferences | Editor | General | Go to Declaration or Usages allows you to specify whether it should show the list of usages or show the associated declaration when the action is invoked on a definition.
  • Debugger improvements:
  • CLion integrates with the GDB and LLDB debuggers, and on Windows it also comes with the JetBrains LLDB-based debugger for the Microsoft Visual Studio toolchain. This debugger is now used in two of our IDEs – CLion and Rider for Unreal Engine. In version 2020.2 it gets lots of improvements: we’ve eliminated freezes on stop and a number of crashes, made general performance improvements, and introduced automatic thread naming, in addition to some other fixes. The debugger is bundled with CLion and is enabled automatically when you select the Microsoft Visual Studio toolchain. Give it a try and let us know what you think!
  • CLion 2020.2 updates the bundled GDB STL pretty printers and upgrades the bundled version of GDB to 9.2.
  • IDE performance:
  • We still treat IDE performance as our top priority, and we continue to fix UI freezes and improve CPU and memory consumption. Among many such fixes in this release, one deserves a special mention: in order to avoid editor performance degradation, CLion now inserts a backslash when you press Enter inside a macro definition. The macro definition will quite likely be continued on a new line, so this saves the IDE from redundantly reparsing activity.
  • Easier embedded development with the updated PlatformIO plugin:
  • The PlatformIO plugin in CLion helps you start an embedded project faster. During this iteration we improved it by adding highlighting in platformio.ini files, automatically generating various useful Run/Debug configurations, and creating CMake Profiles for the CMAKE_CONFIGURATION_TYPES entries from the PlatformIO projects. Our next step will most likely be to rework the project model approach (which currently generates CMake for CLion), however we might postpone this until 2021.
  • VCS support update:
  • As usual, the IntelliJ Platform has been updated with many improvements to VCS support. This includes new and richer functionality in the GitHub Pull Requests view. Learn more about this on the IntelliJ IDEA page.
  • Our WSL2 users will be happy to learn that Git installed on WSL2 is now automatically detected by the IDE, and all Git-related features automatically switch over to work with it.

New in CLion 2020.1.3 Build 201.8743.17 (Jul 23, 2020)

  • This update fixes an issue with selecting and running multiple CMake Google tests (CPP-20039).
  • Additionally, this update introduces the Show Remote Hosts Info diagnostic action, which dumps some remote settings and the list of failed remote connections along with their settings.
  • In other news, JetBrains Runtime has been updated, which brings fixes for the following issues:
  • Resolved the keyboard issue on Ubuntu 20.04 and Gnome 3.36 with the enabled IBus (JBR-2444).
  • Resolved the font rendering problem on macOS Mojave (JBR-2463).
  • Eliminated the latency on accepting auto-completion suggestions (JBR-2475).

New in CLion 2020.1.1 Build 201.7223.86 (Apr 30, 2020)

  • Toolchains:
  • CLion 2020.1 introduced CUDA support. This update fixes the issue where CLion was not able to pick the non-default host compiler for CUDA.
  • There are two different ways of specifying the host-compiler that NVCC should use during compilation.
  • For older CUDA projects using find_package(CUDA), the important CMake variables are CUDA_HOST_COMPILER and CUDA_NVCC_FLAGS.
  • For newer projects that specify CUDA explicitly as a language, CMake uses the variables CMAKE_CUDA_HOST_COMPILER and CMAKE_CUDA_FLAGS instead.
  • The compiler is now detected correctly for Cygwin (CPP-19908).
  • CLion 2020.1.1 recognizes WSL Ubuntu20.04 distribution.
  • In Qt code: QStringLiteral and QByteArrayLiteral are now highlighted correctly (CPP-19916).
  • Clang tools:
  • A fix for a Clangd crash on C++20 code.
  • A fix for the Reformat Code action that caused an IDE freeze when ClangFormat was in use.
  • Code completion:
  • Completion was skipping parenthesis when Tab indentation was used (CPP-19902).
  • An issue with header name autocompletion has been fixed (CPP-19675).
  • A few issues with incorrect (CPP-10037) or redundant (CPP-19310) symbols completed were fixed.

New in CLion 2019.3.4 Build 193.6494.38 (Feb 13, 2020)

  • CMake CUDA targets are now launched from CLion using the correct binary (CPP-10292). If you are interested in more sophisticated CUDA support, please check out the 2020.1 EAP build.
  • Google Test support:
  • False errors on Google Test v1.8.1 have been fixed (an error message was produced for INSTANTIATE_TEST_SUITE_P, see CPP-16301).
  • False positive inspection warnings for new MOCK_METHOD macro from Google Test v1.10.0 (CPP-18182).
  • Formatter improvements:
  • Reformat Code no longer breaks indentation in an enum when using a comment line (CPP-1836).
  • Several Clangd crashes were addressed.

New in CLion 2019.3.3 Build 193.6015.37 (Jan 22, 2020)

  • Refactorings:
  • Fix for the incorrect macro inlining (CPP-18442).
  • A regression in Extract Method has been fixed (CPP-18640).
  • Toolchains:
  • Support for the /std:c++latest flag when using Microsoft Visual C++ Toolchain (CPP-16330).
  • The $PROJECT_NAME$ macro is now available (and refers to the CLion’s project name) in path-strings in configuration files for the project. This allows, among other things, the specification of a default CMake build directory outside of the project root (CPP-18172)
  • Editor:
  • Raw strings are now recognized as literals in macro calls, thus eliminating false positives in the analysis.
  • Incorrect designated initializer highlighting has been fixed (CPP-18486).
  • Because of the exception failing, the Kotlin/Native plugin was blocking unit tests in CLion from running (CPP-18169). This issue has been resolved and the tests now run as expected.

New in CLion 2019.3.2 Build 193.5662.56 (Dec 19, 2019)

  • In this update, Clangd-based code highlighting was improved:
  • override and final keywords are now correctly highlighted
  • In C11 code, when integers have suffixes with mixed lower/upper cases, the highlighting no longer fails
  • std namespace usages from concepts library are now highlighted correctly.
  • Clangd-based code completion also got a few enhancements:
  • When completing a function with the default arguments, the cursor is placed inside the parentheses, not behind the closing parenthesis.
  • When generating function implementations via code completion, CLion now generates correct code in the proper context (CPP-18384).
  • Other:
  • Code coverage, which we introduced in v2019.3, has been updated to prevent situations when it runs out of memory on large test suites.

New in CLion 2019.3.1 Build 193.5233.144 (Dec 9, 2019)

  • Language engine:
  • A problem with randomly occurring red code and an incorrect suggestion to import user classes from the std namespace turned out to be an issue with the missing include file (CPP-18270 and the related CPP-18246, CPP-18247, CPP-18280).
  • Completion of standard library symbols in the global namespace is now working correctly in Clangd (CPP-18249).
  • Various fixes preventing the Clangd-based engine from crashing were introduced.
  • Remote development:
  • A mechanism of synchronizing headers in background was recently enabled by default, and it turned out to cause massive delays on loading CMake projects in many cases (e.g. CPP-18277). We’ve reverted it for now until we can come up with a better solution.

New in CLion 2019.3 Build 193.5233.56 RC (Nov 21, 2019)

  • C++20's Concepts completion fixes.
  • Fixed regressions with Extract parameter and Extract Function.
  • Fixed incorrect highlighting of the alias template with Clangd.

New in CLion 2019.2.4 Build 192.6817.32 (Oct 10, 2019)

  • macOS Catalina was finally released a few days ago. We started testing and fixing some issues there well in advance, and CLion 2019.2.2 was released a month ago with a fix for LLDB on Catalina.
  • Unfortunately, in CLion 2019.2.3 the debugger on Catalina was broken. After the official macOS release, our users have faced an issue when launching the debugger (CPP-17613). We are really sorry about this, and we’re now releasing a new bug-fix update 2019.2.4 with the proper fix included.
  • We’ve also investigated the issue internally to prevent similar problems in the future.

New in CLion 2019.2.3 Build 192.6817.18 (Sep 27, 2019)

  • A new bug-fix update, v2019.2.3 (build 192.6817.18), is available for download, along with a patch update.
  • This update bundles CMake v3.15.3 and provides a set of platform and UI/UX improvements, such as the “Use contrast scrollbars” setting introduced in 2019.3 EAP and ported to 2019.2.3. Besides, the IDE now supports native password storage on Linux (IDEA-185926).

New in CLion 2019.2.2 Build 192.6603.37 (Sep 13, 2019)

  • Fixes for parameter name hints:
  • CLion 2019.2 introduced a new feature called Parameter Hints. These are the names of function parameters for passed arguments, which are displayed in the editor in line with your code to help increase its readability.
  • In this bug-fix update, we’ve fixed a few issues related to Parameter Hints in CLion:
  • There is a default black-list now for C++ Parameter Hints. It includes std::min/max, std::forward, std::vector::push_back, strcmp / strncmp, and some others
  • Parameter hints now correctly handle brace elision in aggregate initialization
  • In pack expansion, the & hint is now shown for all the parameters.
  • Now, CLion doesn’t show a hint if there’s a comment matching the hint / parameter name. It recognizes comments in the form of /*NAME=*/ (the = can be any character and NAME must match the hint for that argument).
  • A Parameter Hint is now shown before NULL.
  • Bundled LLDB on Catalina macOS:
  • macOS 10.15 Catalina is gonna be released soon, so we’ve made sure the bundled LLDB works there (CPP-17126). There are still some possible warnings (CPP-17268), but they don’t seem to prevent debugging.
  • JetBrains Runtime update:
  • Finally, JBR 11 has been updated and addresses the following issues:
  • Fixed the corrupted fonts on the Welcome Screen on Windows (JBR-1777).
  • Fixed the issue that caused incorrect font (italics) in the editor (JBR-1778).

New in CLion 2019.2.1 Build 192.6262.62 (Aug 23, 2019)

  • This update brings important fixes in several areas.

New in CLion 2019.2 Build 192.5728.100 (Jul 26, 2019)

  • CLion 2019.2 provides more assistance to Embedded Developers and improves the general debugging abilities across several important aspects. The editor now has Parameter Name hints and it has improved code analysis capabilities, bringing back an updated check for ‘Unused Includes’. This all is accompanied with IDE performance improvements and a couple of huge changes from the IntelliJ Platform.
  • Embedded Development:
  • Debug with GDB Server:
  • On-Chip debugging with GDB Server:
  • If it’s possible to debug on the microcontroller of your choice with a GDB Server, you can now do it from CLion using a special Embedded GDB Server Run/Debug configuration. It covers OpenOCD, ST-Link GDB Servers, Segger J-Link GDB Server, QEMU, and many other specific GDB Servers.
  • Create a configuration, providing a path to GDB Server, arguments to run the server, and other appropriate settings, and you are all set and ready to debug on-chip from CLion!
  • Peripherals:
  • Peripheral View for ARM Devices
  • When debugging on-chip, it’s crucial to have the ability to view the peripherals. In CLion, this view is now available for two types of Run/Debug configurations: Embedded GDB Server and OpenOCD Download & Run. In both cases, a Peripherals tab appears in the debug tool window when you start debugging. Load the appropriate .svd file for your board and select the active peripherals you need to see.
  • Debugger:
  • Line breakpoints
  • Pending, resolved, and invalid breakpoints
  • CLion 2019.2 now distinguishes three types of line breakpoints:
  • Pending: Line breakpoint is out of the debugging session, which means the session hasn’t started yet or the corresponding shared library hasn’t been loaded yet).
  • Resolved: Line breakpoint is successfully resolved by GDB or LLDB using the provided debug symbols, and can be hit during the execution.
  • Invalid: Line breakpoint can’t be resolved by GDB or LLDB and can never be hit.
  • The types are detected automatically on the fly and the breakpoint icons are updated accordingly.
  • Debugger commands completion:
  • Completion for GDB/LLDB commands
  • If you prefer the command line interface of GDB/LLDB and use the debugger console available in the debug tool window, you will benefit from completion for GDB/LLDB commands. Use Tab or Ctrl+Space to invoke it.
  • This completion is powered by GDB or LLDB, respectively; CLion simply gives you access to the suggestions.
  • MSVC debugger:
  • An experimental debugger for the MSVC toolchain
  • If you use the Microsoft Visual C++ toolchain in CLion, now you can try a new experimental debugger.
  • It’s implemented by the JetBrains team on top of LLDB and is bundled into CLion. To enable bundled support for native visualizers, use Settings | Build, Execution, Deployment | Debugger Data Views | Enable NatVis renderers for LLDB.
  • An experimental debugger is available when turned on explicitly: call up the Maintenance dialog (Shift+Ctrl+Alt+/) | Experimental features, and select cidr.debugger.lldb.windows to control it.
  • Memory View
  • When debugging your application, you can easily review the memory behind a pointer: in the Variables view of the debug tool window, press Ctrl+Enter on a pointer to invoke the Memory View. In 2019.2, we’ve updated the Memory View to make it even more useful.
  • Go to address:
  • Navigate to a particular address in memory from the Memory View. Use the hex value representing an address, a pointer variable, or call the address (&) of any variable you are interested in.
  • Code completion will assist you with the known symbols.
  • ASCII view:
  • If you are interested in the ASCII memory format, you’ll find the ASCII view in the column on the right of the Memory View useful.
  • Parameter hints:
  • Parameter Name hints
  • Thanks to parameter name hints in v2019.2, you can avoid switching to the function signature while exploring a function call. This in turn should help increase the code readability.
  • For function calls, lambdas, constructors, initializer lists, and macro expressions, CLion shows the names of the parameters for the passed arguments. This works if an argument is a literal or an expression with more than one operand.
  • Code analysis:
  • Unused Include
  • Unused Includes
  • The ‘unused includes’ check is back and completely reimplemented on top of the Clangd-based engine. It suggests 3 detection strategies: a conservative one, an aggressive one, and the default one (Detect not directly used) which is the closest to the “Include What You Use” principle.
  • Clang-Tidy:
  • Clang-Tidy update
  • The Clang-Tidy bundled binary was updated to the newest version, which brings a set of new checks to CLion. This includes some new abseil-* checks, a few from the clang-analyzer-* group, several new modernize-* checks, and more.
  • Code assistance for .clang-format files:
  • Since v2019.1, CLion has support for ClangFormat as an alternative formatter tool. Now, if you have customized your .clang-format config files in the project, you can benefit from code assistance when you update them. Learn more
  • Quick Doc:
  • Quick Documentation
  • To learn about any particular option, call the Quick Documentation popup (Ctrl+Q) and read the original documentation with samples.
  • ClangFormat config inspection:
  • Schema validation inspection
  • CLion validates the content of your .clang-format config file against the built-in JSON schema. If the option’s value doesn’t match the allowed value set, a warning will be shown.
  • ClangFormat completion:
  • Code completion
  • When customizing the .clang-format config file, you can benefit from code completion working for both options and their values.
  • ClangFormat doc:
  • Options description in completion
  • Code completion popup for option names also includes a short description of the option, so you can quickly check it while typing the option name.
  • Naming convention:
  • Naming settings:
  • New settings
  • The naming convention settings (Settings | Editor | Code Style | C/C++ | Naming Convention) were reworked to provide better flexibility and more opportunities. New settings like Visibility (Public, Private, or Protected) and Specifier (Const or Static) were added. We’ve also updated the rules to address several kinds of entities at once.
  • It’s possible to work with the new UI without using the mouse.
  • Leading Snake Case:
  • As requested by CLion users, a new style – Leading_snake_case, which capitalizes only the first letter in the snake_case name, leaving the rest in lower case – is now available, along with the somewhat similar Upper_Snake_Case style and others.
  • Shell Script plugin:
  • If you need to edit shell scripts while you are working on your C++ project, you can do this with CLion as it now bundles the Shell Script plugin.
  • You can benefit from code highlighting, word and path completion, and even textual Rename.
  • Syntax highlighting for new languages:
  • Ruby syntax highlighting
  • CLion provides bundled profound support not only for C and C++, but also for Python, JavaScript, XML, and more, as well as providing plugins for Rust, Swift, and Kotlin/Native.
  • Have code in your project in other languages, such as PHP, Ruby, or C#? You’ll be happy to learn that syntax highlighting is now available in CLion for over 20 different programming languages!
  • VCS: Commit from the Local Changes:
  • Commit from Local Changes
  • You can now commit directly from Local Changes tab. Just enable the “Commit from the Local Changes without showing a dialog” option at Settings | Version Control | Commit Dialog.
  • Use the Commit shortcut (Ctrl+K) and the IDE will select the modified files for the commit and focus on the Commit message field in the Local Changes tab of the Version Control tool window.
  • Performance improvements:
  • There is some huge ongoing work in CLion to improve the IDE’s performance such as indexing, responsiveness, and elimination of freezes, among others. Part of this work is already included in v2019.2:
  • The in-place Rename refactoring was reworked to eliminate lags and freezes.
  • The performance of code completion for qualified expressions in the editor has been significantly improved.
  • Collecting compiler information and thus loading the CMake step in remote cases was accelerated by reducing the number of I/O operations.
  • CLion now warns you when Windows Defender is affecting the build performance and is able to automatically exclude directories from real-time scanning.
  • Rust plugin update:
  • Rust plugin
  • Another huge update for the Rust plugin brings a new experimental macro expansion engine. You can turn it on in Settings | Languages & Frameworks | Rust | Expand declarative macros.
  • This engine provides you with code insight features such as highlighting, name resolution, and completion for generated modules and methods from impl blocks. Besides this, it enables navigation in the macro calls.
  • Other changes include a Duplicate code fragments inspection for Rust, and other new quick-fixes and inspections.

New in CLion 2019.1.4 Build 191.7479.33 (May 31, 2019)

  • If you open a project from the invalid compile_commands.json file and then fix it manually, CLion will now suggest to auto-reload the project for you (CPP-16088)
  • Changes in the Environment variables field of the Run/Debug Configurations are now saved correctly by the IDE (IDEA-208525)
  • The font settings on Linux are now saved correctly by the IDE (IDEA-206180)
  • The Find in Path dialog now closes when opening a project in the same window (IDEA-204277)
  • A few IDE hangs are fixed

New in CLion 2019.1.3 Build 191.7141.37 (May 9, 2019)

  • CLion can now work with header guards that use several define patterns (CPP-15736).
  • CMake 3.14.3 is now bundled.
  • The exception, when Google Sanitizers were launched from CLion, is fixed.

New in CLion 2019.1.2 Build 191.6707.69 (Apr 22, 2019)

  • A few days ago we published the first bug-fix update (2019.1.1) for the recently released CLion 2019.1. Thanks to our vigilant users, we’ve learned quickly that this build is affected by a very unpleasant freeze on IDE start when several projects are opened (CPP-16039, OC-18440). The IDE fails to recover in that case, unfortunately.
  • We are sincerely sorry for this and apologize for any inconvenience it might have caused. We’ve analyzed the source of the issue and will do our best to prevent such situations in the future.

New in CLion 2019.1.1 Build 191.6707.62 (Apr 18, 2019)

  • This update fixes an annoying issue with the false redefinition errors shown by the clangd-based engine in several cases (CPP-15464).
  • For remote toolchains, the Cannot get compiler information error is now fixed (CPP-14477).
  • Move refactoring dialog (notifying about escalating the visibility) no longer hangs (CPP-15655).
  • In the newly added naming convention settings (Settings/Preferences | Editor | Code Style | C/C++ | Naming Convention), Upper_Snake_Case is now available as one of the options.
  • Bundled CMake was updated to v3.14.2.
  • Custom build targets and run/debug configuration are useful for compilation database projects, especially when using them to workaround Makefiles and other project models not natively supported in CLion. In this update we made the configuration process even more friendly – CLion now allows you to configure Custom Build Target right from the Run/Debug configuration settings dialog

New in CLion 2019.1 Build 191.6183.77 (Mar 29, 2019)

  • Clangd now powers code highlighting, provides more detailed error messages, and performs new inspections.
  • CLion’s own language engine has been improved with better performance across the IDE and more accurate refactorings.
  • We’ve taken several steps to help you effectively do Embedded Development in CLion.
  • Adjust CLion to your code style: ClangFormat, C/C++ naming conventions, and header guards style.
  • Project-model-independent build targets and run/debug configurations are now available and are especially useful for compilation database projects.
  • Injected languages are here.
  • Brighten up your IDE with custom color themes!
  • The Rust plugin has been updated.
  • Other enhancements include a brand new Recent Locations popup, an improvement for plugin writers, and more.
  • Debugger enhancements include:
  • Memory view
  • LLDB Disassembly View
  • Mute Variables on stepping

New in CLion 2018.3.4 Build 183.5429.37 (Feb 7, 2019)

  • This build has a few important fixes for bugs in different areas:
  • Incorrect “CMake executable not found” error in the case of several WSL toolchains installed.
  • An exception while collecting compiler information from on the remote host (if you’ve experienced CPP-14505 or CPP-14477 errors, please, check if these problems are resolved as well).
  • Build All command was building twice.

New in CLion 2018.3.2 Build 183.4886.39 (Jan 10, 2019)

  • More accurate formatting of the preprocessor branches that are located inside another macro call (CPP-14510).
  • A fix for the issue with the remote development mode and the non en_US locale (CPP-14601).
  • Bundled CMake updated to v3.13.2.
  • Several fixes for the Quick Documentation popup: IDEA-198297, IDEA-203713.

New in CLion 2018.3 Build 183.2940.13 EAP (Sep 27, 2018)

  • This week a new build is available and it addresses an issue with the symlinks used in header search paths (CPP-14211).
  • Talking about the header search paths, we’ve also fixed an issue with searching through the user and libraries header search paths:
  • #include now looks for the header files in the libraries only.
  • #include ".." first looks in the user’s search path, then in the libraries
  • This fix actually means that the user header file shouldn’t hide a library header by mistake.
  • There are also several UI fixes across the whole IntelliJ platform, like for example drawing characters in Monospaced font was fixed (JRE-847).

New in CLion 2018.2.4 Build 182.4505.18 (Sep 27, 2018)

  • This build addresses the following issues:
  • Incorrect braces were added to the if clause, when autocompleting the if clause before that one (CPP-12049).
  • A few issues with the diff dialog (CPP-12881, CPP-13350).

New in CLion 2018.2.3 Build 182.4323.58 (Sep 5, 2018)

  • Notification about missing llvm-symbolizer when Google Sanitizers are used
  • Compilation database projects support:
  • Ability to automatically detect changes in compile_command.json file and reload the project in CLion
  • Fix for Cannot get compiler information errors for files with relative paths

New in CLion 2018.2.2 Build 182.4129.51 (Aug 22, 2018)

  • This update includes a performance improvement for CMake projects generation/loading, a workaround to run the app in a separate console when debugging on Windows, several improvements to CLion’s own language engine and an experimental clangd-based engine. More details can be found in the previous blog post and the full release notes are available on confluence.

New in CLion 2018.2.2 Build 182.4129.15 EAP (Aug 16, 2018)

  • IMPROVEMENTS:
  • Performance improvement for CMake projects generation/loading.
  • When debugging on Windows, if you prefer to run the app in the separate console, not in the one integrated into CLion (which happens by default for GDB version 8.0 and higher), you can turn it on in Registry via the cidr.debugger.gdb.workaround.windows.forceExternalConsole setting.
  • Several issues related to enums were fixed in the CLion’s own language engine: CPP-7797, CPP-4957, CPP-6138
  • Clangd-based language engine got a few improvements:
  • Correct handling of header search paths for non-CMake projects (CPP-13715).
  • Better diagnostic in case of unresolved includes (CPP-13498).
  • Performance optimization (CPP-13729).
  • FULL RELEASE NOTES ARE AVAILABLE AT:
  • https://confluence.jetbrains.com/display/CLION/CLion+2018.2.2+EAP,+build+182.4129.15

New in CLion 2018.2.1 Build 182.3911.40 (Aug 8, 2018)

  • Highlights:
  • An experimental clangd-based language engine is now enabled on all platforms by default
  • A fix for a UI freeze when sanitizers are used
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/08/clion-2018-2-1-clangd-windows

New in CLion 2018.2 Build 182.3684.76 (Jul 26, 2018)

  • New features and improvements:
  • An experimental clangd-based C++ language engine complements CLion's own C++ language engine (on by default on Linux and macOS),
  • helping to highlight code errors and warnings in the editor.
  • A new inspection detects situations when arguments of the same type are passed to a function in the wrong order.
  • Gradle C++ and Compilation Database projects support. Full code insight is provided for both.
  • Ability to recompile a single file (for CMake and compilation database formats) without triggering the full project recompilation.
  • Support for Google Sanitizers.
  • IDE performance improvements.

New in CLion 2018.2 Build 182.3684.46 RC 2 (Jul 18, 2018)

  • Default C++ standard used when creating a new project in CLion is now C++14 (it was C++11 before).
  • An experimental Clangd-based language engine got several improvements:
  • Invalid code ranges in case of Tab character used in the file were fixed.
  • A regression was fixed: non-existing C functions in C files are highlighted, allowing create from usage fix.
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/07/clion-2018-2-rc2

New in CLion 2018.2 Build 182.3684.12 RC (Jul 12, 2018)

  • Highlights:
  • An experimental complementary Clangd-based language engine is now enabled on Windows by default.
  • GDB: debugger pretty-printers are now used when displaying pointers to structures.
  • LLDB: values of the unordered_map are now displayed correctly.

New in CLion 2018.2 Build 182.3569.10 EAP (Jul 5, 2018)

  • Highlights:
  • New inspection for C++ code: argument selection defects.
  • Bundled CMake 3.12.
  • Fixes for WSL and compilation database.
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/07/clion-2018-2-eap-argument-selection-defects-inspection

New in CLion 2018.2 Build 182.3458.13 EAP (Jul 2, 2018)

  • Clangd was added as an additional C++ language engine to CLion. On Linux and macOS it's turned on by default:
  • When enabled, clangd is used to show code errors and warnings in the CLion editor. CLion's own code errors are turned off in this case.
  • Quick-fixes are still provided by the CLion's own engine.
  • The rest of the code insight features are not affected and work on top of the CLion's own language engine.
  • Learn more in the blog at:
  • https://blog.jetbrains.com/clion/2018/06/clion-2018-2-eap-clangd/

New in CLion 2018.2 Build 182.3341.14 EAP (Jun 21, 2018)

  • Headers and source files included into any project file are now automatically treated as project files. This means:
  • No need to include them explicitly.
  • A full code insight is available in such files, including code analysis, refactoring, code navigation, etc.
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/06/clion-2018-2-eap-automatically-treats-included-files-as-project-files

New in CLion 2018.1.5 Build 181.5281.33 (Jun 17, 2018)

  • This build fixes a bug with the Register dialog not working, as well as delivers the following improvements (since v2018.1.4):
  • WSL integration in CLion now works with Ubuntu 18.04.
  • UI freeze when navigating to Related symbol was fixed.
  • Learn more at:
  • https://blog.jetbrains.com/clion/2018/06/clion-2018-1-4-update

New in CLion 2018.2 Build 182.3208.14 EAP (Jun 15, 2018)

  • HIGHLIGHTS:
  • Debugger:
  • Bundled LLDB 6.0 on Linux and macOS.
  • A fix for certain commands in the LLDB console breaking the debugger.
  • C++ support:
  • Intention that simplifies the code was improved and now produces more accurate code in case of pointers.
  • A few fixes for incorrect code analysis warnings.

New in CLion 2018.1.4 Build 181.5281.26 (Jun 14, 2018)

  • Highlights:
  • WSL integration in CLion now works with Ubuntu 18.04.
  • UI freeze when navigating to Related symbol was fixed.
  • More fixes can be found in the full release notes at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2018.1.4,+build+181.5281.26

New in CLion 2018.2 Build 182.2949.5 EAP (Jun 7, 2018)

  • HIGHLIGHTS:
  • Various Clang-Tidy integration fixes.
  • Project Model:
  • Red highlighting for C++ headers in Gradle projects with MSVC toolchain is fixed.
  • More accurate language type detection for compilation database projects was implemented.
  • WSL:
  • Support for WSL background processes was added.
  • Run to cursor was fixed for the WSL case.

New in CLion 2018.2 Build 182.2757.13 EAP (May 31, 2018)

  • HIGHLIGHTS:
  • WSL support now works correctly with Ubuntu 18.04
  • CLion can now launch Valgrind Memcheck for Gradle Native Application configuration
  • Ability to open project from compilation database format:
  • Open project in CLion using compile_commands.json.
  • Code insight, including code completion, code navigation, refactoring and code analysis, is fully available.
  • It's not yet possible to build, run, or debug such projects.
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/05/clion-2018-2-eap-open-project-from-compilation-database

New in CLion 2018.1.3 Build 181.5087.36 (May 25, 2018)

  • CMake environment variables used now at all stages, including CMake generation and project build
  • Fixes for a few C++ language support regressions
  • IDE performance fixes:
  • Symbol building performance regression on header change
  • UI freeze when copying large binary files
  • Further information on this release in the blog post is available at:
  • https://blog.jetbrains.com/clion/2018/05/clion-2018-1-3-bug-fix-update/

New in CLion 2018.2 Build 182.2574.4 EAP (May 24, 2018)

  • Highlights:
  • Fixes to Import Project, when there is already a CMake or Gradle project in the directory
  • Bundled CMake 3.11.2
  • Workaround for GDB usage on macOS
  • Performance improvement in case of breadcrumbs usage

New in CLion 2018.2 Build 182.2371.31 EAP (May 18, 2018)

  • HIGHLIGHTS:
  • Integration with Google Sanitizers
  • Ability to recompile a single file
  • Support for new Gradle C++ projects
  • C++ language support improvements
  • Bundled plugin for Database tools and SQL
  • New CMake specific macros for external tools
  • Bundled CMake 3.11
  • Ability to export/import Valgrind Memcheck results
  • Performance improvements:
  • indentation calculation on lexer
  • fixes for several UI freezes

New in CLion 2018.1.2 Build 181.4668.70 (Apr 25, 2018)

  • Highlights:
  • Fixes for Google C++ Mocking Framework.
  • Fixes for issues related to using keyword.
  • Fixes for regressions in C++ language support.
  • Full release notes are available at:
  • https://blog.jetbrains.com/clion/2018/04/clion-2018-1-2-bug-fix-update/

New in CLion 2018.1.2 Build 181.4668.25 EAP (Apr 19, 2018)

  • Highlights:
  • Incorrect Class is never used inspection is fixed
  • Completion for template classes doesn't show duplicated names in case of specialized declarations anymore
  • IDE performance on projects with many friend operators (like Eigen) is improved
  • A bunch of regressions in C++ language support are fixed

New in CLion 2018.1.1 Build 181.4445.84 (Apr 12, 2018)

  • This update addresses:
  • C++ support: incorrect parsing and resolving of unordered_map, shared_ptr with a forward declaration and some more related issues (CPP-12079).
  • WSL issue, when the CMake project loading can take forever (CPP-12519). And a couple of other WSL-related issues.
  • GDB debugger: a fix for STL containers that were not updated during stepping, if the breakpoint was set before the containers were filled (CPP-7166, CPP-7574, CPP-7720).
  • Bundled CMake 3.10 is built with macOS 10.9 support to avoid incompatibility issues (CPP-12518).
  • Full release notes are available at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2018.1.1,+build+181.4445.84

New in CLion 2018.1.1 Build 181.4445.17 EAP (Apr 3, 2018)

  • WSL-related issue, when the CMake project loading can take forever (CPP-12519), was addresses in this EAP build.
  • This build fixes a couple of cases when “Typeahead timeout is exceeded” exception was caught (IDEA-187808).
  • GDB DEBUGGER:
  • There us a bunch of issues fixed there. The main one is related to STL containers that were not updated during stepping, if the breakpoint was set before the containers were filled (CPP-7166, CPP-7574, CPP-7720).
  • C++ SUPPORT:
  • The biggest improvement is a fix for CPP-12079 and related issues:
  • Incorrect parsing of unordered_map
  • Incorrect resolving of shared_ptr with a forward declaration
  • Incorrect parsing of unique_ptr in some cases
  • Incorrect red code highlighting in projects with libxml2
  • And some more similar and duplicated issues linked to it in our tracker
  • Full release notes are available at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2018.1.1+EAP,+build+181.4445.17

New in CLion 2018.1 Build 181.4203.549 (Mar 28, 2018)

  • New features and enhancements:
  • Better C++ support: C++17 If and switch with initializers, C++17 structured bindings, and some more.
  • Clang-Tidy with options and .clang-tidy config support.
  • Windows Subsystem for Linux (WSL) support: compile, run, debug, and run with Valgrind Memcheck.
  • CMake: Install action, open non-CMake project in the editor, and templates.
  • Editor enhancements: from code foldings to breadcrumbs and project scopes.
  • VCS: partial Git commits.
  • New languages: Objective-C / Objective-C++, Rust, and Fortran.
  • Explore all the new features in this release in even more detail on the What's New page at:
  • https://www.jetbrains.com/clion/whatsnew/

New in CLion 2018.1 Build 181.4203.505 RC 2 (Mar 21, 2018)

  • Highlights:
  • When MinGW/MinGW-w64 toolchain is selected in CLion on Windows, you can now set a custom debugger and debug with it.
  • A fix to a regression with the system GDB not suggested for the newly created toolchain.
  • Bundled GDB 8.0.1 with multiarch support on macOS, bundled GDB 8.1 with multiarch support on Linux and Windows.
  • A few other GDB related fixes.
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/03/clion-2018-1-release-candidate-2/

New in CLion 2018.1 Build 181.4203.106 RC (Mar 15, 2018)

  • Highlights:
  • Fixes for multiple code analysis false positives with Clang 5
  • Fixes for anonymous bit fields parsing
  • Anonymous structures (Microsoft extension) are now supported in parser
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/03/clion-2018-1-release-candidate/

New in CLion 2018.1 Build 181.4096.19 EAP (Mar 8, 2018)

  • Highlights:
  • C++17 structured bindings
  • Breadcrumbs for C/C++
  • Unwrap/remove code blocks
  • Custom paths for CMake, compiler and debugger on WSL
  • Experimental support for hexadecimal formatting for numerical variables in debugger
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/03/clion-2018-1-eap-structured-bindings-breadcrumbs-hex

New in CLion 2017.3.4 Build 173.4674.29 (Mar 7, 2018)

  • The update brings an important fix to the built-in SSH client and makes it compatible with the new GitHub cryptographic standards.

New in CLion 2018.1 Build 181.3986.16 EAP (Mar 1, 2018)

  • Highlights:
  • Bundled CMake 3.10
  • Support for Google Test with MSVC
  • Multiple C++ support improvements
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/02/clion-2018-1-eap-cmake-3-10-google-test-with-msvc-and-cpp-support

New in CLion 2017.3.4 Build 181.3870.21 EAP (Feb 28, 2018)

  • If you are connecting to GitHub using SSH and the built-in client SSH Executable (which is configured under Version Control | Git | SSH executable), you might notice some connectivity issues. This happened due to the change introduced by GitHub recently – support for weak cryptographic keys was dropped.
  • This issue has already been addressed in CLion 2018.1 EAP. And now CLion 2017.3.4 EAP (build 173.4674.3) with the corresponding fix is available for download.
  • Full release notes are available at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2017.3.4+EAP,+build+173.4674.3

New in CLion 2018.1 Build 181.3870.21 EAP (Feb 22, 2018)

  • Highlights:
  • Valgrind on WSL
  • C++ support improvements
  • Partial commits in Git
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/02/clion-2018-1-eap-valgrind-wsl-partial-commits-cpp-support

New in CLion 2018.1 Build 181.3741.16 EAP (Feb 15, 2018)

  • HIGHLIGHTS:
  • Support for Clang-Tidy options and configs
  • Fix for an issue with reading from std::cin when debugging on WSL
  • Support for CMake Install
  • Color scheme improvements
  • GDB support improvements:
  • Bundled GDB 8.1 with the multiarch support on all platforms
  • Fixes in the bundled GDB STL pretty-printers
  • Fix for the case when the content of STL containers was not updated on stepping
  • FOR MORE DETAILS, READ THE BLOG POST AT:
  • https://blog.jetbrains.com/clion/2018/02/clion-2018-1-eap-clang-tidy-options-valgrind-on-wsl-cmake-install

New in CLion 2018.1 Build 181.3494.7 EAP (Feb 8, 2018)

  • Highlights:
  • New settings to configure Messages tool window behaviour (Always show on Build, Auto-Hide and Show on Warning/Error)
  • Fixes for incorrect code analysis in case of ternary operator
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/02/clion-2018-1-eap-messages-tool-window-and-fixes-for-ternary-operator

New in CLion 2018.1 Build 181.3263.17 EAP (Jan 31, 2018)

  • Highlights:
  • Debug on WSL
  • Code folding of the control statements
  • Fixes for incorrect code inspections
  • An ability to use existing $VAR values when specifying environment variables for CMake
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/01/clion-2018-1-eap-debug-on-wsl-code-folding-of-the-control-statements-and-more

New in CLion 2018.1 Build 181.3007.15 EAP (Jan 24, 2018)

  • Ability to open single file/folder in CLion, load and unload CMake actions
  • Project view and Find in Path with scopes
  • Performance improvements: incremental highlighter
  • Objective-C/Objective-C++ support
  • C++ language engine improvements:
  • Support for if and switch with initializers from C++17
  • Rename and change signature refactorings update functions in other inheritance branches
  • Fixes for incorrect severity highlighting
  • And more
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2018/01/clion-starts-2018-1-eap-wsl-cpp17-cmake

New in CLion 2017.3.2 Build 173.4301.33 (Jan 18, 2018)

  • In this update:
  • Ability to pause program output in the terminal (IDEA-140061). This can help when scrolling the output back while the program is still running and producing new lines to the output.
  • Fix for the bundled GDB 8.0 crash on Linux when debugging certain inferiors (CPP-11480).
  • Full release notes are available at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2017.3.2,+build+173.4301.33

New in CLion 2017.3.1 Build 173.4127.32 (Dec 27, 2017)

  • Highlights:
  • Generate function from usage now respects template parameters
  • Bundled CMake 3.9.6
  • CMake build progress
  • Fixes for a couple of regressions in C++ parser

New in CLion 2017.3.1 Build 173.4127.6 EAP (Dec 14, 2017)

  • Highlights:
  • Generate function from usage respects template parameters
  • Run icons support for Catch 2
  • Stop button for CMake build progress
  • Language support improvements
  • For further details on this release, read the blog post at:
  • https://blog.jetbrains.com/clion/2017/12/clion-2017-3-1-eap/

New in CLion 2017.3 Build 173.3727.114 (Nov 30, 2017)

  • This year's third release of CLion managed to accomplish both missions - bring dozens of C++ language support fixes, and overhaul and integrate new tools like Boost.Test and Valgrind Memcheck. Besides, v2017.3 updates a number of bundled tools, provides a simpler and more flexible way to configure toolchains, and improves the UI for running/debugging your applications.
  • New features and enhancements:
  • C++ language support improvements
  • Integration with Valgrind Memcheck
  • Support for Boost.Test
  • Multiple toolchains and easier compiler configuration
  • Run icons for main and tests
  • Color schemes changes
  • GDB 8.0 and LLDB 5.0

New in CLion 2017.3 Build 173.3727.83 RC 2 (Nov 23, 2017)

  • HIGHLIGHTS:
  • Fixes for issues with code analysis when the Eigen library is used
  • UI improvements in the Valgrind tab
  • CHANGELOG:
  • No subsystem:
  • Valgrind: Show icon for header files in results tree
  • Eigen typedef
  • Code: Resolving:
  • Substitutions conflict in name lookup
  • Editor. Editing Text:
  • "Undo" action can be invoked from "Undo" confirmation dialog
  • Find, Replace, Find Usages:
  • 'Replace All' dialog interprets find/replace contents as HTML
  • Replace in Path: Replace All dialog: unable to switch between OK and Cancel from keybord
  • User Interface:
  • UI scale factor is wrong on Windows with latest EAP
  • Version Control:
  • Unclear 'Branch context has been loaded' message

New in CLion 2017.3 Build 173.3727.18 RC (Nov 15, 2017)

  • Addresses the following issues:
  • 2017.3 EAP brought Valgrind Memcheck integration into CLion. This build improves the UI by placing the frame information and the code preview in different tabs:
  • valgrind_ui_new
  • False ambiguous error on tuple initialization was fixed (CPP-10995).
  • Clang-Tidy integration was not working properly in case of Cyrillic symbols in the files.
  • Full list of fixes and improvements is available at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2017.3+RC,+build+173.3727.18

New in CLion 2017.3 Build 173.3622.10 EAP (Nov 9, 2017)

  • Highlights:
  • Gutter icons to run main functions
  • Generate Definitions for templated functions
  • JUCE library support improvements
  • Plugins for Kotlin/Native
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2017/11/clion-2017-3-eap-code-generation-improvements-juce-support-and-more

New in CLion 2017.3 Build 173.3531.13 EAP (Nov 2, 2017)

  • Highlights:
  • C++ language engine improvements
  • Name lookup fixes
  • Run/Debug configurations
  • Ability to select build type in the run configuration switcher on the toolbar

New in CLion 2017.3 Build 173.3415.24 EAP (Oct 28, 2017)

  • Highlights:
  • Valgrind Memcheck integration
  • Ability to create several CMake profiles with the same build type
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2017/10/clion-2017-3-eap-valgrind-memcheck-integration

New in CLion 2017.3 Build 173.3302.18 EAP (Oct 21, 2017)

  • Highlights:
  • Bundled LLDB 5.0
  • Bundled GDB 8.0.1
  • VCS improvements

New in CLion 2017.3 Build 173.3188.25 EAP (Oct 13, 2017)

  • Highlights:
  • Support for Microsoft Visual C++ compiler extensions
  • Ability to switch C/C++ compilers with ease and have several compilers configured per project
  • Removed false unreachable code warning in case constexpr if (C++17) is used
  • For more details, read the blog post at:
  • https://blog.jetbrains.com/clion/2017/10/clion-2017-3-eap-msvc-extensions-multiple-compilers

New in CLion 2017.3 Build 173.2941.5 EAP (Oct 5, 2017)

  • Highlights:
  • Ability to distinguish function calls and function declarations in C/C++ color settings
  • Bundled CMake 3.9

New in CLion 2017.2.3 Build 172.4343.16 (Oct 2, 2017)

  • This build includes an important fix for the incorrect encoding handling.

New in CLion 2017.3 Build 173.2696.23 EAP (Sep 28, 2017)

  • Boost.Test support:
  • Special Boost.Test Run/Debug configurations
  • Built-in test runner with the progress bar and a tree view of all the tests running
  • Ability to re-run failed tests, export test results, open previously saved results
  • Ability to navigate to the source code of a particular test
  • Gutter icons to Run/Debug unit tests and show the status of the tests
  • Eliminated false warning for MSVC specific pragmas (CPP-9549).
  • Further details on this release are available at:
  • https://confluence.jetbrains.com/display/CLION/CLion+2017.3+EAP,+build+173.2696.23

New in CLion 2017.3 Build 173.2463.5 EAP (Sep 21, 2017)

  • Highlights:
  • Incorrect overload resolution in case of array usages
  • Support for values in -include option without a space after the option's name
  • A workaround to avoid bogus errors for currently unsupported C++17 features
  • For more details, read the blog post at https://blog.jetbrains.com/clion/2017/09/clion-2017-3-eap-toolchains-on-welcome-wizard/.

New in CLion 2017.3 Build 173.2290.13 EAP (Sep 14, 2017)

  • Multiple toolchains configuration on Welcome Wizard
  • Various bug fixes

New in CLion 2017.3 Build 173.2099.3 EAP (Sep 8, 2017)

  • Gutter icons to run/debug unit tests
  • Ability to configure multiple toolchains
  • C++ language engine improvements:
  • Multiple fixes for list initialization
  • Support for unique_ptr in GCC7
  • Support for __COUNTER__ macro
  • New Invert if intention
  • Completion, navigation and refactorings improvements when using JUCE library
  • Debugger:
  • Bundled GDB 8.0

New in CLion 2017.2.2 Build 172.3968.17 (Aug 30, 2017)

  • This update brings a few enhancements to the Clang-Tidy integration and enables paste simple when paste from history.
  • Feature:
  • Use compile_commands.json for passing options to clang-tidy
  • Allowto disableindividual checks in Clang-Tidy
  • Allowto useexternal Clang-Tidy instead of the built-in one inCLion
  • Suppress Clang-Tidy inspection for line by NOLINT comment
  • Bug Fixes:
  • Heap allocating class with virtual destructor = default gives error "Instantiating abstract class"
  • Update list of clang-tidy inspectionsclang-tidy inspections do not work because clang-tidy requires newerlibcand libstdc++
  • CLion passes options to Clang-Tidy in incompatible form under MSVC toolchain
  • Build:
  • Two separate CLion instance will not build simultaneously - "Waiting for the current build to finish..."
  • Project Model:
  • Error icon appears on Cmake console configuration tabs after Reset Cache several times in a row
  • Diff_Merge:
  • Cannot move/resize diff view area of Commit Changesdialog
  • Editor. Editing Text:
  • UTF-8 symbols (koreanandjapanese) incorrect appears in the debugger
  • Multiple @since Javadoc tags are replaced with one on reformat
  • Cannot open javascript files
  • using spring indaolayer auto input a pair of braces
  • Lag while typing
  • File System:
  • FreeBSD-12, post ino64 update: no projects, config is not saved
  • Find, Replace, Find Usages:
  • Find Refactoring Preview is not shownfirsttime
  • Settings Repository:
  • Typing settings repository URL triggers path alert
  • User Interface:
  • Navigate | File and Class popups disappear
  • Incorrect terminology used to describe Jigsaw/JPMS features
  • Version Control:
  • File status remains "changed" after the file is changed back to initial state
  • Commitdialog: when the 'show right margin' option is off, but 'wrap when typing reaches right margin' is on, there is no wrapping
  • Improve displays of multi-line commit messages in Changes Window
  • Version Control. Git:
  • UI freeze after huge fetch
  • Version Control. Subversion :
  • "more..." link is shown in Version Control > Repository while there is no more content
  • Version Control. TFS:
  • TFS: Domain field should be disabled if Alternate auth type is used
  • Console:
  • aborting commands in debug console
  • Debugger:
  • Concurrency visualizer doesn't work with Python 3.6
  • Variables in function called from loop stick after console started in debug mode
  • Inspections:
  • False positive: comparing int and float, only left.__gt__(right) is checked, right.__lt__(left) is ignored
  • Actual type of variable is lost after it's compared with None
  • PyCharm thinks the Python version is 3.5 when using 3.7
  • False positive: PyTypeChecker - Type Checking Error on Child of Metaclass Instance
  • Test Runner:
  • Regression inunittestrunner if test removes its working directory
  • Pyramid project test don't work
  • Parsing:
  • False positive: "expression expected" for trailing comma after annotated function argument with default value
  • Refactoring:
  • Bulk Move operation only moves first item selected

New in CLion 2017.2.2 Build 172.3968.3 RC (Aug 23, 2017)

  • Code: Highlighting and Inspections:
  • CLion passes options to Clang-Tidy in incompatible form under MSVC toolchain
  • Editor. Editing Text:
  • Enabling Paste Simple from "Paste from History"
  • Inspections:
  • PyCharm thinks the Python version is 3.5 when using 3.7
  • False positive: PyTypeChecker - Type Checking Error on Child of Metaclass Instance
  • Parsing:
  • False positive: "expression expected" for trailing comma after annotated function argument with default value
  • Refactoring:
  • Bulk Move operation only moves first item selected
  • Test Runner:
  • Pyramid project test don't work

New in CLion 2017.2.2 Build 172.3968.3 EAP (Aug 21, 2017)

  • Clang-Tidy integration: disable individual checks and other improvements
  • CLion 2017.2 brought Clang-Tidy integration, that expands the list of CLion’s checks and helps you ensure better code quality. We’ve received a lot of useful feedback and today are happy to address several important issues:
  • Now you can use your own Clang-Tidy instead of one bundled into CLion. To do so provide a path to the Clang-Tidy binary in Settings/Preferences | Languages &
  • Frameworks | C/C++:
  • The main benefit of this change is that you can now checkout the LLVM master repository, add your own checks to the Clang-Tidy and get them instantly in CLion!
  • You can now disable individual Clang-Tidy checks from the CLion context menu:
  • This will update the list of enabled/disable checks in Settings/Preferences | Editor |
  • Inspections | C/C++ | General | Clang-Tidy:
  • In this context menu you can also find an option to suppress Clang-Tidy check for a particular line via // NOLINT.
  • Default configuration of enabled/disabled checks was slightly updated.

New in CLion 2017.2.1 Build 172.3544.40 (Aug 3, 2017)

  • No subsystem:
  • Bug: IDEA-175646: Performance issue while typing
  • Bug: IDEA-175429: Throwable at com.intellij.openapi.wm.impl.WindowManagerImpl.allocateFrame
  • Bug: IDEA-174594: 100% of one core CPU usage while idle when specific file open and in front
  • Bug: IDEA-173669: IOException from get / put / append should set corrupted state for PersistentHashMap
  • Bug: IDEA-115890: Darcula background is applied on print on Django Model Dependency Diagram
  • Bug: IDEA-176128: 2017.2 Can't load project with character "|" in its name
  • Editor. Editing Text:
  • Bug: IDEA-175202: Permanent header component + virtual space enabled = first line is hidden by the header
  • Performance: IDEA-175031: Can't Change Editor Font
  • Indices:
  • Bug: IDEA-176004: erroneous "Nested different indices processing" detection
  • User Interface:
  • Bug: IDEA-173740: Too small font in search textbox
  • Bug: IDEA-173369: Tabs limited to 2 when 1 is set
  • Bug: IDEA-174588: Switch JDK action does not work
  • Cosmetics: IDEA-165301: Darker maven icon on IntelliJ theme
  • Version Control. Git:
  • Bug: IDEA-174332: "Couldn't unstash" notification is incomplete
  • HTML:
  • Bug: WEB-27570: HTML: "element not allowed here" error when using flow (non Phrasing) content in tag
  • JavaScript:
  • Feature: WEB-18172: Closure Compiler goog.module() support
  • Bug: WEB-26878: Class name is incorrectly marked as unused in class expression
  • Bug: WEB-12847: 'Inline local variable' JS refactoring highlights too much
  • Bug: WEB-27759: Color syntax error in React reducer
  • Bug: WEB-27743: Do not auto import from .d.ts files from libraries in JavaScript files
  • Bug: WEB-25040: Make className string attribute selection behave like class attribute
  • Bug: WEB-27637: webpack: support webpack.config.babel.js
  • Bug: WEB-27732: Pasting an expression in a template string adds unnecessary backslash
  • Bug: WEB-27837: 2017.2 - Go to Declaration, Go to Implementation is broken
  • Bug: WEB-24910: Auto importing a flow type does not add "type" after "import"
  • Bug: WEB-27658: JavaScript auto import should respect webpack aliases
  • Bug: WEB-26013: React Props do not get resolved when doing a direct named re-export
  • Bug: WEB-27666: Flow: union optional type used as arrow function return type is not parsed correctly
  • Performance: WEB-27562: Indexing of Javascript files takes 30+minutes, hangs Intellij on exit
  • Task: WEB-27627: JS Stub/Tree mismatch after "Negate" intention invocation on a garbage code
  • Exception: WEB-27610: JSON Schema: SOE on defining reference to the definitions
  • Node.js:
  • Bug: WEB-27523: Notification about successful downloading is too big

New in CLion 2017.2 Build 172.3317.49 (Jul 21, 2017)

  • New features and enhancements:
  • Integration with Clang-Tidy
  • C++ parser and code analysis improvements
  • PCH support in case of Microsoft Visual C++ compiler
  • C++17 in the New Project wizard
  • Force Step Into for disassembly code and debugger fixes
  • Google Test configurations for targets linked with gmock
  • Non-project files notification
  • Performance improvements
  • Find in Path UI enhancements
  • VCS changes: Git Revert, Reword, updated commit message settings and quick-fixes

New in CLion 2017.2 Build 172.3317.49 RC 2 (Jul 13, 2017)

  • Highlights:
  • File-wide notifications about non-project files
  • Performance improvements
  • Project Model:
  • Usability Problem: CPP-10171: Indexing may be triggered several times in a row, when editing/reloading CMake files
  • Code:
  • Indexing: Bug: CPP-9402: Updating on indices on each startup/CMake reload
  • Editor. Editing Text:
  • Performance: IDEA-175031: Can't Change Editor Font

New in CLion 2017.2 Build 172.3317.14 RC (Jul 8, 2017)

  • C++ type cast operators in quick-fixes
  • Fixed incorrect analysis in conditions within for loops and new(std::nothrow)

New in CLion 2017.2 Build 172.3198.18 EAP 4 (Jun 30, 2017)

  • Force Step Into action to get into disassembly code
  • Support for precompiled headers for Microsoft Visual C++ compiler
  • Cancelable Go to subclass and Go to overridden functions actions

New in CLion 2017.2 Build 172.3095.8 EAP 3 (Jun 22, 2017)

  • Clang-Tidy integration improvements
  • Fixes in C++ parser and code analysis
  • Performance improvements
  • C++17 in the New Project wizard

New in CLion 2017.2 Build 172.2953.14 EAP 2 (Jun 15, 2017)

  • C++ code analysis:
  • CLion supports va_* macros in a more accurate way now. This means less false-positive code analysis, like for example, incorrect unused code inspection (CPP-9748).
  • Besides, CLion now works more accurately with GCC and Clang compiler predefined macros.
  • Performance:
  • After optimizing the parsing of the compiler predefined macros in CLion, some performance improvement during the reindexing was achieved.
  • CMake:
  • CMake reload can take significant time, and sometimes you decide to cancel when it’s already running (to introduce additional changes or just to postpone this time-consuming operation). It’s now possible in CLion – Stop button is available in the CMake tool window.
  • reload_cmake:
  • If you enable the auto-reload function, then currently running CMake command will be stopped automatically, in case you continue typing in CMake file, and the new one will be scheduled. Besides, CLion now prints [Finished] in every output tab for each CMake configuration being reloaded and finished (not cancelled):cmake_finished

New in CLion 2017.1.3 Build 171.4694.31 (Jun 9, 2017)

  • Find, Replace, Find Usages:
  • Usability: IDEA-157440: No space between line number and code when exporting found occurences to text file
  • User Interface:
  • Bug: IDEA-172066: Toolwindow activates in another project
  • Bug: IDEA-172136: Search text area has an improper height
  • Debugger:
  • Bug: PY-24537: Debug console isn't working with IPython 6.1.0
  • Bug: PY-24026: Debugger skips breakpoint added to the current frame while running
  • Bug: PY-23680: Error when debugging PyQt application
  • Bug: PY-21215: "ImportError: No module named stackless" leftover in sys.exc_info()
  • Bug: PY-23906: Jython remote debugging fails with attribute error
  • Inspections:
  • Bug: PY-22808: Wrongly suggested returning list of list with unknown type index
  • Bug: PY-22763: False positive in type checking for typed chained comparison methods
  • Bug: PY-22919: max() function transmits argument type to return type
  • Bug: PY-23634: min() from comprehension with unknown items type return list
  • Test Runner:
  • Bug: PY-23820: unittest generates a bunch of empty lines with no reason
  • Bug: PY-23821: nose generates a bunch of empty lines with no reason

New in CLion 2017.2 Build 172.2827.9 EAP (Jun 8, 2017)

  • Fixed issues:
  • CPP-9955 — Exception appears when complete header path after "/"
  • CPP-9957 — Bundle CMake 3.8.2

New in CLion 2017.2 Build 172.2465.12 EAP (May 26, 2017)

  • Incorrect code analysis when std::enable_if is used.
  • Incorrect “const variable requires an initializer” in case of a static const or constexpr field.
  • Out of memory issue (regression) when the code uses boost::property_tree.
  • Git Revert command is now available in the Git Log view.

New in CLion 2017.2 Build 172.2273.4 EAP (May 17, 2017)

  • Debugger improvements:
  • While inspecting arrays during debug, you might notice there was a limit of 50 elements shown by default. To see more user had to explicitly expand the next 50 elements. This was done to reduce performance issues. However, sometimes a few elements with big indexes are needed, and it’s quite tiresome to click expand several times in a row.
  • In order to provide a solution to the problem, we’ve added a registry value to control the default number of composite value’s children.
  • A few other issues were resolved in CLion’s GDB driver:
  • Debugger showed command time out when trying to attach to a non-existent local process.
  • Backslashes in program arguments on Windows were escaped incorrectly.
  • Conditional breakpoints were disabled because of the GDB bug (CPP-9336). A workaround was implemented in CLion.
  • Fixed issues:
  • CPP-9461 — Cannot start debugger with clion 2017 but works with clion 2016
  • CPP-8422 — Debugger stuck on "Connecting"
  • CPP-9336 — GDB: Conditional pending breakpoints are not enabled once resolved
  • CPP-9116 — GDB: Backslashes in program arguments appear escaped on Windows
  • CPP-8907 — GDB: disassemble
  • CPP-7338 — GDB hangs when trying to attach to non-existent local process
  • CPP-9477 — debugger: Add registry value to control number of composite value children
  • CPP-9753 — Includes with absolute windows path are not resolved

New in CLion 2017.2 Build 172.2103.9 EAP (May 11, 2017)

  • Bundled CMake 3.8.1
  • Code analysis fixes.
  • Find in Path dialog enhancements.

New in CLion 2017.2 Build 172.1572.3 EAP (Apr 21, 2017)

  • Highlights:
  • Clang-Tidy integration
  • Automatic creation of Run/Debug configuration for targets linked with gmock.
  • A new quick-fix to preserve non-trivial constructor call on unused variable.
  • A bug with Rename refactoring renaming another variable with the same name is fixed.
  • Other important changes include:
  • Previously only targets linked with gtest were automatically producing Google Test Run/Debug configurations in CLion. Now gmock is working in the same way as well (CPP-6146).
  • In case there is an unused variable, CLion will suggest you to remove it. In addition, starting from this build new quick-fix was added to preserve non-trivial constructor call on unused variable.
  • A bug with Rename refactoring renaming another variable with the same name is fixed now (CPP-7251). This also covers the case when name stays in generalized lambda capture (CPP-9286).

New in CLion 2017.1.1 Build 171.4073.41 (Apr 13, 2017)

  • Fixes to false-positives in code analysis and some Catch related issues.
  • No subsystem:
  • Bug: CPP-8976: Missing errors when generic lambda argument type is incompatible with parameter type
  • Code: Highlighting and Inspections:
  • Bug: CPP-8962: Const-qualified forwarded template parameter discards const-qualification
  • Bug: CPP-9206: Regression: lambda return type not deduced correctly with type aliases of templates
  • Code: Parsing:
  • Bug: CPP-8937: When the argument of operator[] cannot be determined, a non-integral parameter is flagged as an error
  • Bug: CPP-7989: Type referenced in declaration via global namespace in if() condition is unrecognised
  • Bug: CPP-2880: override specifier in local class highlighted as syntax error
  • Code: Resolving:
  • Bug: CPP-8957: Local class type not resolved properly inside member functions
  • Project Model:
  • Bug: CPP-7626: Compiler info cannot be collected with older GCC
  • Bug: CPP-8550: CMake load fails with "Cannot get compiler information for configuration", CLion gives SDCC invalid arguments: '@/tmp/compiler-arguments.txt'
  • Performance: CPP-9327: UI can be blocked during project reopening due to access to compiler info
  • Unit Testing:
  • Bug: CPP-9061: Catch: Impossible to run test using context menu when caret is located inside TEST_CASE_METHOD
  • Bug: CPP-9305: Catch Configuration: Expansion in CHECK not shown due to CAPTURE
  • Console:
  • Bug: IDEA-169065: ANSI Colors in the console : some escape codes are not interpreted correctly
  • Editor. Editing Text:
  • Bug: IDEA-169520: Flow annotations visible in Collections interface methods
  • Bug: IDEA-169157: Right-to-left bug
  • Bug: IDEA-169208: Copy/paste of type breaks 'module-info.java' with illegal import statement
  • Bug: IDEA-169380:
  • Buggy caret position shown in status line
  • File System:
  • Performance: IDEA-169698: VirtualFIle.findChild() is slow on negative lookups
  • Find, Replace, Find Usages:
  • Bug: IDEA-169685: Regexes inserted into "Find" field are replaced with the value of its selection if "replace" mode is invoked
  • Bug: IDEA-168259: `Find in path` highlights all file in preview window
  • Bug: IDEA-169992: Different results in the results panel of the "Find in Path" window in comparison to the preview (specific Regex)
  • Bug: IDEA-170768: Search stopped working
  • Bug: IDEA-169060: Find in path: Home+End keys not working in text field
  • Bug: IDEA-169331: File mask field keyboard behaviour inconsistent with search field
  • Usability: IDEA-168982: New Find/Replace in tab dialog: Add spacing to checkbox list
  • Usability: IDEA-170049: "Find in path" dialog: find anywhere/in comments/... doesn't have a shortcut
  • Exception: IDEA-168857: Find usages preview throws exception: java.lang.Throwable
  • Packaging and Installation:
  • Feature: IDEA-169185: Installation destination folder for 64-bit and 32-bit Windows OS.
  • User Interface:
  • Bug: IDEA-169587: Welcome Screen unusable small
  • Bug: IDEA-169925: 'Import Color Scheme' is broken (scheme is reset to Default after IDE restart)
  • Bug: IDEA-169672: FindInPath popup: keyboard focus can't be moved to results list after some control selecting or moving focus to preview
  • Bug: IDEA-169270: Tab key doesn't bring you into General Tab in Datasource Properties window
  • Cosmetics: IDEA-169688: Buttons Yes/No in "Add file to Git" dialog lost their position
  • Version Control:
  • Usability: IDEA-168568: Check commit message for emptiness before code analysis
  • Version Control. Log:
  • Feature: IDEA-168629: Let reorder columns shown in the VCS Log and new File History
  • Bug: IDEA-169336: Show affected files in file history has no preselection
  • Exception: IDEA-169831: Adding duplicate element ref to the set containing otherref
  • Code Insight:
  • Bug: PY-22522: Allow PyImportResolver results to override standard import roots
  • Console:
  • Cosmetics: PY-22611: Disabled "Show cmd afterwards" options is clickable after run config window reopening
  • Exception: PY-22601: Remote interpreter causes exception if "Emulate terminal" option is enabled
  • Debugger:
  • Bug: PY-20476: Argument parsing for subprocess under debugger
  • Bug: PY-23009: Debugger finishes in _pydev_execfile
  • Bug: PY-23140: Debugger fails with ValueError if "Collect run-time types information" option is enabled
  • Bug: PY-23202: Frame evaluation debugger: enable old tracing debugger for long functions with bad absolute jump instructions
  • Bug: PY-22999: Attach Debugger to console fails
  • Bug: PY-23249: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV) upgrading from 2017.1 RC1 to RC2 171.3780.111 OSX
  • Bug: PY-22978: Debugger fails to connect to spawned subprocesses with Docker interpreter
  • Bug: PY-22904: Updates from PyDev debugger
  • Editing:
  • Bug: PY-19837: Some line comments are deleted when optimize imports is invoked
  • Formatter:
  • Bug: PY-22422: Code style options for "from" imports are not taken into account in several cases where imports are automatically created/modified
  • Bug: PY-22355: Optimize imports doesn't honor new code style settings for imports (parentheses in particular)
  • Inspections:
  • Bug: PY-22806: False positive "Old-style class..." inspection if class is inherited from six.with_metaclass
  • Interpreters Settings:
  • Bug: PY-21787: Cannot add symlinked Python/virtualenv as interpreter, e.g. created with venv
  • Run:
  • Bug: PY-17069: runnerw.exe sometimes finishes with exit code -1073741819 (0xC0000005)
  • Test Runner:
  • Bug: PY-7856: Doctest: missing diff link for failed doctest
  • Bug: PY-22857: Python Unittests with Python 2.6.4 Fail with SyntaxError in _jb_runner_tools
  • Bug: PY-17485: Cannot run Unittests with -Werror
  • Bug: PY-22992: Pycharm EAP test file detection
  • REST Client:
  • Bug: WEB-26307: REST Client: VirtualFile: restClient/response21.html is invalid

New in CLion 2017.1.1 Build 171.4073.32 RC (Apr 5, 2017)

  • ADDRESSES THE FOLLOWING ISSUES:
  • Several issues with Catch, including the the problem with running tests via the context menu, if the caret is located inside TEST_CASE_METHOD
  • Lots of fixes for the false-positives, like for example:
  • Override specifier in local class was highlighted as syntax error
  • Local class type was not resolved properly inside member functions

New in CLion 2017.1 Build 171.3780.121 (Mar 30, 2017)

  • Extended support for C++14 (in brief, all except constexpr are there!)
  • First step towards C++17 support (nested namespaces!)
  • First step to modernizing your C++ code: make auto intention
  • Support for precompiled headers and headers included via -include compile option
  • Disassembly view in debugger (GDB)
  • Support for the Catch unit test framework
  • Experimental support for Microsoft Visual C++ compiler
  • Find in Path in popup
  • Enhanced Log viewer and branches popup
  • Swift plugin: SourceKit inspections and ability to generate type from usage

New in CLion 2017.1 Build 171.3780.43 RC (Mar 16, 2017)

  • If you use GCC as a compiler and have precompiled headers in your project, you’ll be glad to know that since now CLion can correctly resolve symbols from PCH in this case (CPP-8729).
  • Code: Documentation:
  • Bug: CPP-8929: Update CLion default keymap pdf
  • Project Model:
  • Task: CPP-8729: GCC: Getting original PCH file-name using dependency file.

New in CLion 2017.1 Build 171.3780.24 EAP (Mar 9, 2017)

  • IT’S TIME FOR C++17:
  • Great news! We’ve started C++17 support in CLion. Nested namespaces can now be correctly resolved and highlighted in CLion.
  • GDB TIMEOUT:
  • Some GDB operations may require longer time to execute. To avoid unnecessary timeouts in CLion, you can set an option in Registry: in Find Action dialog (Shift+Ctrl+A on Linux/Windows, ⇧⌘A on macOS) type Registry; open Registry and type cidr.debugger.timeout.
  • This is added as a workaround for the issues like CPP-8842 and CPP-9010, until CPP-7906 and CPP-4504 are ready.
  • PYTHON:
  • If you are using Python in your C++ project, you’ll be glad to know, that an annoying issue with the interpreter setting (reseted by CLion on restart) is now fixed.
  • OTHER FIXES:
  • There is also a couple of regressions fixed, including:
  • Expression result unused for stream operators for auto parameters (CPP-8949)
  • Lambda return type is not deduced correctly with type aliases (CPP-8861)

New in CLion 2017.1 Build 171.3566.4 EAP (Feb 22, 2017)

  • 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.

New in CLion 2016.3.3 Build 163.13906.4 (Feb 16, 2017)

  • Addresses problems with debugger:
  • Debugger not starting if the main shell is csh/tcsh (CPP-2919, CPP-8737, CPP-2328)
  • Debugger is unable to show variable values (CPP-7922)
  • Now automatically detects invalid file path in fields like Working directory, etc.
  • Debugger: GDB:
  • Bug: CPP-7922: Debugger is unable to show variable values
  • Bug: CPP-8834: GDB doesn't report startup errors
  • Bug: CPP-8076: GDB: Don't expand '$VAR' occurrences in inferior arguments
  • Bug: CPP-2328: CLion debugger does not work with csh
  • Bug: CPP-8737: Having a problem to run Clion debugger on the "Hello World" program (RHEL 6.3)
  • Running:
  • Bug: CPP-8409: "Path variables" configuration pane is missing from settings
  • Usability: CPP-8339: Automatically detect invalid file path in fields like 'Working directory' etc
  • User Interface:
  • Usability: CPP-8391: Add utility actions on CMake tool window
  • Editor. Editing Text:
  • Bug: IDEA-164345: IDEA strips trailing spaces even in the line under caret
  • Bug: IDEA-167446: Unicode â„•, UTF-8, Annotation Processor, Compiler source encoding on Windows
  • Cosmetics: IDEA-164888: Please keep up with FiraCode updates
  • External Tools:
  • Bug: IDEA-164380: External tool is not invoked after Git commit
  • File System:
  • Bug: IDEA-166879: IDE cannot handle 2GB+ jars
  • Find, Replace, Find Usages:
  • Bug: IDEA-167546: Find/Replace nonfunctional when newlines are embedded in the Find textbox
  • Usability: IDEA-167955: Find: `Ctrl+F` on selected word doesn't pre-select text in search field if Find bar is open
  • Packaging and Installation:
  • Bug: IDEA-159529: Patch update: OutOfMemoryError
  • User Interface:
  • Bug: IDEA-163532: Speed search in popups preselects the last match instead of the first
  • Bug: IDEA-166759: The cursor while over one ToolWindow sees another border toolwindow, located behind
  • Usability: IDEA-153193: Tooltips for toolbars block clicks to buttons
  • Usability: IDEA-65636: I can't copy text from tooltip, though I can select it
  • Version Control. Mercurial:
  • Bug: IDEA-164692: Only one instance of password is saved
  • Console:
  • Bug: PY-21923: Conda env auto-activation doesn't work on windows
  • Bug: PY-22243: "Show command line afterwards" option blocks `input()`
  • Bug: PY-21643: Conda env isn't activated in terminal
  • Debugger:
  • Bug: PY-22421: input() does not work in debug console
  • Inspections:
  • Bug: PY-20657: False positive in return type check for generator functions
  • Bug: PY-20967: False positive from type checker inspection for "None" return type annotations of coroutines
  • Bug: PY-21645: Function type comments contain "No encoding specified for file"
  • Bug: PY-20709: Return type hint messes up with 'Generator' type
  • Interpreters Settings:
  • Bug: PY-21723: PyCharm 2016.3 no longer recognizes mayapy as valid interpreter when adding as new

New in CLion 2017.1 Build 171.3224.8 EAP (Feb 15, 2017)

  • Debugger fix for csh/tcsh shells
  • Fixes for incorrect handling of the escaped symbols
  • CMake 3.7 is bundled

New in CLion 2017.1 Build 171.3019.8 EAP (Feb 8, 2017)

  • Highlights:
  • Precompile headers and -include support
  • Variable templates support
  • Generalized lambda support

New in CLion 2017.1 Build 171.2822.8 EAP (Feb 1, 2017)

  • GENERIC LAMBDAS:
  • Modern C++ standards support is one of our top-priority task for this year. We keep working on C++14, and while first EAP brought auto return type support, this build comes with the generic lambdas support. This includes correct type inference and corresponding code analysis checks.
  • More C++14 features are coming to CLion in the next EAP builds. You can check what’s left in our webhelp.
  • DECLTYPE CASES:
  • This EAP also addresses several cases with decltype when the code was not resolved correctly:
  • decltype(auto) used in trailing return (CPP-6075)
  • Constructors using decltype (CPP-8195)
  • OTHER FIXES:
  • Fix for the incorrect Explicit type required here warning when declaring a friend class (CPP-2637)
  • The refactoring of the ambiguous calls is disabled to avoid problems (CLion shows Function foo is ambiguously referenced warning in this case)

New in CLion 2017.1 Build 171.2613.3 EAP (Jan 25, 2017)

  • Highlights:
  • Make auto intention
  • Code analysis fixes and other improvements
  • Project Model improvements
  • Polished Quick Documentation
  • VCS Log Viewer improvements
  • Zero latency typing mode is on by default

New in CLion 2016.3.2 Build 163.10154.43 (Dec 29, 2016)

  • Highlights:
  • Ability to create additional CMake configurations
  • CMake generated folders excluded from the project automatically
  • Error highlighting and easier navigation in CMake output console
  • Project templates for C++ and pure C projects
  • Fixes for GCC6 support
  • You can learn more about the fixes and improvements in this update at https://confluence.jetbrains.com/display/CLION/CLion+2016.3.2,+build+163.10154.43.

New in CLion 2016.3.2 Build 163.10154.37 RC (Dec 21, 2016)

  • Changes in bundled JRE.

New in CLion 2016.3.2 Build 163.10154.14 EAP (Dec 14, 2016)

  • Highlights:
  • Ability to create additional CMake configurations and other related changes
  • Project templates
  • GCC6 support

New in CLion 2016.3.1 Build 163.9166.31 (Dec 14, 2016)

  • Fixes and changes:
  • Fix for user-defined literals rename inside namespaces.
  • Ellipsis support in Doxygen.
  • Several CMake bug-fixes and reload behavior improvements.
  • More accurate Simplify quick-fix.
  • Fix for the sysroot problem in remote GDB debug.

New in CLion 2016.3.1 Build 163.9166.25 RC (Dec 7, 2016)

  • Highlights:
  • Fixed problem with sysroot setting in Remote GDB Debug.
  • Warning about issue with GDB on macOS Sierra.
  • In addition to UDL rename fix, support for ellipsis in Doxygen and other improvements introduced in 2016.3.1 EAP, this build addresses:
  • Problem with sysroot setting in Remote GDB Debug (the path was mistakenly double quoted and thus not working as expected).
  • As you may notice, GDB on macOS Sierra doesn’t work for now. While the patch addressing GDB issues on Sierra has been accepted in the mainline, we’ve added a proper notification to CLion, that suggests to switch to LLDB:

New in CLion 2016.3 Build 163.7743.47 (Nov 22, 2016)

  • Firmer handle on modern language standards, incorporates top-voted changes in working with CMake project model, and brings lots of other enhancements:
  • C++ language support: user-defined literals, C++14 digit separator, overload resolution support, and dozens of code analysis improvements.
  • C language support: C11 keywords support including auto-completion.
  • Remote GDB debug on Windows platform.
  • New approach to CMake project model: allows you to select the generation directory, open a project from an existing generation folder, and more.
  • Automatic switching of resolve context per build/run configuration change.
  • Semantic highlighting in the editor.
  • For Unreal Engine developers: plugin for better completion for Unreal Engine 4 sources, 3rd party plugin for CMake generation, and performance improvements for project re-opening in CLion.
  • Doxygen tparam tag support.
  • Various VCS improvements.

New in CLion 2016.3 Build 163.7743.47 RC 3 (Nov 19, 2016)

  • Addresses a few important issues:
  • Broken file produced by ‘Export settings’ action (IDEA-164049).
  • IDE didn’t allow changing the default path to the terminal shell (IDEA-163474).
  • Problem with license (IDEA-164080).
  • Release notes:
  • No subsystem:
  • Bug: IDEA-164049: 'Export Settings' option exports broken settings.jar
  • IDE Configuration:
  • Cosmetics: IDEA-164080: Your copy is licensed to null
  • Terminal:
  • Bug: IDEA-163474: Terminal shell path can't be changed (falls back to default value): IntelliJ IDEA 2016.3 (builds 163.7342.3, 163.7743.17 and 163.7743.37)
  • TypeScript:
  • Exception: WEB-24229: StackOverflowError in JS code

New in CLion 2016.3 Build 163.7743.15 RC (Nov 10, 2016)

  • CLion now supports gcc atomic builtins, thus no false-positives are shown in the editor in that case.
  • Code: Parsing:
  • Bug: CPP-3239: gcc atomic builtins show as errors
  • IDE Preferences:
  • Bug: CPP-8050: Preview in Code Style settings is not shown (due to exception) when invoked from welcome screen
  • Diff_Merge:
  • Usability: IDEA-163047: Merge dialog: Undo should work for merge actions
  • Editor. Editing Text:
  • Bug: IDEA-163356: There is not attributes composition between semantic highlighting colors and original parameters/local variables.
  • Bug: IDEA-163429: Editor strips trailing spaces no matter what the settings are in preferences and ignores
  • Bug: IDEA-115424: Editor scrolls immediately after switching to its tab after project opening
  • File System:
  • Bug: IDEA-161151: Import code style: file chooser: Show hidden files button click changes nothing
  • Terminal:
  • Bug: IDEA-163059: PyCharms ignores `.bashrc` file when starting terminal session
  • Bug: IDEA-163064: Allow custom rcfiles in terminal settings
  • Bug: IDEA-162497: "copy to clipboard on selection" for terminal is not working
  • Usability: IDEA-116221: Escape doesn't moves focus back to the Editor from Terminal tool window
  • Version Control. Log:
  • Bug: IDEA-162944: commit detail does not show as expect
  • Interpreters Settings:
  • Bug: PY-17586: Conda: No repositories for installing packages

New in CLion 2016.3 Build 163.7342.13 EAP (Nov 3, 2016)

  • User-defined literals rename
  • Fixes in code analysis
  • CMake reload optimizations

New in CLion 2016.3 Build 163.6957.27 EAP (Oct 28, 2016)

  • CMake workflow changes:
  • Ability to select generation directory
  • Ability to open project from an existing CMake-generated folder
  • One CMake configuration built at a time
  • Updated CMake tool window and CMake Cache
  • Ability to add CMake Cache variable
  • Overload resolution improvements:
  • New code inspections: 'ambiguous call' and 'no matching function’
  • False-positives fixes Fix for PYTHONPATH being overwritten by the IDE

New in CLion 2016.2.3 Build 162.2228.26 (Oct 19, 2016)

  • Fixes and improvements includes:
  • Bundled CMake 3.6.2.
  • Fix for a problem with CMake that doesn’t recognize product file path with add_subdirectory after target renaming with case change.
  • Mac users will be glad to learn that this build includes a fix for an extremely sensitive scrolling with a trackpad on macOS Sierra.

New in CLion 2016.3 Build 163.6512.7 EAP (Oct 19, 2016)

  • Highlights:
  • Performance improvement for reopening Unreal Engine projects.
  • Fix in parser for line comments starting with star.
  • Unreal Engine 4 performance:
  • Main enhancement is a performance improvement for reopening the UE4 project that was already indexed in CLion. If you are interested in how to setup UE4 project for CLion check this blog post.
  • Other fixes:
  • This build also brings a fix for a problem with comment starting with a ‘*’ that breaks parsing (CPP-2936).

New in CLion 2016.3 Build 163.6110.22 EAP (Oct 14, 2016)

  • Highlights:
  • Unused variable inspection now considers non-trivial destructors.
  • Fixed Doxygen comment generation in directive block.
  • Fixed freeze on Updating Indices when a modal window is opened.
  • Code analysis:
  • We continue our work on making CLion’s code analysis more accurate by reducing a number of false-positives. CLion now considers non-trivial destructors in the ‘Unused variable’ inspection. This brings a fix for incorrect ‘Unused variable’ for the so called ‘guard’ idiom, that is used to make code exception-safe and to save/restore the context before doing some job.
  • Another false inspection fixed is reporting possibly a null reference where it’s not the case (CPP-3043).
  • Other fixes:
  • Thanks to our user, who reported a problem with Doxygen comment generation, an issue for generation in directive block was found and fixed.
  • There was quite an unpleasant hang when IDE was updating indices and a modal window was opened (CPP-7818). The problem is eliminated in this build.
  • And, by the way, looks like the Lua plugin was recently updated and now can be used inside CLion. There are still some known issues but the basic functionality including run configuration creation, completion, navigation, find usages and more works.

New in CLion 2016.3 Build 163.5644.7 EAP (Oct 5, 2016)

  • Highlights:
  • Automatic switch of resolve context.
  • VCS Log improvements.
  • Automatic switching of the resolve context:
  • Code highlighting (as well as find usages, refactorings, code generation, code analysis and more) may depend on the set of variables and flags used while resolving the code. Now when you switch the build/run configuration (that may affect these settings), CLion automatically switches the resolve context of the current file for you.
  • As before, you can change it manually using the switcher in the bottom right corner of the editor (however, for now keep this in mind).
  • Other changes:
  • This EAP also brings new design for branches and tags in Git/Hg Log. It looks cleaner and easier to use now.
  • Besides, CMake 3.6.2 was bundled into this build.

New in CLion 2016.3 Build 163.5219.6 EAP (Sep 28, 2016)

  • DATA FLOW ANALYSIS:
  • Data Flow Analysis is a powerful tool that allows CLion to understand your code better and warn you about such problems as always true/false conditions, unreachable code, endless loops, infinite recursion and more. This EAP brings some fixes for DFA checks in CLion:
  • Correctly detect variable read by cin as changed (CPP-2377).
  • When variable is passed by reference to another function, it might be changed there. DFA in CLion was not able to correctly identify this possibility and thus was providing false positives (CPP-7638, CPP-7659). The problem is fixed now. Note, there are several cases that are still under development, find them in our tracker.
  • We’ve also disabled equality checks in DFA for float/double values to avoid false positives.
  • __builtin_unreachable, that is used to indicate that a specific point in the program cannot be reached, caused incorrect warnings in CLion, like for example false “Control reaches end of non-void function” in this case.
  • Starting from this EAP CLion supports it in a correct way, so no false warnings are shown.
  • PROJECT MODEL:
  • If you have lots of files generated automatically (typical use case is autogenerated automoc files), previously you could be annoyed by CLion adding them automatically to the project files. It’s not the case since this build.
  • To provide our users with better experience when working in a team, we’ve reworked the way CLion stores information in .iml files, that are special module files created by CLion. Please, make sure you’ve updated your stable CLion version to 2016.1.4 or 2016.2.2, which contains forward-compatibility fixes, so that you are able to open your projects in CLion 2016.3 EAP and current stable CLion versions at once.
  • Finally, there is also a fix for case-only target rename in CMake (CPP-883).
  • VCS IMPROVEMENTS:
  • With this build the performance of text, author and path filters in Git log increased dramatically! What happens there now is an index that is built for all commits on first-time project opening and later updated on a log refresh. This allows the IDE to speed up significantly when filtering.
  • Another small but important feature introduced in this build is an ability to add remote repositories to local Git repository (IDEA-87099).
  • USER INTERFACE:
  • In case you are on mac and already got a fresh macOS Sierra, you’ll be glad to learn that this build includes a fix for an extremely sensitive scrolling with a trackpad.

New in CLion 2016.3 Build 163.4830.5 EAP (Sep 21, 2016)

  • Digit separators, C++14:
  • Since C++14 number literals may use single-quote character as a digit separator. This makes it easier for developers to “parse” large numbers while reading the code. CLion can parse it correctly now as well.
  • sizeof() analysis fixes:
  • CLion evaluates sizeof() expressions in your code and uses the result in the code analysis. However, in some situations the calculation was wrong, which brought the false-positives (CPP-4432). This EAP fixes the problem, taking into account the specific of the platform you are compiling for. (By the way, do you think platform-dependant code analysis should be on by default? Share your thoughts with us!)
  • Other fixes:
  • Import project functionality (for those who don’t have a CMake project and still want to try CLion) was accidentally broken in EAP. Now it’s back.
  • Quick Documentation didn’t work in case of not exported functions (CPP-7446).
  • Several fixes for CMake output window (CPP-7505, CPP-7507).

New in CLion 2016.3 Build 163.4396.13 EAP (Sep 14, 2016)

  • DOXYGEN SUPPORT:
  • Starting from v2016.2 CLion provides Doxygen support. This EAP adds support for tparam tag, that means that CLion can now generate documentation stubs for template parameters in function, class or structure. And if you rename the template parameter, Doxygen comment will be updated as well, so your documentation is always correct.
  • We’ve also fixed a problem with @return tag generated for constructors.
  • CODE ANALYSIS:
  • This build fixes several false positives in code analysis:
  • Local variable is never used for the variable used in sizeof().
  • Incorrect inspections when bitwise shift operators are used (CPP-7077).
  • DEBUGGER:
  • There are also several debugger related fixes that bring more readable names for threads in the Frames toolwindow for LLDB, and allow displaying polymorphic variable when debugging.
  • RELEASE NOTES:
  • Code: Highlighting and inspections:
  • Bug: CPP-7077: Binary shift operators on char literals evaluated incorrectly
  • Bug: CPP-7142: False inspection "local variable is never used" when used in sizeof()
  • Code: Documentation:
  • Bug: CPP-7377: Doxygen: CLion generates @return for constructor
  • Bug: CPP-7294: Doxygen: Rename of template parameter works incorrectly when EOL comment-group is splitted
  • Feature: CPP-6642: Doxygen: Support tparam tag
  • Code: Parsing:
  • Bug: CPP-7495: No completion for "default" keyword inside generic selection expression
  • Code: Refactorings:
  • Bug: CPP-7299: Doxygen: Rename doesn't work for constructor parameter in doxygen comment when extra line
  • Debugger: GDB:
  • Bug: CPP-3109: Debugger doesn't show polymorphic variable
  • Debugger: LLDB:
  • Bug: CPP-7015: LLDB: Names of threads in Frames toolwindow should be more readable
  • Find, Replace, Find Usages:
  • Bug: IDEA-160975: Find Usages does not search in library sources when there are several JDKs in the project
  • Bug: IDEA-140429: 10s hang on changing groupping in show usages
  • Indices:
  • Bug: IDEA-160928: Unable to open Java file in node_modules
  • Packaging and Installation:
  • Bug: IDEA-160933: IntelliJ community build broken - Could not find matching constructor for: org.jetbrains.intellij.build.IdeaCommunityBuilder
  • Bug: IDEA-161183: Update and Restart still fails in the latest EAP
  • Bug: IDEA-161223: Patch is not applied (Linux, macOS)
  • Task Management:
  • Bug: IDEA-136797: GitHub integration ignores 'no proxy for' setting
  • User Interface:
  • Bug: IDEA-145132: Esc while editing push target closes the push dialog
  • Usability: IDEA-159895: Scrolling in options of 'Unused declaration' inspection is unusual slow
  • Task: IDEA-160777: Incorrect background in lists with new scrollbars
  • Version Control:
  • Feature: IDEA-157911: Drag'n drop to shelve
  • Usability: IDEA-80668: Move changes to Active Changelist - usability
  • Cosmetics: IDEA-156342: Commit popup: inconsistent triangle usage (browser vs Details)
  • Inspections:
  • Bug: PY-19412: Class method support becomes broken if method attribute is used

New in CLion 2016.3 Build 163.3983.6 EAP (Sep 8, 2016)

  • In addition to various bug fixes, this build includes:
  • User-defined literals support
  • C11 keywords completion
  • Code generation attributes
  • CMake output window
  • Improvements for projects opened from symlinked directories
  • Semantic highlighting
  • Command-Line Source Code Formatter
  • Version Control improvements
  • User Interface changes (fonts and more)
  • Fixed issues:
  • CPP-4690 — Invalid overload resolution for copy/move constructor and assignment-overload
  • CPP-475 — Show cmake output messages while loading
  • CPP-1727 — Support user-defined literals
  • CPP-2120 — No support for _Generic keyword
  • CPP-778 — Semantic per-variable highlighting for C/C++
  • CPP-416 — virtual symbol unneeded when function marked with override symbol
  • CPP-5838 — C++14 std::chrono_literals not recognized
  • CPP-7272 — No code completion for C99 and C11 keywords
  • CPP-7387 — Automatic Doxygen tag generation bug for functions returning macro
  • CPP-7052 — Generic support for project opened from symlinked directories, including remote debug and path mappings
  • CPP-1746 — C++: 'restrict' is not a keyword.
  • CPP-7510 — Default CMakeLists.txt not using CMAKE_CXX_STANDARD
  • CPP-7417 — A local variable won't show up on the list of variables when debugging with LLDB
  • CPP-7227 — 'Split group' action for CMake consoles breaks console rendering
  • CPP-7185 — Can't resolve enum class member declared further in the same class
  • CPP-7113 — Support related per-variable highlighting semantic in Doxygen
  • CPP-6951 — Bundle LLDB 3.9
  • CPP-6555 — Incorrect Doxygen comment generated for definition
  • CPP-4880 — Quick documentation with empty comment

New in CLion 2016.2.2 Build 162.1967.7 (Sep 7, 2016)

  • Fixes and changes:
  • Settings to control label indentation.
  • Improved auto-completion for directives.
  • Initial C11 keywords support in parser.
  • Problem with typing dollar sign on macOS (IDEA-160416).
  • Support for .inl headers format.
  • More bug fixes.

New in CLion 2016.2.2 Build 162.1967.3 EAP (Aug 31, 2016)

  • This build is focused on several regressions introduced in CLion 2016.2:
  • Project view was hidden by mistake (CPP-7479).
  • Duplicating code style settings were created by mistake when code generation settings were changed (CPP-6817).
  • False warning “Control reaches end of non-void function” was raised by CLion’s code analysis for try-block (CPP-7382).
  • It also brings several fixes. First, CLion can now handle projects with huge CMake generated files, that previously caused problems when loading the project (CPP-7195).
  • Another fix relates to .inl headers format now supported in CLion.

New in CLion 2016.2.2 Build 162.1889.3 EAP (Aug 24, 2016)

  • No subsystem:
  • Bug - CPP-7398 - Some files become uneditable (Argument for @NotNull parameter 'nameScope' of com/jetbrains/cidr/lang/preprocessor/OCInclusionContext. must not be null constantly throws)
  • Code: Completion:
  • Usability - CPP-1902 - Improve #directives auto-completion in C/C++
  • Code: Formatting:
  • Feature - CPP-204 - Add the option to control label indentation
  • Code: Highlighting and Inspections:
  • Bug - CPP-6078 - Parser selects wrong function prototype
  • Bug - CPP-3187 - False positive for "Condition is always true" (inspection confused by exceptions)
  • Bug - CPP-3049 - Incorrect duplicate case error
  • Bug - CPP-3617 - catch(...) branch seems unreachable
  • Performance - CPP-7447 - Lower resource utilization in DFA inspections
  • Code: Parsing:
  • Bug - CPP-7268 - C11 keywords (_Thread_local, _Alignas, _Noreturn, _Static_assert, _Atomic) are not supported
  • Debugger:
  • Usability - CPP-6848 - Report GDB/LLDB pretty printer initialization problems
  • Usability - CPP-7157 - Correctly report error on debugger startup
  • Debugger: LLDB:
  • Bug - CPP-7354 - EA-60444 ConcurrentModificationException in debugger when several watchpoints are added
  • Console:
  • Bug - IDEA-132694 - ANSI colors need restart for a new settings to apply
  • File System:
  • Bug - IDEA-159022 - Gradle project doesn't see the updated jar file after sibling Maven module artifact rebuilt
  • HTML:
  • Bug - IDEA-157251 - Wrong autocomplete for opening tags
  • Indices:
  • Bug - IDEA-156411 - UI lockup on updating indices
  • Packaging and Installation:
  • Bug - IDEA-159134 - JARs required for osmorc plugin are missing from standalone JPS distribution
  • Bug - IDEA-159702 - A typo in Linux install instruction
  • Bug - IDEA-151793 - IDEA failed to restart after plugins activation
  • User Interface:
  • Bug - IDEA-158831 - Font in SQL query results are horrible
  • Bug - IDEA-148656 - Should not add .txt extension to a file without extension after copying
  • Cosmetics - IDEA-158749 - Background image not shown if no editor window is open & in Maven diagram
  • Version Control:
  • Bug - IDEA-153272 - Files are lost during the movement of unversioned files to overwrite existing files with same names
  • Performance - IDEA-145318 - IDEA becomes slow with many files in the Local Changes
  • Performance - IDEA-149091 - Editing is slow because of Local Changes view UI refresh
  • Performance - IDEA-158252 - IDE completely freezed after indices failure
  • Performance - IDEA-156615 - Changes view painting takes significant time when an expanded changelist contains 22K files
  • Usability - IDEA-146640 - If Commit dialog is invoked when index is not built yet it suggests to wait to make code analysis available forever
  • Version Control. Git:
  • Bug - IDEA-159580 - GIT project update hangs
  • Usability - IDEA-160000 - Keep second line empty in commit messages on git cherry-pick
  • Usability - IDEA-118140 - Don't add renamed or moved files to git index unless configured to do so
  • Version Control. Log:
  • Bug - IDEA-158666 - Cannot copy text from Details of Git "Show History"
  • Version Control. Mercurial:
  • Bug - IDEA-159546 - Problem with pullpush operation on hg
  • Exception - IDEA-159729 - CME at java.util.HashMap$HashIterator.nextNode
  • Exception - IDEA-159723 - SOE on UpdateProject invocation
  • Version Control. Subversion:
  • Cosmetics - IDEA-115024 - Grammar error in SVN error message

New in CLion 2016.2.1 Build 162.1628.20 (Aug 10, 2016)

  • Short summary of the important fixes and changes:
  • Lots of fixes for false positive analysis warnings.
  • Bundled CMake 3.6.1.
  • Fix for multiple selection in Project view.
  • Fix for a special if-else treatment formatting option, and some more bug-fixes in formatter.
  • Fix for a Doxygen comment generation after /// and //! prefixes not working on big projects and large files.
  • CODE - DOCUMENTATION:
  • Doxygen: problem with comment generation in case of /// and //! prefix
  • CODE - FORMATTING:
  • Formatter: incorrect preview for 'maximum lines' in declarations
  • "else on new line" option is not applied while reformatting
  • Formatter: preview is not updated to for "else" statements spaces
  • Formatter: "Special 'else if' treatment" breaks if-if
  • CODE - HIGHLIGHTING AND INSPECTIONS:
  • False unreachable code analysis when try...catch branches affect the dataflow
  • Invalid button in the inspection results window
  • Settings: C/C++ Intentions missing examples before/after
  • CLion warns that references were assigned but never used.
  • False positive for 'Condition is always false'. Inspection confused by const field initialization.
  • Operators checker should discard cv-qualifiers when applying a binary operator for enum class
  • CODE - PARSING:
  • Parser error on most vexing parse workaround
  • Incorrect "duplicate definition" error for member functions with unknown arguments
  • DEBUGGER - GDB:
  • Passing SIGUSR2 to program causes exception from GDB
  • PROJECT VIEW:
  • StackOverFlowError in Project view

New in CLion 2016.2.1 Build 162.1628.2 EAP (Aug 3, 2016)

  • Some noticeable bug fixes and improvements include:
  • Formatter fixes
  • CMake 3.6.1
  • This build brings several important formatter fixes:
  • Special if-else treatment formatting option can be useful however it was accidentally breaking the if-if construct. Now it works correctly.
  • Formatter preview is quite handy when you can’t guess what the option is actually responsible for, so you just try and see. This build includes a fix for a preview not updated for else spaces settings.
  • else on new line and while on new line settings are now taken into account when reformatting even if Keep when reformatting | Line breaks setting is switched on.

New in CLion 2016.2.1 Build 162.1531.1 EAP (Jul 27, 2016)

  • LANGUAGE SUPPORT:
  • There are a lot of fixes for false positive issues that couldn’t make its way to 2016.2, but are ready for 2016.2.1 EAP:
  • return a += b; statement was reported as unused, thus incorrect quick-fix was suggested.
  • Incorrect unreachable code warning in some try..catch cases (CPP-806).
  • Incorrect assigned but never used warning for references not used directly (CPP-3824).
  • Incorrect condition is always false warning in case of const field initialization (CPP-4289).
  • Incorrect duplicate definition in case of templates usage (CPP-6625).
  • Parser error which leads to an error with boost::none (CPP-4718).
  • FIXES FOR PROJECT VIEW
  • An error with multiple selection that was appearing in Project View after some file was deleted caused many unpleasant consequences and strange behaviour patterns (CPP-3748). We’ve fixed it now.
  • CMAKE:
  • CMake 3.6 was bundled into this build.
  • Several exceptions and a regression with the project name disappeared from CLion’s welcome screen (CPP-7245) were also addressed in this build.
  • RELEASE NOTES:
  • No subsystem:
  • Feature: CPP-6920: Support and bundle CMake 3.6
  • Code: Formatting:
  • Bug: CPP-7182: Formatter: incorrect preview for 'maximum lines' in declarations
  • Code: Highlighting and Inspections:
  • Bug: CPP-806: False unreachable code analysis when try...catch branches affect the dataflow
  • Bug: CPP-6985: Invalid button in the inspection results window
  • Bug: CPP-6113: Settings: C/C++ Intentions missing examples before/after
  • Bug: CPP-3824: CLion warns that references were assigned but never used.
  • Bug: CPP-4289: False positive for 'Condition is always false'. Inspection confused by const field initialization.
  • Bug: CPP-7155: Operators checker should discard cv-qualifiers when applying a binary operator for enum class
  • Code: Parsing:
  • Bug: CPP-4718: Parser error on most vexing parse workaround
  • Code: Resolving:
  • Bug: CPP-6625: Incorrect "duplicate definition" error for member functions with unknown arguments
  • Debugger: GDB:
  • Bug: CPP-7193: Passing SIGUSR2 to program causes exception from GDB
  • Project View:
  • Bug: CPP-4124: StackOverFlowError in Project view
  • Running:
  • Bug: CPP-7099: Cannot edit run configuration defaults from welcome screen in CLion and AppCode
  • Unit Testing: Google Test:
  • Bug: CPP-7203: ClassCastExcetion when right-clicking on test targets
  • Find, Replace, Find Usages:
  • Bug: IDEA-120868: Usage search "No Results" popup too small
  • HTML:
  • Bug: IDEA-157251: Wrong autocomplete for opening tags
  • Indices:
  • Bug: IDEA-156411: UI lockup on updating indices
  • Bug: IDEA-158330: Illegal Generic Signature in class file causes OutOfMemoryError
  • JavaScript:
  • Performance: IDEA-158107: JsonSchemaFileTypeManager leaks project after closing
  • User Interface:
  • Bug: IDEA-158831: Font in SQL query results are horrible
  • Bug: IDEA-148656: Should not add .txt extension to a file without extension after copying
  • Bug: IDEA-158318: File selector in 'Version Control' -> 'History' doesn't work if window was hidden
  • Cosmetics: IDEA-158749: Background image not shown if no editor window is open & in Maven diagram
  • Version Control:
  • Bug: IDEA-153272: Files are lost during the movement of unversioned files to overwrite existing files with same names
  • Usability: IDEA-146640: If Commit dialog is invoked when index is not built yet it suggests to wait to make code analysis available forever
  • Usability: IDEA-155714: Clone Repository - User has a Hard Stop if Directory exists, even after deleting Directory
  • Usability: IDEA-149027: Not able to clone Repository into existing empty folder
  • Cosmetics: IDEA-155713: Error message refers to a "Directory" and "Path" in the same context.
  • Version Control. Git:
  • Usability: IDEA-135612: Git clone dialog: "The parent path must exist" should be a warning
  • Usability: IDEA-118140: Don't add renamed or moved files to git index unless configured to do so
  • Version Control. Log:
  • Bug: IDEA-157907: user filter shows no changes after scrolling down

New in CLion 2016.2 Build 162.1236.16 (Jul 20, 2016)

  • DEBUGGER PERFORMANCE:
  • GDB and LLDB debugger drivers have been overhauled to improve both correctness and performance. We thank all our users for your collaboration - all your logs, sample projects and use case details finally made this possible!
  • If you've ever run into 'command timeout' in CLion, we encourage you to get this build as the problem should be fixed now. Lots of other issues have been fixed as well: 'Variables' windows that wasn't updated on variable setting, problems with showing frames, incorrect debugger exit, and more. As an important result, debugger performance has seen a huge boost – up to 800x in some cases.
  • The supported GDB version was updated to 7.11 and LLDB updated to 3.8. Besides, Linux users can now benefit from using LLDB (as it was previously available on macOS only).
  • REMOTE GDB DEBUG:
  • It's finally here! One of the most awaited features has finally made its way into CLion. Run an executable on a target host under gdbserver, connect remotely using CLion remote GDB configuration, and inspect code more powerfully from the IDE's debugger. Set breakpoints to stop at, evaluate expressions, inspect variables views, change variable values on the fly, and more.
  • DOXYGEN SUPPORT:
  • Documenting code is a best practice that greatly aids code maintenance and support. Now CLion helps you with this by supporting the well-known Doxygen format.
  • See the Doxygen documentation preview in the Quick Documentation pop-up (Ctrl+Q on Linux/Windows, F1 on macOS), navigate to the function parameters from their description in Doxygen comments, and rely on function and function parameters rename that update Doxygen references automatically.
  • While adding new Doxygen comments to your code base, use Doxygen commands and function parameters completion, or simply generate the stub for Doxygen comments (it will work if your function has parameters, returns a value, or throws an exception).
  • CODE GENERATION:
  • Saving time on typing is really easy with CLion. The many options of its 'Generate' menu (Alt+Insert on Linux/Windows, ⌘N on macOS) have been expanded with equality, relational and stream output operators. Select if you'd like to generate in-place, as class members, use std::tie for the implementation, and more.
  • Generate definitions (introduced in 2016.1) got updated behavior templates. Now CLion is able to adapt to the patterns you are using in your project.
  • It can detect and support three possible patterns:
  • declarations are located in header files, definitions are in cpp-files;
  • class/struct is located in header file only; or
  • class/struct is located in cpp-file only.
  • If you switch from one of these patterns to another, CLion will pick up on that and behave accordingly when you use code generation the next time. More on that here.
  • Another way to save time on typing is the improved Complete Statement feature (Ctrl+Shift+Enter on Linux/Windows, or ⇧⌘⏎ on macOS). It helps you create syntactically correct code constructs by inserting the necessary syntax elements and getting you in position to start typing the next statement. It can complete namespaces, classes, enums, enum classes, structs and control statements. Learn more about Complete Statement in this earlier blog post.
  • SMART CMAKE SUPPORT:
  • We keep working to make CMake easier to use in CLion. 2016.2 adds refactoring support for CMake:
  • Rename (Shift+F6 on Linux/Windows, ⇧F6 on macOS) for users symbols (like functions or macros) - all the usages will be updated accordingly.
  • Safe delete for files - related CMake commands will be updated, and a warning will appear in case of a possibly incorrect command.
  • To help you become a CMake guru, CLion also offers completion and navigation for user symbols, together with the new Boost-related live templates.
  • If you want your CMake script to detect that it's being called from CLion ( and if so, set special variables/paths or execute some additional scripts of your choice), you can now do that with the special environment variable, CLION_IDE. Environment variable completion in CMake will make the task even easier.
  • CODE FORMATTING:
  • CLion allows you to configure plenty of code style rules that will be applied on the fly as you type, to help you keep code well-formatted and thus easy to read and maintain. The newest settings fine-tune wrapping for lines after function return type in the scope of a class, in global and namespace scopes, lambda capture list, and in '' operators.
  • Also, the list of predefined code styles has been expanded with LLVM and LLDB styles.
  • EDITOR AND TOOL WINDOWS IMPROVEMENTS:
  • If you a fan of fonts with ligatures (e.g. FiraCode, Hasklig, Monoid or PragmataPro), you'll be pleased to know that CLion now supports such fonts. Simply go to Settings | Editor | Colors & Fonts | Font, choose a corresponding font, and select the 'Enable font ligatures' option.
  • To spice up your editor's look, you can now set a custom background image. Use Find Action (Shift+Ctrl+A on Linux/Windows, ⇧⌘A on OS X), type Set Background Image, select an image and configure its settings in the dialog that appears.
  • If you work with long files, a new alphabetical sorting in Structure View (Alt+7) can come in handy to locate entities quicker (as opposed the reflecting the order in the original file).
  • OTHER CHANGES:
  • The Inspection results window makes it easier to preview the corresponding piece of code immediately and to disable a group of inspections in-place.
  • The maximum supported version of MinGW-w64 was updated to 5.3, and Cygwin to 2.5.
  • CLion on Windows now bundles a customized JDK version with font-rendering and focus fixes from the JetBrains team.
  • Swift plugin for CLion adds Swift 2.2 support, Introduce Variable refactoring and parameter placeholders for Swift. For more details head to the AppCode blog.
  • Important improvements in VCS support:
  • Files not yet under version control are now shown in the commit dialog, so you'll never forget anything important.
  • The Log view for Git and Mercurial loads in the background on every change, so it's always ready when you need it.
  • Patches can now be applied from the clipboard or by simply dragging them into the IDE. There's also a Show Diff action to check the changes over your local version, and even a possibility to apply patches to files that were already moved or renamed.
  • Don't worry about case-only renames in Git for Windows and macOS, as CLion now treats these situations correctly.

New in CLion 2016.2 Build 162.1236.11 RC (Jul 14, 2016)

  • Previous EAP build introduced Remote GDB Debug feature, however our users on RedHat and CentOS 6 were unable to use it with the GDB bundled into CLion due to the incompatible glibc version. The problem is fixed in this build.
  • Please note that to use CLion 2016.2 RC you need to have an active subscription (or start a 30-day evaluation period).

New in CLion 2016.2 Build 162.1236.1 EAP (Jul 6, 2016)

  • REMOTE GDB DEBUG:
  • This build brings you one of the most voted feature – remote debug. To be precise, CLion now supports remote debug with GDB/gdbserver. That means that having executable running on one host under gdbserver, you can connect to it with the GDB from CLion from another host and inspect the code using all the benefits of CLion’s debugger UI: set breakpoints from the IDE, view variable values, evaluate expressions and more.
  • Supported platforms:
  • Since GDB/gdbserver is a universal tool, many combinations are possible, from which most popular are debugging on various Linux targets from Linux/macOS hosts. On Windows remote debug is not supported due to several technical issues.
  • Configuration settings:
  • To connect remotely with GDB to the target host, create GDB Remote Debug configuration (go to Run | Edit Configurations and create it from the template) and provide settings for the remote connection, like GDB to use, medium to carry the debugging packets (serial line, or an IP network using TCP or UDP), debug symbols, sysroot, path mappings.
  • Core functionality:
  • Finally, simply run the executable on a target system under gdbserver (you can use built-in terminal to access the remote host). And start debugging the GDB remote debug configuration in CLion. The execution will stop on a breakpoints set from the IDE. You’ll be able to view variables, evaluate expressions, set values on the fly, check inline variable views in the editor and more.
  • ENVIRONMENT VARIABLES IN CMAKE:
  • Our users asked us to define a way to automatically detect that CLion is used to run the CMake command on the project. After some discussion we’ve decided to introduce special environment variable (CLION_IDE) and implement environment variables completion in CMake to make it easier for you to find it.
  • This way now you can detect CLion usage and if so, set special variables/paths or execute some additional scripts of your choice, or just add some extra logging to your CMake.

New in CLion 2016.2 Build 162.1120.17 EAP (Jun 30, 2016)

  • COMPARISON, RELATIONAL AND STREAM OUTPUT OPERATORS GENERATION:
  • CLion provides plenty of options to generate boilerplate code. In addition to constructors/destructors and getters/setters, this EAP build allows you to generate missing:
  • equality operators,
  • relational operators,
  • stream output operators.
  • These new options are available in the generate menu (Alt+Insert on Linux/Windows, ⌘N on macOS). Generation dialog allows you to select fields to use during the generation. In addition, you can configure:
  • if to generate all the equality/relational operators, or just == and < (this is also configurable under Editor | Code Style | C/C++ settings),
  • if to generate as class members,
  • if to generate in-place,
  • if to use std::tie for the operators implementation.
  • In case some of the operators are already there, CLion suggests you to add missing ones (and if all the operators are already there, you can replace all the existing with the new ones). Preview of the existing operators is available.
  • Note, that CLion doesn’t check that class members has its own operators specified.
  • DOXYGEN IMPROVEMENTS:
  • We continue our work on Doxygen support in CLion. As you may already know, CLion provides you with an ability to generate Doxygen comments stub. This build brings a few settings to configure how these comments will look like. You can select if you prefer @-commands or -commands style and if you’d like CLion to add brief tag.
  • Besides, @code/@endcode and @verbatim/@endverbatim tags are now treated as text without any changes in Quick Documentation pop-up.

New in CLion 2016.2 Build 162.1024.9 EAP (Jun 22, 2016)

  • CLion 2016.2 EAP started with Doxygen support. It includes nice viewer, Doxygen commands and function parameters completion and comments generation. Starting from this build, you can use “///” and “//!” symbols (in addition to “/**” and “/*!”) and then Enter to generate stub that you can later fill with the documentation text.
  • CLion provides you with many live templates that allow you typing certain code pieces faster, using code generation. This build brings an important fix for “Applicable in” status saved correctly (IDEA-157128, CPP-6982).
  • OTHER NOTABLE CHANGES INCLUDE:
  • Time Tracking plugin was bundled into CLion. Enable it in settings Tools | Tasks | Time tracking.
  • Fix for a space used inside a format string (CPP-6873).
  • Quick Documentation (Ctrl+Q on Linux/Windows, F1 on OS X) font is now stored correctly between IDE restarts (IDEA-152590).
  • Fix for the IDE that locks on “Shelve Changes” at the “Synchronizing files…” step (IDEA-157336).
  • CHANGELOG:
  • No subsystem:
  • Feature: CPP-6977: Bundle Time Tracking plugin in CLion
  • Code: Documentation:
  • Feature: CPP-6836: Generate Doxygen comment for function declaration when it starts with /// (or //!) symbols
  • Code: Highlighting and Inspections:
  • Bug: CPP-6873: printf with ' ' (a space) conversion shows error
  • Bug: CPP-6729: Error on referenced qualified namespace member
  • Editor. Editing Text:
  • Bug: IDEA-157592: Move text through drag'n'drop on line numbers doesn't work. It copies the text instead
  • Documentation:
  • Bug: IDEA-152590: Quick doc font size is not remembered between IDE restarts
  • IDE Configuration:
  • Bug: IDEA-157128: IDE loses Live Template "Applicable in" status on restart
  • Packaging and Installation:
  • Bug: IDEA-157339: 162.188.8 doesn't find JVM, won't launch
  • User Interface:
  • Bug: IDEA-157597: Background image: when nothing is selected in the LocalChanges, the PreviewDiff pane doesn't get applied background
  • Bug: IDEA-157591: Background image: ApplicationServers toolwindow doesn't get the applied background
  • Cosmetics: IDEA-157466: Background Image: some toolwindows don't get the set background when the tab displays 'nothing selected'
  • Version Control:
  • Bug: IDEA-157336: IntelliJ Locks on "Shelve Changes" at the "Synchronizing files..." step

New in CLion 2016.2 Build 162.917.13 EAP (Jun 15, 2016)

  • Starting from this build CLion doesn’t show “Function is not implemented” warning in case of:
  • private copy-constructor: TypeName(const TypeName&),
  • private simple assignment operator: void operator=(const TypeName&).
  • This build also brings fixes for the following issues:
  • Splitting function into declaration and definition doesn’t take focus to the implementation and puts caret in a non-convenient position (CPP-6731).
  • “Preview Occurrences” option in Find In Path toolwindow stoles focus (IDEA-156921).
  • One line change in the file tracked by Mercurial in some situations forces to mark all content as new (IDEA-157085).
  • Recently we’ve added an ability to add background image in your editor. A few fixes for it were introduced in this build:
  • You can now set background image per project (IDEA-117223).
  • When opening files in new windows, these new windows now inherit background image from the editor (IDEA-157035).
  • FULL RELEASE NOTES:
  • Code: Intention Actions:
  • Usability: CPP-6731: Split function into declaration and definition puts caret in a strange position
  • Code: Documentation:
  • Bug: CPP-6627: Doxygen: Exception appear for code completion when comment has more than 3 lines
  • Code: Highlighting and Inspections:
  • Bug: CPP-442: "Function is not implemented" warning for intentionally undefined functions
  • Editor. Editing Text:
  • Usability: IDEA-156758: Disable non project files writing protection, when file is opened explicitly
  • Find, Replace, Find Usages:
  • Bug: IDEA-156921: Find In Path toolwindow - focus is stolen by "Preview Occurrences" editor
  • Version Control. Mercurial:
  • Bug: IDEA-157085: Mercurial: change even one line forces to mark all content fo file as new, until force refresh in "Version Control" tab
  • User Interface:
  • Feature: IDEA-117223: Custom background image/colour for each project
  • Bug: IDEA-157035: Editor in separate window does not adopt background image
  • Usability: IDEA-157246: Background image: improve UX of removing the background
  • Console:
  • Feature: PY-14330: Pandas dataframes viewer in debug or console
  • Debugger:
  • Feature: PY-2431: Provide threads suspend policy in breakpoint setting

New in CLion 2016.2 Build 162.844.13 EAP (Jun 10, 2016)

  • DEBUGGER:
  • Command timeout:
  • Sometimes an error would happen while collecting frames on breakpoint/interrupt or when the debugger was being launched. The debugging session would hang for some time and then a command timeout was reported to the user. Now a proper error message is reported to the console and in a notification balloon, so the ‘command timeout’ error shouldn’t bother you anymore.
  • Debugger correctness:
  • We overhauled debugger drivers, making it possible to fix many bugs with stepping and variables views, for example:
  • Value in “Variables” window wasn’t updated after the variable was set (CPP-5933).
  • Debugger failed to show frame variables when stepping into a function if const STL container was in outer frame (CPP-6150).
  • GDB didn’t exit correctly when program waited on cin (CPP-5615).
  • LLDB didn’t stop on breakpoints on case-insensitive file system if there were differences in file names/paths casing (CPP-6598).
  • GDB and LLDB versions updated:
  • We’ve also updated the bundled LLDB version (OS X only) to 3.8 and the GDB version to 7.11. Along with supported GDB version update, the maximum supported version of MinGW-w64 was updated to 5.3 and Cygwin to 2.5.
  • Performance improvements:
  • After all changes in both drivers, we ran performance tests to evaluate how they affected debugging startup/shutdown, stepping with various data views and expanding big data structures. The numbers are really promising (the picture shows the correlation between new and old data):
  • Besides, there were a few tests which finished with the TIMEOUT previously, while now they take some reasonable time to complete, like for example displaying strings or STL collections.
  • OTHER IMPROVEMENTS:
  • CMake and Safe delete:
  • Since the very first releases, when you add a new file, CLion has suggested updating the CMake targets with the newly created file. However, this automatic update was not possible in case of file deletion. Now it is!
  • If you delete a file listed as an argument in certain CMake commands, CLion will search for file usages in CMakeLists.txt files, warn you about an unsafe operation, and update the usages automatically.
  • These CMake commands include:
  • add_executable
  • add_library
  • set
  • add_custom_target_command
  • fltk_wrap_ui
  • qt_wrap_cpp
  • qt_wrap_ui
  • set_property
  • set_source_files_properties, and
  • try_compile
  • Note that if there are other files listed in the command arguments, CLion will simply delete the reference to the deleted file.
  • However, if the reference to the deleted file is the only command argument, deleting the reference (as well as the command itself) could lead to an incorrect CMake file, so this warning will be shown. You can then view the usages and decide if you’d like to proceed with deleting.
  • It works not only for C and C++ files, but for any file type (list resources for example, or other CMake scripts). Directories are not currently supported.
  • Live templates:
  • We’ve updated Boost-related live templates for CMake files and now there are two – boost and boost_with_libs. The latter is for linking your target with the Boost libraries. You only need to fill the components list and the target name.
  • Generate definitions:
  • When we first introduced the Generate definition action some users were confused by its behaviour. That’s why we’ve collected all the feedback and considered the cases carefully once again.
  • In general, there are several popular behaviour templates:
  • declarations are located in header files, definitions are in cpp-files,
  • class/struct is located in header file only,
  • class/struct is located in cpp-file only,
  • as well as any other custom case users might be interested in.
  • CLion now detects the case automatically, providing Generate in-place setting in the generate dialog:
  • It’s always unchecked when the action is called outside a class or a namespace.
  • When called inside a class or a namespace:
  • Unchecked if there are existing functions in the class with outside definitions.
  • Checked if there are no functions in the class or all the functions are in-place.
  • Unchecked if there are no functions in the class, the class is in a header file and there is a corresponding source file (unless it’s a template).
  • Font ligatures:
  • Font ligatures are officially supported by the IntelliJ-based IDEs now, and so does CLion. If you have a font that supports ligatures installed (e.g. FiraCode, Hasklig, Monoid or PragmataPro), then simply go to Preferences/Settings | Editor | Colors & Fonts | Font, choose a corresponding font there and select the Enable font ligatures option. That’s it!
  • There are a few more nice changes:
  • IDE’s notifications are now more friendly – there appear in the rightmost bottom corner and are grouped by the subsystem.
  • If you’d like to have a nice background image in your editor, it’s now possible in CLion. Call Find Action (Shift+Ctrl+A on Linux/Windows, ⇧⌘A on OS X), type Set Background Image, select an image and configure its settings in the dialog that appears:
  • sea_line_background
  • Git/Mercurial log viewer now loads in the background on every change (a commit, fetch, rebase, etc) to be always ready when you open it.

New in CLion 2016.1.3 Build 145.1617 (Jun 8, 2016)

  • A few notable fixes:
  • CPP-6013 Wrong “Binary operator ‘

New in CLion 2016.2 Build 162.646.11 EAP (Jun 1, 2016)

  • CODE STYLE FOR C AND C++:
  • This build adds a few options to the C/C++ Code Style settings. Wrapping and Braces group got a new After function return type options, that allow you to configure whether to wrap the lines after function return type in a scope of a class and in global and namespace scopes. By default there is ‘Wrap if long’ value set for both of them.
  • Several setting for Lambda capture list were added in Wrapping and Braces as well.
  • There are also new options to configure wrapping for ‘’ operators. And in Spaces | Within group you can now configure if you’d like to get a space within empty code braces.
  • Besides, this EAP build provides you with two new coding schemes to follow – LLVM and LLDB. To apply setting from any of these scheme, select Set from… | Predefined Style and select the scheme you prefer.
  • OTHER FIXES:
  • Several important bugs addressed in this build are:
  • In case you only changed a case of some letter while renaming a file, this file disappeared from the Changes view on Save (IDEA-94470).
  • In the case described above committing this change to Git repository also failed, and it happened for both file and folder names changes (IDEA-53175).
  • It was not possible to use Windows-key (Super-key) as a modifier key in keymap on Linux (CPP-4246, CPP-5768, IDEA-144702)

New in CLion 2016.2 Build 162.426.5 EAP (May 25, 2016)

  • ALPHABETICAL SORTING IN STRUCTURE VIEW:
  • Many of you asked us about alphabetical sorting in Structure View and finally here it is! To open structure view for a file you are currently in just press Alt+7 on Linux/Windows, ⌘7 on OS X.
  • By default, entities there are grouped by:
  • namespaces
  • structures
  • classes
  • constructors/destructors
  • functions
  • typedefs
  • global variables
  • #define directives
  • The order corresponds to the order in the original file. In case you select Alphabetical sorting, elements in each of the group will be sorted, that makes sense for a long files with lots of entities in it.
  • INSPECTION TOOL WINDOW REDESIGN:
  • CLion runs code analysis on the fly and reports potential problems right in the editor. However, you can also run code analysis on the whole project or any selected scope manually (use Code | Inspect Code…). You can also run only one inspection you are especially interested in via Run inspection by name action. The results are presented in a separate window, redesigned in this build to become more readable and thus useful.
  • For example, now CLion shows code preview immediately when you select any result from the list.
  • Besides, when an inspection group is selected, you can now not only see the description, but also disable the inspection in-place.
  • VCS:
  • In addition to the VCS changes introduced in the first EAP, this build also includes:
  • Support for ‘Apply somehow’ interactive mode for patch applying.
  • Git/Hg log shows commit details for several selected commits.

New in CLion 2016.2 Build 162.232.8 EAP (May 19, 2016)

  • Complete Statement:
  • Together with code completion and code generation, this feature helps you develop at the speed of thought. Invoked with Ctrl+Shift+Enter on Linux/Windows or ⇧⌘⏎ on OS X, it helps you complete many code constructs to syntactically correct ones. The simplest sample is a missing semicolon, but it’s actually much more!
  • With Complete Statement, CLion inserts parentheses, braces, semicolons, quotes, etc. for you where necessary, and then moves the caret in position where you can start typing the next statement automatically. Time savings are guaranteed.
  • CMake changes:
  • Starting from this build user symbols in CMake (like functions or macros) are available in code completion, as well as in the go to declaration/definition navigation actions. Quick definition pop-up is now also able to show definitions for user symbols. To invoke it, simply press Shift+Ctrl+I on Linux/Windows, or ⌘Y on OS X. The definition for the symbol at caret will be displayed
  • Doxygen support:
  • Starting from this EAP build CLion makes it easier to keep your code properly documented with support for the widely-known documentation format, Doxygen. You can now view the documentation parsed from your Doxygen-styled comments in the Quick Documentation pop-up
  • Besides, CLion will help you rename function parameters, by updating Doxygen comments automatically. It also provides code completion for a set of Doxygen commands and parameters names, and even code generation for the function documentation in Doxygen style.
  • Swift plugin:
  • Have you already tried Swift plugin in CLion? Since we’re seeing growing interest in the community, we continue putting our efforts into it. Thanks to our AppCode team, Swift 2.2 language support comes today to both AppCode 2016.1.3 EAP and CLion’s Swift plugin. You can check the details in the corresponding post in the AppCode blog or see the list of fixed child issues.
  • VCS improvements:
  • To make navigation through the VCS log easier, we’ve added tooltips with target commit information for arrows
  • If you’ve created several new files and didn’t add them to the version control, the commit dialog will show these files so you won’t forget to add them
  • Several improvements were made for patches:
  • You can apply patch from the clipboard (the IDE will offer to apply the patch when it obtains focus). Alternatively, drag a file into the IDE.
  • If a file has been moved or renamed since a patch was created for it, the IDE will try to figure that out or let you manually choose the file to apply the patch to
  • Other improvements:
  • In debugger tool window, the Watches and Variables modes are now merged so you don’t need to switch between them. If you still prefer the old style, a new button is available in the watches toolbar to switch between the modes (new mode is on by default)
  • Following our custom JRE on Linux and OS X, our Windows builds are using a customized build of JDK now, which mostly includes font-rendering and focus fixes. (Just in case, build with the Oracle JRE is still available for the download.)
  • IdeaVim upd:
  • In case you’d like to use IdeaVim plugin with CLion 2016.2 EAP build, please, note that IdeaVim 0.44 is not compatible with 2016.2 EAP – install IdeaVim EAP instead.

New in CLion 2016.1.2 Build 145.971.24 (May 17, 2016)

  • Running:
  • Usability Problem - CPP-2471 - Console program output should honor ANSI color ESC sequences
  • Bug - CPP-6354 - Missing stdout output in "Run"
  • Build:
  • Bug - CPP-6325 - No linker error output in the message tool window
  • Code: Documentation:
  • Bug - CPP-5926 - Quick docs shows broken link for using declaration
  • Code: Parsing:
  • Bug - CPP-4391 - Error in for loop when variable is called 'in'
  • CSS - Exception:
  • IDEA-154246 - Throwable at com.intellij.psi.css.impl.stubs.index.CssIndexUtil.processKeysInScope
  • Editor. Editing Text:
  • Bug - IDEA-154189 - cannot create new live template
  • Editor. Intention Actions:
  • Bug - IDEA-153614 - Flip ',' (comma) generates invalid code
  • Find, Replace, Find Usages:
  • Bug - IDEA-154525 - "Find in path"-Action // Previous searches popdown conflicts with live preview
  • Bug - IDEA-154342 - Find Usages: Editor preview should not animate scrolling to the selected line for newly opened file
  • Bug - IDEA-151531 - Amount of matches reported in search bar doesn't correspond to reality
  • User Interface:
  • Bug - IDEA-153753 - Find by mouse shortcut does not work with mouse button 4/5
  • Bug - IDEA-153630 - GDB console is blinking and adding and deleting scroll bar
  • IDE Configuration:
  • Bug - IDEA-152606 - IDEA fails on startup if one of plugins required for ruby or python plugin cannot be loaded

New in CLion 2016.1.2 Build 145.970.11 RC (Apr 27, 2016)

  • Most important issues addressed in this build are related to the console output in CLion:
  • CLion sometimes failed to show the linker error output in the message tool window (CPP-6325). The problem is fixed now.
  • Please, don’t forget to revert run.processes.with.pty setting in the register, in case you were using this workaround to avoid the problem.
  • There is a related problem with missing stdout output (CPP-6354) fixed in this build.
  • Console output in CLion now supports ANSI color ESC sequences (please, mind that under the MinGW some issues are still present – we do hope to address them later).
  • Fixed issues:
  • CPP-6325 — No linker error output in the message tool window
  • CPP-4391 — Error in for loop when variable is called 'in'
  • CPP-2471 — Console program output should honor ANSI color ESC sequences
  • CPP-6354 — Missing stdout output in "Run"
  • CPP-5926 — Quick docs shows broken link for using declaration

New in CLion 2016.1.1 Build 145.597 (Mar 31, 2016)

  • This update brings lots of fixes and improvements including:
  • Fixed false positive for Google Test EXPECT_TRUE/FALSE macros.
  • Fixed redundant '::’ in auto-completion.
  • Bundled CMake 3.5.

New in CLion 2016.1 Build 145.258 (Mar 17, 2016)

  • Better language support and new dev tools:
  • variadic templates (C++11) support
  • auto-import for STL symbols
  • attach to local process
  • plugins for Python and Swift
  • In case you have multiple working trees per a single repository, you can now work with them in CLion and find the updated look and feel Git Log tool window.
  • Checkout with Rebase git action appeared in this version and could be helpful in case you want to rebase a feature branch on master.
  • If using Mercurial, now you can compare file revisions between branches.
  • C++ LANGUAGE SUPPORT:
  • Variadic templates:
  • C++ parser in CLion 2016.1 finally supports variadic templates. This also brings lots of related fixes for code resolve and analysis, as well as makes it possible to handle correctly Qt C++11 connect calls usages.
  • Auto-import:
  • The auto-import functionality for STL symbols has undergone a massive overhaul. Symbol completion and import quick-fix now generate correct STL imports.
  • Quick documentation improvements:
  • Quick Documentation F1 popup now provides extra details covering lambda expressions, namespace aliases and explicit instantiation, as well as links to the referenced types.
  • CODE GENERATION:
  • Generate definitions:
  • In case you have a function declaration, you can generate definition quickly with a new action - generate definitions ⇧⌘D. Choose destination for the newly created definition or generate in-place if invoked inside the class.
  • Corresponding action is also available via intention actions list.
  • Generate in-place:
  • Override/Implement now generates code in the place where the caret is positioned, asking for destination in case of multiple choices. That means if you want the function to be generated in a header file - locate the caret in that class in your header file, and if you want it in the source file - execute action there.
  • MORE LANGUAGES, MORE POWER:
  • Python:
  • For your mixed Python/C/C++ projects, CLion 2016.1 brings intelligent Python assistance, a Python console, and debugging and testing tools.
  • Swift:
  • Make CLion your Swift IDE on Linux, now made possible with Swift support plugin. Smart coding assistance with refactoring and code generation, and even debugging are included.
  • RTL language support:
  • Right-to-left languages (Arabic and Hebrew) are now supported in the editor.
  • FILES & DIRECTORIES UNDER YOUR CONTROL:
  • Mark directory as:
  • Independently from the CMake project structure, mark directories manually as libraries, project sources and headers or excluded directories. This will affect indexing along with code generation, refactorings, and more.
  • Remote Host Access:
  • With the new bundled plugin in CLion, synchronize your sources with the remote host by FTP, FTPS, or SFTP whenever needed.
  • UNIT TESTING:
  • CLion 2016.1 automatically creates a Google Test configuration if your CMake target is linked with gtest. This makes using built-in test runner much easier.
  • DEBUG:
  • Attach to local process:
  • Use the power of CLion’s built-in debugger UI to debug processes running on the same machine as CLion, by attaching to them based on their pid or process name.
  • CMAKE:
  • Reset CMake Cache:
  • New CMake action ‘Reset Cache and Reload Project’ allows you to clear the CMake Cache without dropping all of IDE indexes and caches.
  • VCS:
  • By-word diff:
  • By-word difference highlighting makes diff viewing easier and clearer.
  • OTHER IMPROVEMENTS:
  • Edit custom properties/VM options at no additional cost: just select Help | Edit Custom Properties... or Edit Custom VM Options… CLion will automatically suggest the appropriate files to be created.
  • CLion 2016.1 includes a long list of fixes and improvements in the bundled YAML support plugin.
  • CLion (together with other IntelliJ-based IDEs by JetBrains) has migrated to Java 8 as the target platform. Read who will benefit from it and how.
  • Following our custom bundled JDK on OS X, CLion 2016.1 includes custom bundled JDK on Linux, fixing font rendering issues there. Those who still prefer launching with other Java distributions, can invoke Find Action (⇧⌘A) and type Switch IDE boot JDK there.

New in CLion 2016.1 Build 145.256.37 RC (Mar 10, 2016)

  • HIGHLIGHTS:
  • Incorrect code generation when using iter live template (CPP-5987).
  • False “local variable assigned but never accessed” warning when using Google Tests (CPP-1012).
  • Code analysis failure when std::string and const char[] are concatenated (CPP-4681).
  • Another change affects our Swift plugin. Now you don’t need to download a separate .jar file – install the plugin from our repository instead.
  • CHANGELOG:
  • Code: Generation:
  • Bug CPP-5987: 'iter' live template generates invalid/inefficient code
  • Cosmetics: CPP-5996: Wording: generate definitions "in-place", not "inplace"
  • Code: Highlighting and Inspections:
  • Bug CPP-4681: Code analysis fails on concatinating std::string and const char[]
  • Bug: CPP-1012: Bogus "local variable assigned but never accessed" warning in google tests
  • Project Model:
  • Bug CPP-5603: Delay project reload when completion window is shown in the editor
  • Bug: CPP-6041: 'No such file or directory' on Invalidate caches action
  • Running:
  • Feature CPP-5836: Enable console path filter for the application output
  • Unit Testing: Google Test:
  • Bug CPP-5988: Run Configuration: Completion and resolve for Google Test suite names often work incorrectly
  • User Interface:
  • Usability CPP-6005: Add Go plugin to the Welcome screen
  • Packaging and Installation:
  • Bug IDEA-151997: Windows uninstaller should proceed to file deletion only if no IDE instances running
  • Task Management:
  • Bug IDEA-136499: "Open Task" command and GitLab issues: uses internal (DB global) issue id instead of issue number (project local)
  • Version Control. Log:
  • Usability IDEA-152442: "Go To Hash/Branch/Tag" button is missing
  • Version Control. Mercurial:
  • Performance IDEA-152392: Freezes when hg has many roots (JDK project)
  • Version Control. Subversion:
  • Bug IDEA-146178: Subversion fails during check of file by invalid path

New in CLion 1.5 Build 145.184.4 EAP (Mar 2, 2016)

  • Quick Documentation pop-up now includes links to the referenced types (works now for classes, structures, enums and unions). That means you can now follow hyperlinks to view related documentation. Back() keys are available for easier navigation. And you can also change the font size for better readability.
  • Besides, a very annoying bug with Move, Pull Members Up, Push Members Down refactorings was fixed. These refactorings were previously not available in case class was not declared in the header file. Now this unnecessary limitation is removed.
  • Quick Documentation pop-up now became more useful showing declaration modifiers, that were omitted before. You can find there:
  • function specifier (inline, virtual, explicit, final)
  • constexpr specifier (constexpr)
  • storage class specifier (register, static, thread_local, extern, mutable)
  • cv qualifier (const, volatile, mutable)
  • typedef
  • typename
  • There are also a list of bug fixes for Quick Documentation pop-up:
  • Incorrect representation of anonymous enum (CPP-5712).
  • Incorrect representation of template union (CPP-5833).
  • Quick documentation didn't show class for an implemented class method (CPP-5846).

New in CLion 1.5 Build 144.3891.18 EAP (Feb 11, 2016)

  • Debugger:
  • CPP-5661: When debugger reports an error during evaluation or variable collection, it should be reported in UI
  • Running:
  • Bug: CPP-5453: 'Include parent environment' option in Run Configurations should be 'on' by default
  • Bug: CPP-5535: Mysql connection
  • User Interface:
  • CPP-5751: Remove default keyboard shortcut for Run | Clean
  • Diff_Merge:
  • Bug: IDEA-150929: Command line "idea.sh diff" does not work if idea is not running
  • Editor. Editing Text:
  • Feature: IDEA-145479: Live Templates: reverse of underscoresTo*() functions
  • Bug: IDEA-151182: AWT freeze after git pull
  • File System:
  • Bug: IDEA-151222: In JDK9 b103 project standard class names are not resolved
  • Bug: IDEA-151155: Standalone inspections fails on Windows
  • Find, Replace, Find Usages:
  • Bug: IDEA-140074: Find in Path not working in jar file paths - Directory scope not working as before
  • HTML:
  • Bug: IDEA-151185: Thymeleaf namespace declaration not recognised in script tag
  • Terminal:
  • Bug: IDEA-143004: Full-width character is not displayed correctly in SSH terminal.
  • Bug: IDEA-113214: Alt+Backspace, Ctrl+Right and Ctrl+Left don't work in Terminal
  • Bug: IDEA-128332: Embedded terminal window character encoding problems
  • User Interface:
  • Feature: IDEA-69424: Ubuntu global menu integration
  • Bug: IDEA-151325: LayeredIcon is scaled wrong in editor gutter
  • Bug: IDEA-151303: Unneeded inner tab border
  • Version Control:
  • IDEA-117462: History For Selection: no issue links in message/details panel
  • Version Control. Git:
  • Bug: IDEA-151317: Square brackets in file name cause problems with git
  • Bug: IDEA-98992: Problem with GIT 1.8.0.3, Translated Messages
  • Usability: IDEA-111929: Make temp dir customizable if the default one is mounted as nonexec
  • Version Control. Log:
  • IDEA-142375: Mousewheel scrolling in Git commit details pane is slow
  • Version Control. Mercurial
  • Bug: IDEA-130621: HG problems with different locales, Translated Messages.
  • Version Control. Perforce:
  • Cosmetics IDEA-148401: Perforce: EditJobs dialog looks bad in case of multiple connections

New in CLion 1.5 Build 144.3600.8 EAP (Feb 3, 2016)

  • Formatting:
  • Enhanced formatting appeared for the case when lambdas are used as function call arguments. Now with “Chop down if long” and a new line for parentheses enabled formatted code looks much better (CPP-4648).
  • CMake:
  • Several problems with completion during Auto-Reload were addressed by delaying reload process for another second when completion window is shown (CPP-5603).
  • VCS:
  • Git: Now it’s possible to manage multiple worktrees attached to the same repository, allowing you to check out more than one branch at a time.
  • Release notes:
  • No subsystem:
  • Task: CPP-5698: Enable 'Switch boot JDK' action on Linux
  • Code: Formatting:
  • Bug: CPP-4648: Ugly lambda formatting when wrapping functions
  • Bug: CPP-5711: Questionable pluralisation of the word "Enum"
  • Debugger: GDB:
  • Bug: CPP-5066: Debugger communication problems (like invalid GDB responses) are not correctly handled, session just hangs with 'Command timed out'
  • Parsing:
  • Bug: CPP-5696: NullPointerException while typing namespace alias
  • Project Model:
  • Bug: CPP-5603: Delay project reload when completion window is shown in the editor
  • No subsystem:
  • Feature: IDEA-147176: Create "lowercaseAndDash" function for live templates
  • Feature: IDEA-135255: new Predefined Function "dashesToCamelCase()" to Use in Live Template Variables:
  • Feature: IDEA-145973: Same-named template macros for different languages
  • Bug: IDEA-148696: Contextual menu won't close
  • Bug: IDEA-95941: Commit message Ctrl+Space completion of class name - stops working for the second line of the message
  • Usability: issue with multiple block carets
  • Cosmetics: IDEA-150957: Gutter grows abnormally when increasing line spacing in editor font settings
  • Diff_Merge:
  • Feature: IDEA-16394: Option to turn off inspections in diff window
  • Editor. Code Completion:
  • Bug: IDEA-113393: Live Template variable skipped when its default value contains a dash
  • Editor. Editing Text:
  • Bug: IDEA-150819: Keymap - multiple identical shortcuts for the same action
  • Bug: IDEA-150132: When selecting and dragging text to "watches" most of the time the editor will start scrolling down and marking the whole text automatically.
  • Bug: IDEA-151013: "Move statements right and left" works unreliably in XSLT
  • Performance: IDEA-150848: Editor leak in AccessibleEditorComponentImpl
  • Usability: IDEA-150389: Remove the term "Platform" from the UI
  • Editor. Intention Actions:
  • Feature: IDEA-150587: Ability to click on links from inspections above the Editor using keyboard
  • Find, Replace, Find Usages:
  • Bug: IDEA-149094: Show usages popup speed search issues
  • IDE Configuration:
  • Bug: IDEA-130605: Import Settings: "Select Components to Import" dialog has some unreadable items
  • Bug: IDEA-150830: Edit Custom VM Options propose to create idea64.vmoptions file instead of idea.vmoptions on OSX
  • Bug: IDEA-134815: File templates: can't create templates from file without extension
  • Cosmetics: IDEA-148604: White box in Keyboard Shortcut dialog in Preferences | Keymap
  • Exception: IDEA-148289: NPE at com.intellij.ide.passwordSafe.config.PasswordSafeConfigurable.isModified
  • Project Configuration:
  • Bug: IDEA-151029: Project Structure: "Invalid item in the dependencies list" tooltip has < > html entities instead of < >
  • Project View:
  • Bug: IDEA-151067: Project view forces slow single threaded file scanning
  • Bug: IDEA-143457: Project View presentation of a module looses bold font face when there is an error inside
  • Refactoring:
  • Bug: IDEA-150775: Deleting any file, IDEA wants to check out every file in project
  • User Interface:
  • Usability: IDEA-148456: Regression: Remote SSH External Tools no longer appearing in Action dialog after upgrade to IntelliJ 15
  • Version Control:
  • Feature: IDEA-119269: Git: Show history by selection - no way to copy the commit hash
  • Feature: IDEA-89348: "Show history for selection" dialog: lack of "Show All Affected Paths" action
  • Exception: IDEA-148175: Exception when reverting a commit from VCS history
  • Version Control. Git:
  • Feature: IDEA-143404: Support git worktree feature
  • Version Control. Mercurial:
  • Bug: IDEA-150091: Can not disable the plugin hg4idea
  • Version Control. Perforce:
  • Cosmetics: IDEA-148401: Perforce: EditJobs dialog looks bad in case of multiple connections
  • XML:
  • Feature: IDEA-150753: Make 'Collapse empty tag' quick fix available for tags with whitespace contents
  • DB.Refactoring:
  • Bug: DBE-2299: Drag and drop text magically pastes clipboard and makes Ctrl+Z throw a popup
  • No subsystem:
  • Bug: WEB-20052: Emmet: abbreviations with multiplication are not expanded in JSX context
  • Bug: WEB-14867: Extra space added to jQuery statements
  • Exception: WEB-20107: Code inspection not working in latest EAP
  • CSS:
  • Feature: WEB-20101: Support file structure for inline styles
  • Debugger:
  • Bug: WEB-20141: Freezing, StackOverflow and many other errors when run JS debugger
  • JavaScript:
  • Feature: WEB-20003: Auto Completion for ES6 String Interpolation Doesn't Work
  • Bug: WEB-20038: E4X path navigation expressions that use namespace qualification are incorrectly flagged as not supported
  • Bug: WEB-19500: JSDoc: Erroneous message "Returned expression type ... is not assignable to type ...."
  • Bug: WEB-19280: JSDoc inline types: Problem with ES 2015 arrow functions with one parameter and no parenthesis syntax
  • Bug: WEB-20094: JSX: incorrect 'unused import warning' if component binding is unresolved
  • JavaScript. Frameworks:
  • Bug: WEB-19589: React: Refactor - Rename of component doesn't work properly with default exports
  • JavaScript. Refactoring:
  • Bug: WEB-20035: Inline doesn't work on class methods
  • Bug: WEB-19994: NullPointerException when try to extract field from decorators
  • SASS:
  • Bug: WEB-20100: Inline sass: problem with @import
  • Bug: WEB-20070: Inline SCSS: quick-fix 'Expand css shorthand property' enter extra spaces
  • Bug: WEB-20068: Inline scss: problem with @charset
  • Bug: WEB-20069: Inline scss: missing highlighting for some keywords
  • TypeScript:
  • Feature: WEB-20095: Update typescript compiler to 1.8.0beta
  • Bug: WEB-19222: no content awar move down/up in TypeScript

New in CLion 1.5 Build 144.3357.5 EAP (Jan 28, 2016)

  • CMake:
  • CMake 3.4.2 is bundled.
  • In case you exit the IDE during the project reloading, CMake process started by CLion will be killed.
  • Debugger:
  • A long list of exceptions thrown while using GDB in CLion were fixed, and thus we encourage you to try the build and check if it now works better for you.
  • VCS:
  • Checkout with Rebase git action appeared in this build and could be helpful in case you want to rebase a feature branch on master. Previously you had to perform ‘checkout feature’ and then ‘rebase master’. New action is available in the branch menu.
  • A couple of bugs and usability problems in Git integration were also addressed in this EAP.

New in CLion 1.5 Build 144.3143.4 EAP (Jan 21, 2016)

  • Highlights:
  • Attach to local process during debug is available.
  • Python support added with bundled PyCharm Community Edition plugin.
  • Reset Cache and Reload Project action to clear CMake cache.
  • YAML support improvements
  • Fixed Java crash on OS X
  • Support for RTL languages (Arabic, Hebrew) in the editor;
  • By-word difference highlighting that makes merging with Git and other VCS way more easier.
  • Possibility to compare revisions of a file between branches for Mercurial (it was previously possible only within a single branch).
  • No subsystem:
  • Feature: CPP-434: Support Python plugin
  • Cosmetics: CPP-5564: Misprints in error message while debug with swift lldb on Linux
  • Code: Documentation:
  • Bug: CPP-5411: Quick docs doesn't display initialisation values for some STL cases
  • Bug: CPP-5392: QuickDocumentation: lambda expression
  • Usability: CPP-682: Quick doc for namespace alias
  • Code: Refactorings:
  • Bug: CPP-4172: Deletion of *.m from file types association causes the exception during rename refactoring
  • Bug: CPP-5537: Mathematica plugin interfere CLion refactorings
  • Debugger:
  • Feature: CPP-1001: Attach to existing local process
  • Bug: CPP-5571:
  • Exception: when detach some processes
  • Debugger: GDB:
  • Bug: CPP-5516: EA-74765: GDBCE: GDBDriver.throwGDBError: Cannot execute async command: No symbol "null" in current context.
  • Debugger: LLDB: Usability: CPP-5520: Debugger:LLDB: slow response on 'stop'
  • Project Model:
  • Feature: CPP-1715: Command to clear the CMake cache (Reset Cache and Reload Project)
  • Bug: CPP-5532: EA-76956 - NPE: CMakeWorkspace.a
  • Diff_Merge: Usability: IDEA-137936: New diff shows less code than before
  • Editor. Editing Text:
  • Feature: IDEA-103995: Auto import methods on the fly
  • Bug: IDEA-76883: The yml file has more code folding outline, and it position is error. (Have picture)
  • Bug: IDEA-110029: documentation window disappears immediately
  • Bug: IDEA-149995: Folded code foreground not inherited from default text
  • Bug: IDEA-64896: Enter Handler doesn't generate JavaDoc in specific case
  • Bug: IDEA-150296: java.lang.IllegalArgumentException: line must be non negative: -1
  • Bug: IDEA-150074: Java Imports get viewed wrong when adding new ones
  • Usability: IDEA-87318: Backspace should delete whitespace to chosen indent level, or be configurable
  • Usability: IDEA-149632: Display editor notification for library class sources that don't match bytecode
  • Find, Replace, Find Usages:
  • Bug: IDEA-68160: Find & Replace: preserve case bug
  • Usability: IDEA-80778: Folding - provide an option to NOT automatically unfold when user performs Find.
  • User Interface:
  • Bug: IDEA-150547: some labels are not accessible by mouse
  • Bug: IDEA-149818: Smart Step Into (Shift+F7) context menu focus does not between windows
  • Usability: IDEA-149852: White spaces shown in Editor are hardly noticible on HiDPI monitor
  • Cosmetics: IDEA-149918: Find Action shows strange "New Group (1)" action group
  • Version Control:
  • Feature: IDEA-149782: Files Merged with Conflicts dialog should sort files by click to the table headers
  • Bug: IDEA-149784: Files Merged with Conflicts dialog does not allow type-to-search in table
  • Usability: IDEA-150357: Add mnemonic to "remove successfully applied files from the shelf" checkbox in unshelve dialog
  • Version Control. Log:
  • Performance: IDEA-118190: VCS Log: Select All in a large repository freezes the UI forever
  • Version Control. Perforce:
  • Bug: IDEA-149870: NPE when clicking Refresh in Repository tab of Version Control panel when using Perforce server
  • YAML:
  • Feature: RUBY-14688: Support folded scalars as value of property key
  • Feature: RUBY-10802: YAML handle spaces as tabs
  • Performance problem: RUBY-16424: RubyMine is freezing when edit big yaml file
  • Bug: RUBY-15797: YAML single quote inside double quote highlighted incorrectly
  • Bug: RUBY-15402: Yaml: Error with colon inside YamlKey
  • Bug: RUBY-15362: YAMLKeyValue with YAMLScalarList - StringIndexOutOfBoundsException
  • Bug: RUBY-15345: Invalid YAMLCompoundValue
  • Bug: RUBY-15341: I18n support cannot find multiline string in YAML locale file
  • Bug: RUBY-15044: YAML parser doesn't handle block scalars and node aliases properly
  • Bug: RUBY-14738: Yaml: Remove special "?" psielement

New in CLion 1.5 Build 144.2608.6 EAP (Dec 30, 2015)

  • QUICK DOCUMENTATION IN C++ CODE:
  • Quick Documentation popup (available via Ctrl+Q on Linux/Windows, F1 on OS X) provides documentation for the selected class, function, variable, parameter, or macro.
  • This EAP also addresses a couple of problems with quick documentation, like for example internal error while fetching documentation for anonymous class/struct/enum.
  • Now it also shows:
  • Quick documentation for lambda expression (please, mind this problem left CPP-5491).
  • Quick documentation for namespace aliases:
  • namespace_quick_doc
  • Quick documentation for explicit instantiation.
  • SWIFT PLUGIN UPDATE:
  • We’ve announced Swift support plugin for CLion in the first 1.5 EAP build, and now we can say that approximately 200 people got interested and downloaded it to try. That’s great! And we are happy to continue.
  • Since the plugin is only compatible with the fixed CLion EAP version, you’ll see this notification in the event log.
  • That means you need to download and install the new plugin version. We’ll consider some more convenient way to update in case your interest to the plugin stays the same.
  • JAVA RUNTIME ENVIRONMENT USED WITH CLION:
  • IntelliJ platform migrates to Java 8 as a target platform. This means two things in practice:
  • CLion won’t start under JDK versions older than 8. In general it shouldn’t be a problem for you, since on all the platforms CLion runs with the proper bundled JDK version. However, check you app settings/running scripts if you’ve made any kind of customizations.
  • NB: OS X users might also face a problem in case they have previous version (that’s unsupported) saved in settings (for example, in case you switched via Switch IDE boot JDK… action). The error about the unsupported Java version will be shown to you in this case and the IDE won’t start. To fix the problem simply delete ~/Library/Preferences/CLion15/clion.jdk file. In future versions we’ll try to handle this situation automatically (IDEA-149618).
  • Plugin writers will be able to use Java 8 features in their plugins.
  • The bug fix updates for stable CLion 1.2 will remain compatible with Java 6.
  • CHANGELOG:
  • Code Documentation:
  • Bug: CPP-5392: Quick Documentation: lambda expression
  • Bug: CPP-5309: Quick Documentation should not show 'parameter' for function parameters
  • Bug: CPP-5282: Quick Documentation for explicit instantiation
  • Bug: CPP-5252: Quick Documentation shows internal error for anonymous class/struct/enum
  • Usability: CPP-682: Quick Documentation for namespace alias
  • Editor. Editing Text:
  • Usability: IDEA-149712: Various errors in widen-selection (ctrl-w)
  • Task: IDEA-149785: Add an option in editor settings to disable adding carets on double-Ctrl+arrows
  • User Interface:
  • Cosmetics: IDEA-113878: "Compare by" combobox`s selected icon have invalid margins in "Sync with deployed" dialog
  • Version Control:
  • Feature: IDEA-55508: Need an ability to see file history from repository for file which is now deleted
  • Cosmetics: IDEA-149151: Cannot move focus through "Unshelve..." dialog by TAB
  • Cosmetics: IDEA-149652: Context menu options for Show/Hide Already Unshelved make no sense

New in CLion 1.2.4 Build 143.1186 (Dec 29, 2015)

  • Fixed some problems with symbols that may cause incorrect work of refactorings, intention actions, inspections and other smart features in the previous builds (1.2.2 and 1.2.3).

New in CLion 1.2.3 Build 143.1185 (Dec 23, 2015)

  • This build addresses a problem with the frozen Move directory/file dialog on OS X platform. We’ve got several reports in our tracker (CPP-5215, CPP-5357) and a lot of similar reports all over the IntelliJ platform (IDEA-146691).

New in CLion 1.5 Build 144.2151.8 EAP (Dec 16, 2015)

  • 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).
  • 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.
  • Fixed issues:
  • CPP-5320 — C++ support breaks other languages' change signature refactoring
  • CPP-1494 — Change signature doesn't work with unnamed parameters
  • CPP-3728 — Change signature refactoring breaks prototype if it contains unnamed parameters
  • CPP-5316 — Change signature: CLion keeps parameter name for "void"
  • CPP-5210 — Spell checker does not recognise common programming jargon
  • CPP-4665 — Add Deployment section to Build, Execution, Deployment in CLion
  • CPP-5188 — Add new CMake 3.4 variable to Code Completion
  • CPP-4184 — Generate multiple '}' on enter for code with several '{' in one line
  • CPP-5085 — Memory leak in GDB/LLDB console
  • CPP-4468 — use override keyword when using action "Implement methods"
  • CPP-5187 — Automatically add semicolon after class/struct when enter/complete statement pressed
  • CPP-4443 — Add 'Mark Directory As' action to control source, library, and exclude folders
  • CPP-4200 — dependent target paths incorrectly marked as include_directories in complicated scenarios
  • CPP-5011 — Auto-generated folders for CMake files should include project name
  • CPP-4916 — Console application target that runs Google Tests need to be recognized as Google Tests target
  • CPP-4839 — Bundle CMake 3.4
  • CPP-4975 — Bundle CoffeeScript plugin in CLion
  • CPP-4976 — Bundle Stylus plugin in CLion
  • CPP-5326 — Initial version of Swift plugin for CLon

New in CLion 1.2.2 Build 143.1184 (Dec 10, 2015)

  • Search Everywhere:
  • Search Everywhere is now more powerful. In addition to IDE settings and actions, you can find C and C++ project symbols there as well.
  • CMake:
  • We’ve added the latest CMake 3.4 to the list of supported versions.
  • Fixed the problem when build output directory was set to “.” and the problem with project dir, content dir or build output path saved in a platform-dependent way.
  • In addition to the new CMake formatter option for forcing upper/lower case for CMake commands introduced in CLion 1.2, this update brings ‘Align when multiline’ setting to take control over several arguments alignment for multiline cases.
  • Debugger performance:
  • We’ve implemented more debugger performance optimizations for working with the GDB backend, especially the rendering of huge C arrays and STL collections. This update also includes a fix for a timeout that was happening during the ‘set value debugger’ operation.
  • And more:
  • Google Test configurations can now be correctly inherited from the template configuration.
  • A number of fixes for C++ language support, including code generation fixes and more.
  • FIXED ISSUES:
  • Code: Completion:
  • Usability: CPP-5137: Disable name qualifier correction for types with overloaded operator->()
  • Task: CPP-5056: Add statistics for auto-fixing qualifying token in completion
  • Code: Documentation:
  • Bug: CPP-4554: Structs defined in inline typedefs do not correctly show up in quick definition.
  • Usability: CPP-3687: Quick documentation should include template parameters for classes
  • Code: Editing:
  • Bug: CPP-4644: IDE freezes when editing expression with template functions and fluent interface
  • Code: Formatting:
  • Feature: CPP-4532: Support 'Align when multiline' option in CMake formatter
  • Cosmetics: CPP-4824: Inconsistent order of settings in Code Style | CMake | Spaces
  • Code: Generation:
  • Bug: CPP-4922: Missing constexpr after implementing function
  • Bug: CPP-4920: Surround With action for {0} initializer causes internal IDE error
  • Bug: CPP-4676: Override Functions... command generates invalid code for functions with nameless parameters
  • Bug: CPP-4469: suggest name when implementing function with unnamed arg
  • Bug: CPP-1193: Implement fuction with void argument generates invalid code func(void v)
  • Code: Highlighting and Inspections:
  • Bug: CPP-4938: false positive: value escapes local scope for automatic static variable
  • Bug: CPP-4962: Length of UTF8 encoded char literal is incorrectly deduced when assigning to array variable
  • Bug: CPP-225: Typo hint appears twice
  • Bug: CPP-4947: Spellchecker not working in literals
  • Code: Parsing:
  • Bug: CPP-5001: Macro Expansion: 'Expression Expected' In Conditional Expressions
  • Bug: CPP-5119: Includes are not resolved with case-sensitive file systems
  • Bug: CPP-4972: gcc attribute after constructor signature with member initializer list incorrectly generates a syntax error.
  • Bug: CPP-5013: Macros from inlined headers are substituted to empty strings if referencing other macros
  • Bug: CPP-4789: __has_attribute(...) macro is always false
  • Code: Resolving:
  • Bug: CPP-3179: CLion can't switch between declaration of function "int fun(void)" and "int fun()"
  • Bug: CPP-1389: implementation for function without parameters not recognized when parameter list contains void
  • Debugger: GDB:
  • Bug: CPP-4903: GDB produces invalid MI response on "set value" command
  • Performance: CPP-4822: Optimise working with maps
  • Project Model:
  • Bug: CPP-5049: Project breaks because the build output directory is "."
  • Bug: CPP-3793: Project files are saved with Windows-paths, causing 'CMakeLists.txt not found' when opening on another computer/OS
  • Bug: CPP-4448: CLion doesn't see system headers when LC_MESSAGES is not en_US.utf-8
  • Bug: CPP-5079: CLion doesn't recognize include_directories when using CMake 3.4
  • Project View:
  • Performance: CPP-4768: IDE freezes with large code base
  • Project and File Wizards:
  • Usability: CPP-4846: New C/C++ Source File: Create associated header checkbox should be disabled by default
  • Bug: CPP-5284: Create New Class in place quick fix is broken, NPE
  • Unit Testing:
  • Bug: CPP-4832: New Unit Test configuration does not inherit the executable target and configuration from Unit Test configuration template
  • Unit Testing: Google Test:
  • Bug: CPP-4750: Exception when select GoogleTest in Run Configuration when target is not selected
  • CSS:
  • Bug: IDEA-146227: Using "Comment with Line Comment" in a JavaFX CSS file may create a problematic comment section
  • Diff_Merge:
  • Bug: IDEA-140545: Escape closes the diff window
  • Bug: IDEA-145925: "Go to changed file" popup (in Show Diff window) do not remember size change
  • Bug: IDEA-146222: "Compare file with editor" compares with wrong editor if multiple windows are open
  • Usability: IDEA-148597: If in the Commit dialog the Details pane has focus, Show Diff action doesn't allow to navigate between files in changelist
  • Usability: IDEA-147533: Behavior of Next Difference action in three-way merge window regressed from version 14.x
  • Editor. Editing Text:
  • Bug: IDEA-145940: Selecting RegEx for Find/Replace forces Words checkbox selection and disables it. Making regex match only whole words.
  • Bug: IDEA-145788: Intellij instance becomes unresponsive very frequently
  • Bug: IDEA-128385: kill to word end deletes past end of line
  • Bug: IDEA-140542: Forward navigation to already navigated items (ctrl + alt + right )) seems to be broken
  • Bug: IDEA-148225: {@code} and {@literal} Javadoc blocks aren't treated literally by Ctrl+Q
  • Bug: IDEA-90072: Faux italics used for some fonts with true italics available
  • Bug: IDEA-146507: Emacs Tab fails to indent highlighted text
  • Bug: IDEA-146182: Selection hangs for plain text file
  • Bug: IDEA-147590: Mac ctrl-k shortcut in multiselect only operates on last cursor
  • Bug: IDEA-145646: Weird undo behavior with 'introduce field' postfix template
  • Performance: IDEA-145521: PsiMultiReference.getRangeInElement shouldn't resolve unless needed
  • Usability: IDEA-145359: Reformat Code does not move horizontal scroll position to 0
  • Exception: IDEA-145972: Cyclic dependency exception in RemoteDesktopDetector class
  • File System:
  • Feature: IDEA-133292: fsnotifier is still 32 bit
  • Bug: IDEA-147814: IntelliJ keep jar file opened even after closing the project window
  • Find, Replace, Find Usages:
  • Bug: IDEA-145793: "Project Files" missing from "Find in path" Custom scopes
  • Bug: IDEA-146663: Typing on the replace field causes search preview to refresh
  • Bug: IDEA-145767: Search hotkey no longer focuses searchbox when searchbox is open
  • Bug: IDEA-147773: New instance creation usage does not detect constructor reference (SomeClass::new)
  • Performance: IDEA-147082: Slow typing in 'Find in Path' dialog caused by 'Preview' panel
  • Usability: IDEA-147570: "Find Next Occurrence" command does not remove extra carets
  • Indices:
  • Bug: IDEA-147970: Cannot run JUnit test, Invalidating cache temporarily fixes
  • Bug: IDEA-145951: Tests not starting
  • Macros:
  • Bug: IDEA-143094: Macros not working - they are in macros.xml but not shown in the menu
  • Packaging and Installation:
  • Bug: IDEA-145547: Exception dialog while applying 14.1.5 patch
  • Bug: IDEA-146469: IDEA with bundled JDK on OS X has incorrect Info.plist settings that prevent dynamic switching between graphics cards
  • Bug: IDEA-140558: "Check for update" only proposes to upgrade using patch when invoked several times
  • Bug: IDEA-130951: IDEA doesn't apply updates when running with the "nosplash" argument.
  • Bug: IDEA-144424: Latest EAP fails to update
  • Bug: IDEA-147197: Don't check properties file for java version
  • Cosmetics: IDEA-86876: Patch size information is misleading
  • Security Problem: IDEA-144421: Virus in new update???
  • Settings Repository:
  • Bug: IDEA-144970: Settings Repository fails to read/merge
  • Task Management:
  • Bug: IDEA-104547: misc.xml gets updated on project opening ( component TaskProjectConfiguration is removed)
  • User Interface:
  • Bug: IDEA-112093: White stripes in Status Bar
  • Bug: IDEA-146049: Do not reuse tab on open from recent files
  • Bug: IDEA-146684: Tool windows are not hidden automatically (non-pinned mode has no effect)
  • Bug: IDEA-146168: Resizing splitted tabs shouldn't start drag
  • Bug: IDEA-125302: The Analyze Stacktrace menu option remembers only one log file across multiple projects
  • Bug: IDEA-147711: Labels in the JUnit Test Discovery run/debug configuration are truncated
  • Bug: IDEA-147091: License: Convert button does not change to OK
  • Bug: IDEA-146786: Strange "alert-icon" location when trying to create a class with a bad name.
  • Bug: IDEA-145845: Mac OS: Default L&F: some of the number pickers have disappeared
  • Bug: IDEA-143450: HiDPI on Win7: IDEA splash screen is truncated with text size set to larger (150%)
  • Bug: IDEA-144184: Hit target for the editor window splitters is too small in WebStorm 11 EAP
  • Bug: IDEA-148145: EditorGutter's extra space appeared
  • Bug: IDEA-138300: Settings dialog doesn't detect changes unless changing focus
  • Bug: IDEA-146007: 'Hiding' actions shouldn't affect 'Windowed' toolwindows
  • Bug: IDEA-146537: Frequent crash or hang on right-click of project explorer menus
  • Bug: IDEA-145827: Icon is 'blinking' for the file being edited
  • Bug: IDEA-146637: Border is off on the tool window's title
  • Bug: IDEA-146980: Buy and Eval buttons disabled after error messages in License server or JBA options
  • Bug: IDEA-148433: OS X default theme: dropdown lists don't look good
  • Bug: IDEA-146188: Menus don't always drop down [Linux, GTK+ L&F]
  • Bug: IDEA-144730: HiDPI broken in 142.4491
  • Bug: IDEA-145776: Mac OS: Default L&F: comboboxes in Androdi-Gradle facet settings look ugly
  • Bug: IDEA-145843: Mac OS: Default L&F: "More Info" icon in "Build Variants" Android tool window looks bad
  • Bug: IDEA-137697: Sometimes editor starts scrolling on its own
  • Bug: IDEA-145771: Mac OS: Default L&F: Run/Debug Configurations combobox doesn't fit toolbar's height
  • Usability: IDEA-127938: Branch menu "random" location when launched by keymap
  • Usability: IDEA-143854: IDEA ignores system DPI setting on Windows
  • Usability: IDEA-143977: Test tool window changes orientation only on tests rerun
  • Usability: IDEA-145126: an option to hide 'tool window' buttons
  • Usability: IDEA-146491: Do not handle snapshots on EDT
  • Cosmetics: IDEA-145711: MacOSX: Default L&F: default File Colors (for Test and Non-ProjectFiles scopes - Yellow and Green) are nearly white
  • Cosmetics: IDEA-145688: MacOSX: Default L&F: hidden password looks ugly
  • Cosmetics: IDEA-147045: License dialog: Links 'More info...' and 'Forgot?' become black
  • Exception: IDEA-140574: SearchEverywhere invocation causes exceptions
  • Version Control:
  • Bug: IDEA-142197: "Show directories with changed descendants" does not work
  • Bug: IDEA-148286: Version Control: "select in git log" action from Annotations should be disabled for non-git projects or navigate to revisions lists
  • Bug: IDEA-138583: Version control gets stuck when grouping by client
  • Bug: IDEA-145775: Shelved changes missing pluralization
  • Bug: IDEA-145846: Set active changelist: do not show unnecessary "Select changelist" dialog
  • Performance: IDEA-148148: Repeated freezes while editing text
  • Usability: IDEA-147618: Let add a Keymap shortcut to open the "Local Changes" tab by a single action
  • Usability: IDEA-147655: revert button at top level now reverts ALL files without warning Pycharm 5
  • Usability: IDEA-90988: "Delete local copies of added files" is not available if revert action is called from existing files
  • Version Control. Git:
  • Bug: IDEA-100199: IDEA doesn't detect changes after external soft reset using Git.
  • Bug: IDEA-88893: "Unregistered root" should be detected more precisely: e.g. .git folder may be used as Git settings or hooks collections.
  • Bug: IDEA-144593: git plugin: mismatch between GitRepositoryReader and GitUtil.isGitRoot
  • Bug: IDEA-145083: IntelliJ does not prompt for new password on auth fails
  • Bug: IDEA-146051: Keyboard shortcuts do not work in Clone Repository window
  • Bug: IDEA-145811: [GIT] No information about not commited changes on pull
  • Bug: IDEA-142753: Error updating changes: fatal: '...' is outside repository
  • Performance: IDEA-143358: Project leak (Git authenticator)
  • Usability: IDEA-146142: New "Rebase" feature in the branches menu is not intuitive
  • Usability: IDEA-147758: “Show in Git log” menu item missing in annotate pop-up
  • Exception: IDEA-146133: Exception i Git integration
  • Version Control. Log:
  • Bug: IDEA-147797: Branch popup menu appears only after commit details are loaded.
  • Usability: IDEA-137016: VCS Log: Go to Hash/Branch/Tag action works confusingly together with filter by repository, when there are different refs with the same name in different roots
  • Version Control. Perforce:
  • Bug: IDEA-147943: Perforce Jobs does not function
  • Bug: IDEA-146139: Perforce annotations have some random gaps in them
  • Version Control. Subversion:
  • Bug: IDEA-145355: Subversion: with 'autoupdate after commit' option switched on, LocalChanges view is not refreshed after commit
  • Bug: IDEA-145934: svn commit not working at all

New in CLion 1.2.2 Build 143.1183 RC (Dec 3, 2015)

  • Several important fixes were included into this build:
  • Includes with upper-case letters were not resolved on case-sensitive file systems.
  • ‘Align when multiline’ option was added to CMake formatter settings list. When the option is selected arguments should be aligned one below the other. Otherwise continuation indent is taken into account.
  • Problem with __has_attribute macro that was always false.
  • Code: Completion:
  • Usability CPP-5137 Disable name qualifier correction for types with overloaded operator->()
  • Code: Formatting:
  • Feature CPP-4532 Support 'Align when multiline' option in CMake formatter
  • Cosmetics CPP-4824 Inconsistent order of settings in Code Style | CMake | Spaces
  • Code: Parsing:
  • Bug CPP-4789 __has_attribute(...) macro is always false
  • Bug CPP-5119 Includes are not resolved with case-sensitive file systems
  • Project and File Wizards:
  • Usability CPP-4846 New C/C++ Source File: Create associated header checkbox should be disabled by default
  • Diff_Merge:
  • Usability IDEA-148597 If in the Commit dialog the Details pane has focus, Show Diff action doesn't allow to navigate between files in changelist
  • Settings Repository:
  • Bug IDEA-144970 Settings Repository fails to read/merge
  • Task Management:
  • Bug IDEA-104547 misc.xml gets updated on project opening ( component TaskProjectConfiguration is removed)
  • User Interface:
  • Bug IDEA-148433 OS X default theme: dropdown lists don't look good
  • Bug IDEA-143450 HiDPI on Win7: IDEA splash screen is truncated with text size set to larger (150%)
  • Exception IDEA-140574 SearchEverywhere invocation causes exceptions
  • Version Control. Git:
  • Bug IDEA-100199 IDEA doesn't detect changes after external soft reset using Git.
  • Bug IDEA-144593 git plugin: mismatch between GitRepositoryReader and GitUtil.isGitRoot
  • Bug IDEA-88893 "Unregistered root" should be detected more precisely: e.g. .git folder may be used as Git settings or hooks collections.

New in CLion 1.2.2 Build 143.1015.8 EAP (Nov 26, 2015)

  • CMAKE AND PROJECT MODEL:
  • New build allows you to use the latest CMake 3.4 in CLion. This version is not bundled yet, since the work is still in progress. However, an annoying bug with non-recognized include_directories was fixed in this EAP build (CPP-5079).
  • This build also includes a couple of fixes for the projects with build output directory set to “.” and a problem with project dir, content dir or build output path saved in a platform-dependant way in CLion (and thus causing errors with projects opening on various platforms).
  • CODE GENERATION:
  • A couple of problems with code generation were addressed in this build:
  • Incorrect override/implement for functions with nameless parameters (CPP-4676).
  • Missing constexpr when implementing function (CPP-4922).
  • Substitute name when implementing function with unnamed arg (CPP-4469).
  • SEARCH EVERYWHERE:
  • CLion helps you find anything, be it an item in the source code, user action, or UI element. Invoke search everywhere with Double Shift and start typing what you are looking for. And now it also includes C and C++ project symbols.
  • DEBUGGER:
  • Main enhancement here is optimization made for working with STL maps, that provides better performance experience when debugging with GDB backend.
  • FULL RELEASE NOTES:
  • Code: Documentation:
  • Bug: CPP-4554: Structs defined in inline typedefs do not correctly show up in quick definition.
  • Usability: CPP-3687: Quick documentation should include template parameters for classes
  • Code: Generation:
  • Bug: CPP-4676: Override Functions... command generates invalid code for functions with nameless parameters
  • Bug: CPP-4469: suggest name when implementing function with unnamed arg
  • Bug: CPP-4922: Missing constexpr after implementing function
  • Code: Highlighting and Inspections:
  • Bug: CPP-4962: Length of UTF8 encoded char literal is incorrectly deduced when assigning to array variable
  • Code: Navigation:
  • Feature: CPP-3181: Include C/C++ symbols in Search everywhere
  • Code: Parsing:
  • Bug: CPP-5001: Macro Expansion: 'Expression Expected' In Conditional Expressions
  • Bug: CPP-5013: Macros from inlined headers are substituted to empty strings if referencing other macros
  • Bug: CPP-4972: gcc attribute after constructor signature with member initializer list incorrectly generates a syntax error.
  • Debugger: GDB:
  • Performance: CPP-4822: Optimise working with maps
  • Project Model:
  • Bug: CPP-3793: Project files are saved with Windows-paths, causing 'CMakeLists.txt not found' when opening on another computer/OS
  • Bug: CPP-5079: CLion doesn't recognize include_directories when using CMake 3.4
  • Bug: CPP-5049: Project breaks because the build output directory is "."
  • Editor. Editing Text:
  • Bug: IDEA-140542: Forward navigation to already navigated items (ctrl + alt + right )) seems to be broken
  • Bug: IDEA-147590: Mac ctrl-k shortcut in multiselect only operates on last cursor
  • Bug: IDEA-148225: {@code} and {@literal} Javadoc blocks aren't treated literally by Ctrl+Q
  • Find, Replace, Find Usages:
  • Usability: IDEA-147570: "Find Next Occurrence" command does not remove extra carets
  • User Interface:
  • Bug: IDEA-137697: Sometimes editor starts scrolling on its own
  • Bug: IDEA-148145: EditorGutter's extra space appeared
  • Version Control:
  • Bug: IDEA-148286: Version Control: "select in git log" action from Annotations should be disabled for non-git projects or navigate to revisions lists
  • Bug: IDEA-138583: Version control gets stuck when grouping by client
  • Performance: IDEA-148148: Repeated freezes while editing text
  • Usability: IDEA-147618: Let add a Keymap shortcut to open the "Local Changes" tab by a single action
  • Version Control. Git:
  • Performance: IDEA-143358: Project leak (Git authenticator)
  • Usability: IDEA-147758: “Show in Git log” menu item missing in annotate pop-up
  • Version Control. Subversion:
  • Bug: IDEA-145355: Subversion: with 'autoupdate after commit' option switched on, LocalChanges view is not refreshed after commit
  • Bug: IDEA-145934: svn commit not working at all

New in CLion 1.2.2 Build 143.869.7 EAP (Nov 18, 2015)

  • Debugger:
  • A problem with set value leading to a timeout because of the invalid MI response in GDB.
  • Performance improvement for GDB when working with huge C arrays and STL collections.
  • Language support:
  • Spellchecker not working in literals is now fixed.
  • We’ve also fixed a couple of regressions and false positives happened in code inspections.
  • In parameter info (Ctrl+P on Linux/Windows, Cmd+P on OS X) CLion now shows default params and their values:
  • defaults_param_info
  • The actual type name is now listed in quick documentation popup for type aliases.
  • Google Test support:
  • With the start of Google Test support in CLion 1.2 we now proceed with several fixes and improvements. The most valuable for now is a correct inheritance from the template configuration when creating test configurations.
  • Performance:
  • This EAP build includes a couple of fixes for the IDE freezes on large code bases.
  • There is also a bunch of fixes coming from the IntelliJ platform. See complete release notes at https://confluence.jetbrains.com/display/CLION/CLion+1.2.2+EAP,+build+143.869.7.

New in CLion 1.2.1 Build 143.382 (Nov 11, 2015)

  • This update is focused mostly on platform issues, including a couple of very annoying bugs in the editor, like:
  • “Close Unmodified” also closes pinned tabs (IDEA-146472).
  • Tool windows are not hidden automatically (IDEA-146684).

New in CLion 1.2 Build 143.381 (Nov 3, 2015)

  • CLion continues making everyday tasks easier and more pleasant. CLion 1.2 Public preview brings you Google Test support, a lot of productivity features for CMake, debugger performance improvements, new VCS features and much more.
  • UNIT TESTING:
  • Configuration:
  • When running a single test, fixture or whole file (from the context menu or by pressing ^⇧R), CLion will automatically create a separate Google Test configuration. You can rerun it later, or create and update configurations manually in Run | Edit Configurations... settings.
  • Test runner:
  • Running tests in the IDE gives you a lot of benefits, like a detailed results view with sorting options and an output stream. You can also rerun a single test or all failed tests, see test history, navigate to tests’ source code with ease, and more.
  • Code generation:
  • CLion 1.2 brings code generation in Google Test that can help a lot: generate test, test fixture or SetUp/TearDown Methods with it. When creating tests for fixtures, TEST() macro is automatically converted to the appropriate TEST_F(), TEST_P(), TYPED_TEST(), or TYPED_TEST_P().
  • CMAKE:
  • Create frequently-used or custom code constructs in CMake and reuse them with live templates. Select between predefined templates or create your own.
  • CMake variable completion (together with the command completion introduced earlier) can make you super productive when writing CMake files.
  • It works in set/unset commands or after "${" and can handle both prefix and middle matching.
  • In addition to the CMake code style settings introduced, CLion 1.2 provides the option to force upper/lower case for CMake commands.
  • DEBUGGER:
  • Experience better debugger performance, now possible with the lazy creation of GDB variables and other fixes introduced in CLion 1.2.
  • This version also brings accurate rendering of references and arrays of wide/unicode characters. Read more »
  • LANGUAGE SUPPORT:
  • A lot of improvements have been made on the C++ parser and resolver side.
  • CLion 1.2 correctly infers types for variables declared as auto (you can view this type in Quick Documentation pop-up by pressing F1).
  • As well as it now handles the volatile keyword, supports __LINE__ macros (useful for developing with Unreal Engine 4) and the __thread qualifier.
  • Find Usage and Rename are now working for template parameters. And if there is an unused template parameter, you can simply remove it with a new quick-fix (via ⌥Enter).
  • CODE STYLE:
  • CLion has dozens of settings for code style for C, C++, CMake, JavaScript, XML and more. A new feature introduced in CLion 1.2 called Adjust code style settings helps you change code style options applicable to the selected piece of code only. It is available as a quick-fix (via ⌥Enter).
  • SEARCH AND NAVIGATION:
  • Find in Path is now even more helpful with the preview tab showing the first 100 results in real time. You can now tune the search parameters and find what you need without even leaving the dialog.
  • Besides, regular expressions are now available in the Find and Replace search action.
  • And if you are looking for an easier way to navigate to a matching brace/parenthesis/bracket, in CLion 1.2 use ^M.
  • VCS:
  • Now, if you notice a small issue while looking at a diff in a commit dialog, there's no need to go back to the editor. With CLion 1.2 just unlock the editing mode and start editing in-place.
  • Perforce users can now shelve changes in Perforce from the UI by invoking Shelve in Perforce... You can then browse the corresponding change list and unshelve it anytime you want.
  • Since v1.2 Mercurial Queues users can benefit from a set of features for working with patches: create patches; import local commit as patches; rename, apply, unapply and remove them.
  • Git users can now access Git branch operations related to a particular change right from the context menu in the VCS Log Viewer (including the Rebase action as well as others).
  • LOOK & FEEL:
  • OS X users will be glad to know that the build for this platform now includes a bundled custom JDK with fixes from the JetBrains team (no need to download a separate build any more). To switch between this customized JDK and any other JDK installed on your machine, invoke Find Action (⇧⌘A) and type Switch IDE boot JDK there.
  • CLion 1.2 also updates its default look & feel scheme on OS X (read more ») and adds better HiDPI support on Windows and Linux.
  • People with color blindness are encouraged to try the new Adjust for color deficiency option, where you can choose the form of color blindness (currently only the red-green color deficiency is supported).
  • MORE:
  • Bundled LLDB on OS X is updated to 3.7.
  • Supported Cygwin version is updated to 2.* (from 1.7.32 — 2.0.*).
  • A built-in JavaScript debugger that works in Chrome browser.

New in CLion 1.2 Build 143.380 RC 2 (Oct 29, 2015)

  • Brings you Google Test support, a lot of productivity features for CMake, debugger performance improvements, new VCS features and much more.
  • Unit testing:
  • Since version 1.2 CLion supports Google Test, including unit test configuration, code generation in tests, and a test runner.
  • Configuration:
  • When running a single test, fixture or whole file (from the context menu or by pressing ^⇧R), CLion will automatically create a separate Google Test configuration. You can rerun it later, or create and update configurations manually in Run | Edit Configurations... settings.
  • Test runner:
  • Running tests in the IDE gives you a lot of benefits, like a detailed results view with sorting options and an output stream. You can also rerun a single test or all failed tests, see test history, navigate to tests’ source code with ease, and more.
  • Code generation:
  • CLion 1.2 brings code generation in Google Test that can help a lot: generate test, test fixture or SetUp/TearDown Methods with it. When creating tests for fixtures, TEST() macro is automatically converted to the appropriate TEST_F(), TEST_P(), TYPED_TEST(), or TYPED_TEST_P().
  • CMake:
  • Create frequently-used or custom code constructs in CMake and reuse them with live templates. Select between predefined templates or create your own.
  • CMake variable completion (together with the command completion introduced earlier) can make you super productive when writing CMake files.
  • It works in set/unset commands or after "${" and can handle both prefix and middle matching.
  • In addition to the CMake code style settings introduced, CLion 1.2 provides the option to force upper/lower case for CMake commands.
  • Debugger:
  • Experience better debugger performance, now possible with the lazy creation of GDB variables and other fixes introduced in CLion 1.2.
  • This version also brings accurate rendering of references and arrays of wide/unicode characters.
  • Language support:
  • A lot of improvements have been made on the C++ parser and resolver side.
  • CLion correctly infers types for variables declared as auto (you can view this type in Quick Documentation pop-up by pressing F1), handles the volatile keyword, supports __LINE__ macros (useful for developing with Unreal Engine 4), the __thread qualifier, and includes other fixes.
  • Code style:
  • CLion has dozens of settings for code style for C, C++, CMake, JavaScript, XML and more. A new feature introduced in CLion 1.2 called Adjust code style settings helps you change code style options applicable to the selected piece of code only. It is available as a quick-fix (via ⌥Enter).
  • Search and navigation:
  • Find in Path is now even more helpful with the preview tab showing the first 100 results in real time. You can now tune the search parameters and find what you need without even leaving the dialog.
  • Besides, regular expressions are now available in the Find and Replace search action.
  • And if you are looking for an easier way to navigate to a matching brace/parenthesis/bracket, in CLion 1.2 use ^M.
  • VCS:
  • Now, if you notice a small issue while looking at a diff in a commit dialog, there's no need to go back to the editor. With CLion 1.2 just unlock the editing mode and start editing in-place.
  • Perforce users can now shelve changes in Perforce from the UI by invoking Shelve in Perforce... You can then browse the corresponding change list and unshelve it anytime you want.
  • Since v1.2 Mercurial Queues users can benefit from a set of features for working with patches: create patches; import local commit as patches; rename, apply, unapply and remove them.
  • Git users can now access Git branch operations related to a particular change right from the context menu in the VCS Log Viewer (including the Rebase action as well as others).
  • Look & Feel:
  • OS X users will be glad to know that the build for this platform now includes a bundled custom JDK with fixes from the JetBrains team (no need to download a separate build any more). To switch between this customized JDK and any other JDK installed on your machine, invoke Find Action (⇧⌘A) and type Switch IDE boot JDK there.
  • CLion 1.2 also updates its default look & feel scheme on OS X (read more ») and adds better HiDPI support on Windows and Linux.
  • People with color blindness are encouraged to try the new Adjust for color deficiency option, where you can choose the form of color blindness (currently only the red-green color deficiency is supported).

New in CLion 1.1.1 Build 141.2614 (Sep 4, 2015)

  • CLion goes to dumb mode for big files, disabling code insight features in that case, in order to prevent possible performance issues. Now the limit is set to 500000 characters for C-based languages. When bigger file is opened, CLion shows a notification and suggests to change the limit. Please, note – changing the limit causes current project symbols rebuilding.
  • The other way to change the file size limit is to open Registry (call Help | Find Action and type Registry there), find cidr.max.intellisense.file.length parameter and change the value there. However, in that case you need to invalidate project symbols manually by calling File | Invalidate Caches / Restart.
  • Fixes:
  • Variables are not resolved correctly and marked with red while using template aliases.
  • While creating a new C++ class/file, no suitable target is found to update automatically if target is under if, while, foreach in CMakeLists.txt
  • Smart tab option in Code Style settings doesn’t convert spaces to tabs correctly.
  • __BASE_FILE__ macro is not handled correctly.
  • Fixed issues:
  • CPP-4208 — Correctly handle LLDBFrontend's failure on launch
  • CPP-898 — No Intellisense for large files, idea.max.intellisense.filesize ignored
  • CPP-4269 — Formatter: 'Smart tab' option doesn't convert spaces to tabs correctly
  • CPP-4307 — Document: 'Show help contents' action for Debugger section brings to wrong location
  • CPP-4222 — False syntax errors using __BASE_FILE__ macro
  • CPP-4331 — Clion hangs indefinitely during editing (minimal example)
  • CPP-4146 — Regression EAP 1.1. Can't resolve variable while using template aliases
  • CPP-4286 — New Class/Source/Header actions should be disabled for External Libraries
  • CPP-2666 — New C++ Class: No suitable target found if target is under if statement in CMakeLists.txt
  • CPP-3972 — Update CMake file type icon to be suitable for Darcula
  • CPP-4285 — Focus traversal broken in New Class/Source/Header dialog

New in CLion 1.1 Build 141.2348 (Aug 18, 2015)

  • C++ PARSER:
  • It’s surprisingly easy to write tricky code in C++ where the overall context will influence the way the code is parsed. CLion now handles many of these cases correctly, distinguishing one language construct from another with higher precision than before, to provide you with appropriate highlighting, code analysis, and refactorings.
  • C AND C++ FILE EXTENSIONS:
  • Starting with CLion 1.1, you can simply add your preferred C and C++ source/header file extensions and use them to create a new C++ class, C/C++ source or header file.
  • LLDB:
  • In addition to working with GDB, CLion 1.1 provides now support for LLDB on OS X and includes a bundled LLDB v3.6 in its distribution package.
  • On your very first start LLDB is selected by default, you can then switch the debugger backend in settings.
  • CODE STYLE:
  • New C++ code style settings:
  • CLion 1.1 brings many new settings to help you adhere to your code style guidelines. You can now configure indents for class members and visibility keywords, as well a lot of new settings specific to preprocessor directives and conditionally non-compiled code.
  • Code style schemes:
  • Select a predefined coding style to apply to your code style configuration: Google, GNU, Qt, Stroustrup, or braces rules from Allman, Whitesmiths or K&R guidelines.
  • CMake formatter:
  • Autoformatting now works not only for your code but also when you’re editing CMake files. Configure the preferred code style for your CMake files and have it applied as you type, or trigger it explicitly with the Reformat Code action.

New in CLion 1.1 Build 141.2347.10 RC (Aug 14, 2015)

  • Main problem addressed in this build is about find_package introduced together with the project scopes changes (find_package command made corresponding CMake files appear in project view by error).

New in CLion 1.1 Build 141.2346.5 EAP (Aug 10, 2015)

  • Fixed issues:
  • CPP-995 — Format several namespaces on the same line
  • CPP-4115 — Bundle CMake 3.3
  • CPP-4095 — Matching braces in CMake
  • CPP-4014 — Indent functions and control statements in CMake
  • CPP-4228 — Unused code inspection work incorrectly in local scope
  • CPP-4218 — EA-71399 Exception in New C++ Class after editing the extension list
  • CPP-4055 — Weird formatting after change signature
  • CPP-3259 — Remove pre-filled names from new class/new file dialogs and problem improve diagnostic
  • CPP-4105 — Exclude CMake build dir from content roots

New in CLion 1.1 Build 141.2309 EAP (Aug 6, 2015)

  • The most important changes addressed by this build are project scopes. When you open a project in CLion now, you can notice a couple of changes in project view:
  • All files under your project root are considered by the IDE as project files.
  • Files located under include_directories are the only exception, considered to be library files highlighted with yellow now. They are not considered as files with your project code, so refactorings and other smart features are not applicable there.
  • However marking the directory with -iquote makes CLion consider these files as project files. Unfortunately, it’s not supported by CMake for now, and can be propagated through the compiler flags only.
  • Other changes include:
  • After massive parser overhaul introduced in the first 1.1 EAP build, we’ve continued our work in that direction, fixing many resolve issues. That leeds to more accurate completion, navigation and refactorings (CPP-3983, CPP-3982, CPP-3981).
  • This build improves the way in which CLion updates CMake targets while creating a new class or file. You can now add files not only to the direct calls of add_executable and others commands like this, but to the appropriate CMake variables as well.
  • A plugin for YAML, famous data serialization standard, was bundled and is on by default in CLion.
  • Fixed issues:
  • CPP-3906 — YAML support in CLion
  • CPP-4050 — Bundle LESS/SASS CSS Support in CLion
  • CPP-3954 — "Symbol building is not allowed" exception during project indexing
  • CPP-1637 — Find balloon is empty after doing a search.
  • CPP-1149 — "Find in Path" with Whole Project scope doesn't find text in non-project includes
  • CPP-3964 — Header macro cannot start with a number
  • CPP-4076 — OCStringLiteralCopyPasteProcessor is triggered in irrelevant file and produces NPE
  • CPP-124 — Disable [ auto-insertion in non OC code
  • CPP-1326 — Search in files always filter search results to 'Project and frameworks' scope
  • CPP-4128 — The most specialized class template specalization should be chosen
  • CPP-3982 — Overload resolution should distinguish prefix and suffix overloaded operators
  • CPP-3889 — Value substitutions are lost in namespace qualifiers
  • CPP-3983 — Overload resolution does not work with parenthesized qualified calls
  • CPP-3981 — Overload resolution: the longest matching vararg function should be chosen
  • CPP-3980 — Type "int (&)[]" is printed incorrectly "int [] &"
  • CPP-3886 — Pointer type with class qualifier has incorrect name
  • CPP-3885 — Sfinae: array and function types mustn't be substituted to function return types
  • CPP-4131 — IndexOutOfBoundsException during creation of New Class when no target available because of CMake error
  • CPP-2708 — Improve 'new C/C++ file' insertion place in target (e.g. find corresponding variable)
  • CPP-3777 — Correctly build Libraries and 'Project and Libraries' scope

New in CLion 1.0.5 Build 141.875 (Jul 11, 2015)

  • Addresses an unpleasant regression with member functions reported as not implemented when class is located in the namespace. Among other fixes, you can find a set of CMake related improvements:
  • Bundled CMake 3.2.3 on all platforms.
  • Incorrect unescaping behaviour in CMake when cmake_policy(SET CMP0005 OLD) is used.
  • Problem when using $(subs..) expression in compiler flags.
  • Incorrectly split compiler command line.
  • The build also addresses a fix for auto-completion when using auto keyword (CPP-2998), adds Unused class inspection and more.
  • Fixed issues:
  • CPP-558 — Unused classes are not marked as such
  • CPP-3631 — Auto-completion with 'auto' keyword works unstable even in simple cases.
  • CPP-3737 — Extraneous semicolon for uniform initialization
  • CPP-3630 — cmake_minimum_required(VERSION 3.2) implies unknown compiler
  • CPP-3499 — Compiler command line is incorrectly split on "-Dassert_param(expr)=((void)0)"
  • CPP-2062 — $(subs..) expression in compiler flags breaks compiler options collection
  • CPP-2049 — Compiler flags and defines are not unescaped correctly if CMP0005 policy is set to OLD
  • CPP-3258 — [regression] Member functions reported as not implemented when class is in namespace
  • CPP-2998 — 'auto' variables declared with 'new foo' initializer are not correctly resolved
  • CPP-3619 — NPE in PluginManager
  • CPP-3590 — Bundle CMake 3.2.3

New in CLion 1.1 Build 141.1935 EAP (Jul 9, 2015)

  • Big parser improvements:
  • You probably know that C++ is a very complicated language to parse. There are so many interesting cases where the overall context can influence the way your code is parsed. Since April we’ve completed a massive overhaul of our parser to make it more accurate and precise. Let me show you a few samples.
  • Sometimes a function declaration looks very similar to a constructor declaration, but the IDE needs to distinguish them to provide appropriate highlighting, code analysis and refactorings for your code base.
  • These enhancements, introduced deep in the parser, allow us to fix many false positives with incompatible pointer types (CPP-3610, CPP-3612), as well as some initializer warnings (CPP-3613, CPP-3511).
  • Many other related fixes and improvements are available. If you’ve come across red code or false positives in your code base, give CLion 1.1 EAP a try and share your feedback with us!
  • LLDB integration on OS X:
  • One of CLion’s key advantages over a plain text editor is the debugging experience. While you can always run a stand-alone debugger separately, debugging inside an IDE saves you time and provides various additional functionality.
  • Since its very first build, CLion integrates with the GDB backend on all platforms, providing all the essentials in its UI. However, OS X users feel more comfortable with the LLDB.
  • We’ve bundled version 3.6 into the OS X distribution package, making it the default debugger on OS X. If you use CLion 1.0 on Mac and you install this EAP build, your debugger will be switched to the LLDB for the first time. After that you can either stay with LLDB or come back to GDB manually; your settings will be stored in CLion.
  • Formatter accuracy:
  • CLion keeps your code well formatted as you type. Alternatively, you can apply formatting rules explicitly with the Reformat Code action. You can also configure the coding style guidelines in Editor | Code Style settings and have CLion make sure you stay compliant with them. To help you reflect your desired guidelines more precisely, CLion 1.1 EAP introduces a set of improvements and new options for configuration.
  • Most of the improvements have to do with the preprocessor directives and conditionally non-compiled code. CLion 1.1 EAP brings a number of new settings for directives (#define, #if/#endif) indentation to Editor | Code Style | C/C++.
  • When you start typing ‘#’, CLion will now automatically align this new directive to the correct position. The closing ‘#’ directive (or ‘else’) is aligned after you press Enter.
  • The guard block is an exception for the preprocessor directives’ relative alignment and is handled automatically. The code that is conditionally uncompiled is now formatted correctly, following the configured Code Style settings.
  • Non-existent declarations no longer break template formatting (CPP-3411). And multiline comments are now handled correctly during auto indentation.
  • Completion for missing keywords:
  • We’ve also implemented missing completion for a few keywords, including: final, override, alignas after struct, noexcept, friend
  • C and C++ files extensions:
  • Since this build you can configure the preferred C/C++ source/header files extensions and use these combinations while creating a new C++ class, C/C++ source or header file. To add/update file extensions go to Editor | Code Style | C/C++ | New File Extensions settings.
  • These file extensions are available when creating a new C++ class, C/C++ source or header file.
  • Custom JDK update:
  • In CLion 1.1 we’ve introduced a custom build of JDK 1.8 with fixes from the JetBrains team. It was very warm welcomed, however had some critical performance problems. This build addresses these issues, as well as a problem with high CPU usage.
  • Fixed issues:
  • CPP-359 — Bundle LLDB on OS X
  • CPP-3520 — add completion for "final" and "override"
  • CPP-2830 — Formatter: settings for directives (#define, #if/#endif) indentation
  • CPP-2829 — Typing # and after the directive should automatically align the directive
  • CPP-2754 — Allow specifying preferred extension for new C/C+ files and headers
  • CPP-3371 — Attaching to existing process incorrectly handled causing unexpected interruption
  • CPP-296 — Inline typedef and array types produces incorrect result
  • CPP-3471 — "Extract Parameter" refactoring makes existing array parameter lose its dimensions
  • CPP-1165 — Highlight override and final keywords as keywords
  • CPP-3368 — const array of typedef-ed array doesn't imply constness for element type of inner array
  • CPP-3511 — False error for universal initialization of array with auto calculated size
  • CPP-3428 — Putting string initializer for char array in parens produces error in CLion
  • CPP-3746 — 'mutable' in lambda declaration without parens should be highlighted as error
  • CPP-3613 — Length of a character array is not correctly deduced when array initialized with raw string literal
  • CPP-3612 — Length of string literal with prefix is incorrectly deduced
  • CPP-3610 — Length of UTF8 encoded char literal is incorrectly deduced
  • CPP-3479 — Any array with initializer {0} is considered compatible to any type
  • CPP-3459 — Array function parameter type should be considered same as pointer
  • CPP-3429 — Putting string initializer inside initializer list in parens produces error in CLion
  • CPP-3223 — False negative "X is read-only pointer" (constexpr not supported)
  • CPP-3105 — 'Incompatible pointer types' error message for strings should be only a warning
  • CPP-3854 — Make Schemas and DTDs page of the settings dialog same as in other products
  • CPP-796 — Not all keywords are showed in Code Completion (e.g. friend, operator, constexpr)
  • CPP-3289 — Do not suggest Objective-C keywords in C++ code
  • CPP-3103 — Formatter: Conditionally uncompiled code unexpectedly formatted
  • CPP-3010 — Auto Indention only does the first line on multi-line comment
  • CPP-3411 — Wrong template formatting when IDE believes the declaration is non-existent, additional space introduced
  • CPP-353 — "Can't resolve namespace member" error in if condition
  • CPP-3928 — __cdecl call convention is not parsed
  • CPP-3803 — Cast is not parsed when identifier can be type and value
  • CPP-3802 — Template argument is parsed as binary (in some cases)
  • CPP-3795 — CLion incorrectly parses method signature with "map::value_type const&"
  • CPP-3780 — Unresolved qualified type in cast breaks parsing
  • CPP-3779 — "int x(y)" with unresolved "y" should be parsed as variable declaration with initializer
  • CPP-3776 — Regression: Parser fails to instantiate the friend template class
  • CPP-3759 — Several compound initializers can't be passed to function
  • CPP-3758 — Template arguments are not detected when they are not resolved
  • CPP-3757 — Template arguments vs binary when arguments are not resolved
  • CPP-3754 — "......" in variadic templates is parsed incorrectly
  • CPP-3752 — Regression: cast/binary conflict
  • CPP-3742 — Declaration should be parsed even if type and initializers are not resolved
  • CPP-3741 — Regression: parameter lists in functional types
  • CPP-3707 — More arguments/parameters conflicts (with unresolved code)
  • CPP-3699 — Multiple linkage specifications for single statement are treated as error
  • CPP-3696 — Missing ';' after static_assert is not highlighted as error
  • CPP-3685 — Parsing ambiguity: C-style cast to function type VS functional cast inside parens
  • CPP-3673 — Constructor/field declarator conflict
  • CPP-3671 — Declaration/expression conflicts on non-compilable code
  • CPP-3608 — Arguments/parameters conflicts
  • CPP-3581 — Initializer after parenthesized type in new expr
  • CPP-3579 — Decltype in C++ cast
  • CPP-3578 — Decltype in base clause
  • CPP-3577 — Typename in base clause
  • CPP-3553 — Empty declaration/expression conflict in parser
  • CPP-3552 — Template arguments vs expressions conflict in parser
  • CPP-3551 — Attributes: __stdcall, __declspec and [[]] attributes inside arrays
  • CPP-3524 — Support anonymous function types in function parameters
  • CPP-3523 — Don't parse class body in trailing return types
  • CPP-3522 — Support trailing return types in parameters
  • CPP-3461 — Parser consider binary expression with '&' and '*' as declaration
  • CPP-2803 — A "most vexing parse" error when type casting a member access expression
  • CPP-2559 — Parser considers template type as binary expression, after the error parser unable to recover
  • CPP-1739 — Expression statements are not parsed correctly
  • CPP-1722 — "Most vexing parse" is not resolved according to the standard
  • CPP-1709 — Incorrect parse of C++11 brace initialization in normal parentheses
  • CPP-1548 — list initialization of decltype causes parsing errors
  • CPP-1020 — Parser broken when constructor is parametrized with initializer list without type
  • CPP-3258 — [regression] Member functions reported as not implemented when class is in namespace
  • CPP-3706 — decltype(this) not resolved
  • CPP-3836 — LLDBDriver should correctly report signal name (e.g. SIGSTOP)
  • CPP-3598 — Completion variants for 'operator x' are inconvenient to use, I'm forced to select the correct one
  • CPP-3629 — When directives formatted according to 'indent directives' option, 'guard block' should be an exception
  • CPP-3570 — Add UI to select the debugger (LLDB or GDB)

New in CLion 1.0.4 Build 141.874 (Jun 17, 2015)

  • Highlights:
  • Fixes a very annoying issue with ‘Command timed out’ while debugging. You most probably experienced it if debug tool window kept showing “Collecting data…” forever for you. Or gdb ended with ‘Command timed out’ during the debug session.
  • Fixed issues:
  • CPP-1403 — On big projects, gdb ends with 'Command timed out' and the debugged program crashs
  • CPP-598 — The "variables" tab of debugger view keeps showing "Collecting data..."
  • CPP-3394 — Invalid build-in console input handling using MinGW
  • CPP-3089 — Editor inserts bogus semicolons at the end of the current block when typing {
  • CPP-3352 — Braces in switch->case block for enum are automatically terminated with a semicolon
  • CPP-814 — Compiler timed out exception
  • CPP-3258 — [regression] Member functions reported as not implemented when class is in namespace
  • CPP-506 — UI is blocked due to use of compiler from resolve content
  • CPP-3515 — Project view should be titled 'Project' instead of 'Files'
  • CPP-3561 — Simplified 'empty messages' in Problems and Cache tabs

New in CLion 1.0.2 Build 141.871 (May 20, 2015)

  • HIGHLIGHTS:
  • Since this version CLion supports Cygwin 2.0.0 and MinGW-w64 4.0 toolchains.
  • Create new C++ class dialog now will try to evaluate and suggest you the correct CMake targets name even if add_executable or add_library commands contain variables and not the direct target name. This still can fail for some complicated cases when the variable value is set in some other file or in non-top level constructs.
  • Since now you can select to declare function parameter as const while extracting parameter in CLion.
  • The getter/setter generation (Alt+Insert on Linux/Win; ⌘N on OS X) was improved greatly with this build. First, setters are available for union members now. Second, we’ve fixed the behaviour for arrays – correct getters are generated for one-dimentional arrays (can be also static); incorrect code that was generated before in all other cases was removed. By the way, for static members CLion now reasonably suggests static setters.
  • Getters are now inlined correctly (CPP-374).
  • Taking about debug, we’ve fixed a couple of annoying problems: one with command timed out on Windows while stopping on a breakpoint (CPP-840); other is about program execution stop under debug that didn’t work in some cases (CPP-3235).
  • A PTY related failure was fixed for the case when path to CLion contains ‘+’ symbol.
  • FIXES AND IMPROVEMENTS:
  • CPP-3193 — Generate destructors for unions
  • CPP-3155 — Support 'Declare const' in extract parameter
  • CPP-840 — "Command timed out" after setting breakpoint
  • CPP-2746 — CMake variables aren't processed in the "Create new C++ class" dialog
  • CPP-523 — Can't resolve template parameter
  • CPP-374 — Inlining getter results in "nullReceiver->foo"
  • CPP-3235 — Cannot pause program execution under debug
  • CPP-3219 — Excessive memory usage with MinGW-W64 4.0
  • CPP-2955 — No error for loosing const in C++ references
  • CPP-2948 — PTY related failure if path to CLion's location contains certain symbols (EA-65217 - ISE: PtyUtil.resolveNativeLibrary)
  • CPP-2933 — Warning: Environment: MinGW-w64; current version is w64 4.0; supported version is 3.x
  • CPP-1019 — Bool getter generation should not prepend 'Is' if variable already starts with that
  • CPP-3300 — 'Declare const' in Extract Variable breaks for 'const * const' declarations
  • CPP-3255 — Pty failure when IDE opens more than 1024 file descriptors (EA-67994 - AIOOBE: JTermiosImpl.FD_SET)
  • CPP-3243 — SpinAllocatorExhausted exception when inspecting specific header file with templates
  • CPP-3213 — Extract parameter: "Declare const" is not available for non-modifiable pointer
  • CPP-3195 — Extract parameter: changes to "Declare const" option are not reflected in UI
  • CPP-3115 — AssertionError after removing system headers
  • CPP-3044 — Unable to create new C++ class when CMakeLists.txt is incorrectly cased
  • CPP-2050 — "Generate Getters" creates nonsense code for arrays
  • CPP-1914 — CSM27: Create setter method should be static for static member
  • CPP-1913 — CSM17: Create setter method not available on union
  • CPP-1912 — CSM4: Generate Setter should not be available on const reference member
  • CPP-1580 — Creating a getter/setter for an unnamed struct creates nonsense code
  • CPP-864 — Generated getters/setters lose namespace prefix for unresolved types
  • CPP-3241 — "ret" Auto-Completes to "register_t" instead of "return"
  • CPP-3288 — Compiler paths may not fit into the preferences/welcome wizard dialogs
  • CPP-3150 — Warn users about Vim plugin on Welcome screen
  • CPP-3232 — Support for Cygwin 2.0.0

New in CLion 1.0.1 Build 141.870 (Apr 29, 2015)

  • Noticeable improvements and fixes:
  • Bundled CMake 3.2.2.
  • Updated debugger STL-renderers.
  • Send EOF action is now available during run/debug.
  • Better handling of string format specifiers.
  • Code generation now honors your preferred ‘const’-qualifier placement.
  • ‘Extract Variable’ refactoring allows to declare variables as ‘auto’.
  • Fixed issues:
  • CPP-358 — Generated code should pass parameters by const-reference where appropriate
  • CPP-203 — Support 'auto' in Extract Variable
  • CPP-2023 — Produce 'const' declaration when extracting method/parameter/variable, where only 'const' methods are called
  • CPP-449 — Macro resolution error(google flags library)
  • CPP-1309 — Change Signature discards const method qualifier
  • CPP-2019 — extract method should take const in signature into consideration
  • CPP-2940 — GCC should be executed with LANG=C instead of en_US
  • CPP-2885 — Implementing 'auto' operators produces broken code
  • CPP-2806 — Parser get a problem while field and type conversion comparison by "

New in CLion 1.0 Build 141.353 (Apr 15, 2015)

  • CROSS-PLATFORM IDE FOR C, C++ AND MORE:
  • 
CLion 1.0 is available on 64-bit Linux, OS X and 64-bit Windows, and is designed for developing in C and C++. The IDE supports the C++11 standard and handles preprocessor directives. In addition, it provides support for JavaScript, XML, HTML and CSS.
You can use GCC or Clang as the compiler on Linux and OS X, and MinGW 32/64 or Cygwin on Windows.
  • CMAKE:
  • For a number of reasons CLion relies on the CMake build system and uses it as the project model. This means it takes all the information about your project from CMake files, including source files, compiler settings, targets description.
  • All the changes you introduce in CMakeLists.txt files are handled automatically. This can be configured in Preferences/Settings | Build, Execution, Deployment | CMake, together with the options to pass to CMake command, system environment variables and some build options.
  • CLion also includes the CMakeCache editor, autocompletes CMake commands for you, and adds new files automatically to the existing targets (offering to select them from the targets list).

  • POWERFUL EDITOR AND ONE-CLICK NAVIGATION:
  • 
CLion includes many features to help you code with ease and pleasure.
  • Smart autocompletion filters the suggestions to match the left value type.
  • Multiple cursors handle several editing tasks at a time.
  • Code autoformatting takes care of the prefered coding style guidelines.
  • Keyboard shortcuts help you select, rearrange and comment your code quickly.
  • If you are not sure which parameters to pass to a function, just use the Parameter Info feature (Ctrl+P on Linux/Windows, ⌘P on OS X).
  • All the possible function signatures and parameters will be listed, and as you edit the parameters, CLion will grey out any incompatible signatures.
  • Fast project navigation is essential for effective coding, which is why CLion includes a set of useful navigation features and search abilities. Go to declaration/definition, go to class/symbol/file only by its name, and use Class/Imports/Type hierarchy to navigate more efficiently.
  • If you simply want to go back to a file you were editing recently, just bring up the Recent files dialog (Ctrl+E on Linux/Windows, ⌘E on OS X).
  • When you want to find usages, CLion understands the context of each symbol instead of mere text matches, it provides you with actual usages of the symbol.
‘Search everywhere’ makes it possible to look for any item in the source code or elements of the user interface—in a single action.
  • CODE ANALYSIS, QUICK-FIXES AND REFACTORINGS:

  • CLion keeps a watchful eye on your code to help you maintain its high quality. It analyzes your whole code base on the fly, highlighting potential issues. Simply press Alt+Enter to apply one of the available quick-fixes.
  • When you need to make far-reaching changes to code, like renaming a symbol, reliable refactorings come to the rescue. Rename, Change Signature, Extract Function/Constant/Define/Typedef, Extract Subclass/Superclass, Pull Members Up/Push Members Down, and use other refactorings—and be assured that your changes are safely propagated throughout the code base.
  • INTEGRATED DEBUGGER:

  • For an in-depth look into the execution of your code, CLion provides a built-in debugger (based on GDB). Besides setting line, exception and symbolic breakpoints, you can also add watches; evaluate any expression; change values on the fly to see how that affects your code; and see variable values right in the editor (next to the variable declaration) during a debugging session.

  • AND MUCH MORE:
  • CLion integrates with popular version control systems, including Subversion, Git, GitHub, Mercurial, CVS, Perforce (via plugin), and TFS. It includes a built-in terminal and can work in a Vim-emulation mode (via plugin) and offers more helpful tools. Please visit our website for details on CLion features.

New in CLion 1.0 Build 141.352.13 RC (Apr 2, 2015)

  • Issues fixed:
  • CPP-2044 — Option to turn off auto import popup
  • CPP-437 — Support CMake 3 syntax
  • CPP-2821 — Basic folding of templates specializations to shorten displayed types in variables view
  • CPP-2857 — Incorrect default order of top-level declarations
  • CPP-2799 — 'Objective-C classes and protocols' & 'Class predeclarations' should be removed from Preferences of Code Generation

New in CLion 141.351.4 EAP (Mar 27, 2015)

  • Fixed issues:
  • CPP-507 — Keep indentation of block comments during formatting
  • CPP-469 — 'Comment line/block' actions in CMake files
  • CPP-2671 — Correctly support configurations without build targets in "Run Another Configuration" tasks
  • CPP-2745 — CMake: built-in commands completion
  • CPP-2744 — Support CMake 3 bracket-arguments syntax
  • CPP-2743 — Support CMake 3 block comments syntax
  • CPP-1039 — Bundle JDK on linux
  • CPP-1057 — Auto-inclusion is incorrectly added while variable name is being completed
  • CPP-1050 — GDB doesn't step into operators and constructors on OS X
  • CPP-1099 — Auto-import of frameworks is suggested unexpectedly, while I type a short name
  • CPP-1447 — Refactorings add unexpected includes (e.g. after extract method )
  • CPP-2620 — Operator overload introduced via using is not understood
  • CPP-2715 — EA-66482 - NPE when invoking Code Style settings from welcome screen
  • CPP-2701 — Parsing is broken when 'using namespace std' is included in other namespace in included header
  • CPP-2614 — Evaluation of preprocessor expression need to be done at least in 32bit accuracy with the sign bit.
  • CPP-2248 — Opening one particular file in one particular C project causes the IDE to hang
  • CPP-2239 — Refactoring "Rename" variables triggers exception when invoked on constructor call
  • CPP-2030 — Namespace alias is not correctly supported.
  • CPP-631 — Using delegate constructors leads to spurious uninitialized field warnings
  • CPP-2240 — Refactoring "Rename" does not work on std containers
  • CPP-1534 — Syntax error on

New in CLion 141.102.4 EAP (Mar 12, 2015)

  • CREATE NEW C++ CLASS, SOURCE FILE OR HEADER:

  • When pressing Alt+Insert (on Windows/Linux) or Cmd+N (on OS X) in Project view or selecting New in the context menu there, you’ll find several new options:

  • C++ Class generates a pair of a source file and a header, including header in the source file and creating class stub in the header file.
  • C/C++ Source File generates a simple source file, you can also select to create an associated header with it.
  • C/C++ Header File generates a simple header file.
  • In all three cases you can also select the targets in which the files need to be included, and CLion will automatically update the appropriate CMakeLists.txt in your project. Give this new feature a try and provide your comments and feedback to us. Any related issues are very welcome to our tracker.
  • MAKE ALL:

  • Default “all” target for CMake project is supported now, that means you can find it in the configurations list, edit and select it for build and run. To run this configuration CLion asks you to select an executable. In general the IDE allows you now to change the executable for any configuration of your choice or even make configuration not runnable by changing this value to “Not selected”.
  • CMAKE ACTIONS IN MAIN MENU:

  • There are a couple of useful CMake actions that we’ve placed into CMake tool window. And now we’ve decided to add
  • CMAKE SECTION TO TOOLS MENU:
  • We’ve also placed Reload CMake Project action in File and Project View context menus for you convenience.
  • OTHER IMPORTANT CHANGES INCLUDE:
  • A while ago we’ve updated CLion to use PTY as an I/O unit for running your targets. Now Linux and OS X users will get the same behavior while debugging.
  • A problem on OS X with debugger not stopping on breakpoints in class and template methods is fixed now.
  • Latest CLion EAP build has CMake/GCC/Clang output coloring enabled so that you can find your way through the resulted output easier. If you still prefer the non-colored output use CMAKE_COLOR_MAKEFILE=OFF for CMake output, -fno-color-diagnostics flag for Clang and -fno-diagnostics-color for GCC.
  • An issue with no flush to console without \n was fixed.
  • FIXED ISSUES:
  • CPP-2422 — indexing is not progressing
  • CPP-2664 — Failed to create new CPP class
  • CPP-2315 — 'stack overflow' exceptions in resolve
  • CPP-2297 — Infinite loop when indexing the project
  • CPP-2333 — Declaring function pointer as function argument containing struct is marked as error
  • CPP-1868 — Debug doesn't stop on breakpoints in class and template methods on MacOS
  • CPP-158 — Support default "all" target for cmake project
  • CPP-710 — Allow selecting different executable (or not executable at all) in run configuration
  • CPP-2229 — Offer to import several possible headers for a symbol and various symbol types
  • CPP-172 — Autocomplete of shared_ptr doesn't match behaviour of autocomplete on "raw" pointers
  • CPP-2416 — Debugger gets stuck reading STL containers with "Hide Out-of-Scope Variables" option disabled
  • CPP-208 — throw statement can be used as expression
  • CPP-1679 — Disable parameters placeholders in pure C/C++ functions completion
  • CPP-2378 — Execution: stdout doesn't flush to console w/o '\n' at the end
  • CPP-600 — CMake/Clang/GCC output coloring
  • CPP-2098 — Type with global std::begin(Type) but without corresponding std::end(Type) is not treated as an invalid range type
  • CPP-1713 — Console does not link the source file of a compiler error
  • CPP-2587 — Generate "Build All" run configuration
  • CPP-2551 — Bundle CMake 3.1.3 + include CPack/CTest
  • CPP-2396 — EA-60321: Target containing "/" in the name triggers an assertion
  • CPP-2045 — Parameter info for constructors is working only in new operator
  • CPP-1873 — Explicit operator call with 'operator ()' is not recognized
  • CPP-1542 — Show parameters should work in member initializer list
  • CPP-1209 — Wrong auto substitution of -> operator inside of qPrintable() macro
  • CPP-2633 — Overload resolution: if two choices are ambiguous and their return type is the same, it shouldn't be magic
  • CPP-2631 — If choosing among several types, the most specialized one should be chosen
  • CPP-2600 — Add 'Reload CMake Project' and other CMake actions to main menu
  • CPP-2552 — No error message when assigning pointer to function with different level
  • CPP-2528 — Exception: Assertion failed at function parameter info
  • CPP-2520 — Completion of &func_name should not insert parentheses like in function call
  • CPP-2419 — When new project created, set cmake_minimum_required to the version of the used CMake
  • CPP-2411 — Parameter info for macro shows unexpected text for vararg
  • CPP-2357 — Use PTY for debugging on OS X/Linux
  • CPP-2348 — Parameter Info doesn't work for list initialization
  • CPP-2316 — Should not show containers (with begin()/end() separated in std namespace) in 'iter' and 'itit'
  • CPP-2264 — Autocompletion in "using" creates nonsense
  • CPP-2053 — Wrong position of semicolon after autoinsertion of closing curly brace with macro
  • CPP-1820 — Rename 'method' to 'function' in Keymap reference, site, etc
  • CPP-1473 — Unable to insert ellipsis in catch clause
  • CPP-1683 — Autocompletion of switch default inserts extra space

New in CLion 140.2310.6 EAP (Feb 12, 2015)

  • CMAKE 3.1:
  • The long-awaited feature has arrived – CLion includes bundled CMake 3.1.2 now! This is done for all platforms, including Cygwin case on Windows (thus Cygwin users can select between old CMake from Cygwin packet or CLion’s bundled version). Feel free to report any issues with it to us.
  • In this build we’ve also reviewed toolchains’ supported versions. To make it short here is the list of tools with supported versions you need with CLion:
  • CMake 2.8.11-3.1.*, make
  • GCC/G++ or Clang on OS X and Linux, MinGW 32/64 3.* or Cygwin 1.7.* on Windows
  • GDB: 7.8.*
  • GNU STL RENDERERS:
  • You can now benefit from STL renderers in the CLion’s integrated debugger in case you are using GCC. In case of Clang it works for libstdc++ only. Set the CMAKE_CXX_FLAGS in CMakeLists.txt to use it: set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -stdlib=libstdc++”)
  • Now you are able to inspect the STL containers during your debug session.
  • This feature is switched on by default, you can switch it off in Preferences/Settings | Build, Execution, Deployment | Debugger | Enable GNU C++ library renderers.
  • PTY IN CLION:
  • CLion uses PTY as an I/O unit now (while running your project, not debugging). And that means that many problems associated with standard input/output should have gone. CLion still mixes the order of stdout and stderr that causes some inconveniences, however huge improvement was made in general.
  • In case of big inconveniences or problems feel free to switch it off. In Find Action dialog type Registry and untick run.processes.with.pty parameter there.
  • EDITOR ENHANCEMENTS:
  • This build also improves HiDPI support for Windows/Linux. Most icons and fonts are scaled proportionally, no blur appears now.
  • Using CLion from now try a brand-new distraction-free mode. Nothing prevents you from pure coding – no toolbars, no tool windows, no editor tabs, the code is center-aligned. To turn it on, click View | Enter Distraction Free Mode.
  • SYNCHRONOUS TAG EDITING IN HTML AND XML:
  • If you use CLion for HTML and XML editing as well, you’ll be glad to hear that a fantastic feature has arrived – edit any tag in your code and CLion will fix the corresponding opening/closing tag for you. It’s on by default, but can be switched off in Preferences/Settings | Editor | General | Smart Keys. Follow the link to watch a small demo.

New in CLion 140.1740.3 EAP (Jan 20, 2015)

  • Introduced a new feature following the top-voted requests in our tracker. If you open Settings/Preferences menu and select ‘Build, Execution, Deployment’, you’ll see a new page there called CMake where you can:
  • Allow CLion automatically reload your project during editing.
  • Pass any variables to the CMake command.
  • Or any system or custom environment variable of your choice.
  • Specify build options or build output directory.
  • Other noticeable changes include:
  • Project is now reloaded automatically in case of toolchain changes.
  • #ifdef branches can be folded/unfolded now.
  • Fixed issues:
  • CPP-2056 — Enormous increase of 'Pass system environment' field
  • CPP-2054 — NPE after switching toolchains on first IDE start
  • CPP-283 — Reload CMake project when toolchain changes
  • CPP-1882 — Incorrect 'directories outside of CMake build directory are not supported' message for unicode-containing path
  • CPP-1805 — Build 140.1221.2 fails to run
  • CPP-1802 — OS X: app signing gets broken after debugging
  • CPP-1883 — Symbols for expressions
  • CPP-96 — Allow to specify build dir
  • CPP-349 — Support configuring build tool arguments (e.g. -j)
  • CPP-1161 — Fold code in conditionally uncompiled sections
  • CPP-236 — Bogus "Called object is not a function" error
  • CPP-412 — CMakeEnvironment should be stored and reused in CMakeWorkspace
  • CPP-1848 — Code Style C/C++ help reference
  • CPP-1847 — Map help button of C/C++ code style reference
  • CPP-1815 — Add help buttons to the pages of Settings/Preferences dialog
  • CPP-1814 — Wrong key on Mac
  • CPP-1811 — Update global/local/property icons to be more consistent
  • CPP-1638 — Parameter info shows destructor as default constructor
  • CPP-1623 — Drop compiler cache when build directory changes

New in CLion 140.1221.2 EAP (Dec 23, 2014)

  • Highlights:
  • Debugger doesn’t hang on ‘cin >>’ operator any more.
  • When performing Invalidate caches, CMake generated folders are reset now as well (by the way, Help | Show Generated CMake File in… opens the folder that contains all generated files to help investigate problems).
  • Several actions and features were renamed to follow C++ naming convention. For example, Override/Imprelement function (Ctrl+O/Ctrl+I) action, a couple of C/C++ code style settings (Editor | Code Style | C/C++), etc.
  • Incorrect error highlighting of initializer lists with constructors inside when GNU STL is used was fixed (CPP-1619).
  • Parser is not confused any more with several constructors (CPP-1061).
  • Rename refactoring for a C++11 using type alias works without throwing exception now.
  • Function and keywords were accidentally colored with the same orange color in the previous build, the inaccuracy is fixed now.
  • Fixed issues:
  • CPP-1315 — Debugger hangs on 'cin >>' operator
  • CPP-1198 — CLion doesn't recognize "-std=c++14" compiler parameter
  • CPP-1648 — Functions and keywords now have the same color
  • CPP-180 — Global search finds matches in .svn directory
  • CPP-1733 — Blank lines settings still use Java
  • CPP-964 — Qt 4.8.5: Q_OBJECT int and void not compatible
  • CPP-1158 — Member-function chained after a constructor is not resolved
  • CPP-727 — function-try-block is not parsed correctly
  • CPP-1280 — Invalid highlighting of overloaded

New in CLion 140.569.17 EAP (Dec 11, 2014)

  • Several fixes were introduced to enhance the performance of the editor. Check if you get the improvement and share the feedback with us.
  • Issues with arrays were fixed in this build: CLion now understands the array sizes better (CPP-1568) and thus array length checks work correctly; false ‘compound array initializer’ was fixed (CPP-347).
  • A couple of problems with type casting were addressed (CPP-1567, CPP-1571, CPP-975).
  • CPP-1195 – Parameter info working incorrectly for some cases.
  • CPP-1390 – Incorrect handling of variable’s initialization.
  • CPP-994 – Errors caused by unnamed parameters when performing Rename or Change Signature.
  • CPP-1282 – The regression came to second EAP unfortunately – Rename files in project wasn’t working. Fixed now, and sorry for the inconvenience.
  • A couple of exceptions and fatal failures were fixed in this build as well.