Early Access Program News

The CLion 2023.3 Early Access Program Is Open

We recently shared our preliminary plans for v2023.3, which we plan to release at the end of November. We are now happy to announce that the CLion 2023.3 Early Access Program (EAP) starts today!

Our EAP lets the community participate in discussions devoted to our products and influence the development plans from early on. EAP builds are free to use. Give them a try, and let us know what you think about the changes!

Share your feedback in the comments below or in our issue tracker.

CLion 2023.3 EAP

Build 233.6745.300 is available from our website, via the Toolbox App, or as a snap package if you are using Ubuntu.

DOWNLOAD CLION 2023.3 EAP

Assembly view for files

Checking out the underlying assembly code is important when you’re trying to find a bug or optimize your code’s runtime performance. That’s why tools like Compiler Explorer are popular. Up until now, CLion was capable of showing the disassembly code only during debugging. We often receive requests to make the functionality similar to that of Compiler Explorer and make it available even without using a debugger.

The new Show Assembly action does just that! It can be found via Find Action (Double Shift). Using the compiler settings from the currently selected resolve configuration, it compiles the code of the currently viewed C/C++ file to assembly and opens an editor with a preview showing which source code produces which assembly:

Assembly view

The preview has compiler arguments that can be changed so you can see how they affect the produced code.

The Show Assembly action supports the GCC, Clang, and Visual Studio C++ compilers, and it works for C and C++ source and header files (CUDA and other related languages are currently not supported).

C++ code analysis improvements

The CLion team is constantly working on increasing the accuracy of CLion’s code analysis. In this EAP, we implemented a so-called “function summaries” approach. This allowed us to distinguish different function contexts for arbitrary nested call chains, resulting in more accurate data flow analysis (DFA):

Tree example

See the full list of fixes linked to this ticket.

Existing inspections in DFA now also consider fields, and there is a new inspection that warns you if not all of the fields were initialized:

Non-initialized fields

Every time we add extra analysis and take additional conditions into account, we need to make sure that the overall analysis performance doesn’t degrade. This time, we’ve also implemented a bunch of optimizations. We hope to share some measurements with you later, as more DFA optimizations are coming.

Excluding test directories from indexing

To help you with code assistance, navigation, and code completion, the IDE needs to build an index of your code base symbols. For some libraries and other external code pieces, you might want to have this index, but you probably don’t need tests from there as you are unlikely to run them from your IDE.

You can now exclude directories specifically from test indexing without excluding them from the regular IDE index. To achieve that, you need to create a scope in Settings/Preferences | Appearance & Behavior | Scopes with the name “Tests” and specify the file- or folder-based pattern for it. The name of the Tests scope is configurable in Settings/Preferences | Advanced Settings | Tests Indexing Task:

Tests scope

If the Tests scope is in the project, only the files that are filtered by the scope will be indexed for tests. Otherwise, all files will be scanned as before.

After the Tests scope is set up, it can be used as a Project view filter, which is a convenient way to access all the test files in your project quickly:

Project View

UI updates

  • If you prefer a more compact IDE view, there’s a new option to hide the main toolbar in the default viewing mode. Go to View | Appearance and uncheck the Toolbar option to hide it.
  • If you want to quickly revert CLion’s custom tool window layout to the default one, you can now use Window | Layouts | Default to revert your workspace’s appearance to its default state.
  • Color-coding for file tabs will now help you easily distinguish between different types of files in the editor tabs and in the Project tool window. You can find the relevant settings in Settings/Preferences | Appearance & Behavior | File Colors.

By the way, if you’re on macOS, have you noticed the new CLion icon? We aligned it with the operating system’s standard style guidelines.

VCS

Expanding the GitLab integration introduced with the IntelliJ IDEA 2023.2 release, we’ve added support for GitLab snippets. You can now create public or private snippets directly within the IDE.

Other changes

CLion detects QML types in a project in order to parse them and provide coding assistance based on them. But library QML types or types from users’ plugins are often located in other places. To solve this issue, we’ve introduced the new Extra QML imports setting in Settings/Preferences | Languages & Frameworks | QML, which allows the IDE to search for QML imports in specified locations and parse types from user code. The value should include the directory path to the bin folder, without the library name.

Package management is still challenging in C++, but good tools like vcpkg and Conan are available to assist. To help you better understand package dependency graphs, the vcpkg integration in CLion now displays the list of package dependencies in the description of the package in the vcpkg tool window:

vcpkg dependencies

When you create a new project via the New Project wizard in CLion, a main.cpp or main.c file is generated for you automatically. In some cases however, you might want to rely on a custom template for these files. Now in the CLion 2023.3 EAP, you can edit such templates in Settings/Preferences | Editor | File and Code Templates | Other:
main.cpp and main.c templates

Attach to process is possible with the debugger of your choice if several options are configured. For your convenience, the dialog now remembers the last selected debugger.

The full release notes are available here.

DOWNLOAD CLION 2023.3 EAP

Your CLion team
JetBrains
The Drive to Develop

image description