CLion 2024.2 EAP 5: Zephyr West Support and Full Line Code Completion for C++
The CLion 2024.2 EAP 5 build (242.19890.26) is now out! It’s available from our website, via the Toolbox App, or as a snap package.
Zephyr West support
In this EAP build, we introduce a new project model supported by CLion – it’s called the West project model. As we previously mentioned in our roadmap for this release, a West project makes it much easier to set up, open, and build a project that uses Zephyr RTOS.
For existing projects that have installed Zephyr, West, and the Zephyr SDK, CLion detects Zephyr usage and automatically sets up the project to provide code insight features, such as code competition, code navigation, and others.
In addition, the new bundled CLion Integration for Zephyr® Project plugin provides the following features:
- Automatic creation of a Python interpreter and setting it as the current interpreter if there is a directory with a Python virtual environment next to the
.west
directory in the Zephyr workspace. - Building a project using the
west build
command. - Automatic creation of a run/debug configuration that flashes the built binary to a board using the
west flash
command (please note that you may need to install Flash Host Tools, like OpenOCD, to flash your binary). - Device tree integration uses the same board that is configured for the project.
- An optional Change Project Root suggestion to set the project’s root to the root of Zephyr’s workspace. By default, the Project view shows all the project’s source roots, which may sometimes be inconvenient.
To change the path to the West executable, board name, and build directory, go to Settings/Preferences | Build, Execution, Deployment | Embedded Development | West.
A Zephyr project opened previously as a CMake project can be re-opened as a West project using the Convert to West Project action. And vice-versa, a West project can be converted back to a CMake project with the Convert to CMake Project action.
Additional options for the west flash
command can be set in the settings of the West run/debug configuration.
Zephyr support is a work in progress, and we’d like to hear your feedback! Let us know your thoughts by commenting below or in our issue tracker.
Full line code completion for C++
Previously introduced for Java, Kotlin, Python, JavaScript, TypeScript, CSS, PHP, Go, and Ruby, full line code completion becomes available for C++ with this build.
The full line code completion feature suggests entire lines of code using a locally run deep learning model. It works completely locally and doesn’t send any data outside your IDE. Also note that it’s included with your active JetBrains IDE subscription at no additional cost.
❗️Full line code completion works only with the new ReSharper C++ language engine (also known as CLion Nova). Go to Settings/Preferences | Advanced Settings | CLion | Use the ReSharper C++ language engine (CLion Nova) to enable it.
To tweak the feature or download models for languages other than C++, go to Settings/Preferences | Editor | General | Inline Completion.
The full release notes are available here. Your feedback matters to us! Share your ideas in the comments section below or submit them to our issue tracker.
Your CLion team
JetBrains
The Drive to Develop