CLion 言語エンジン
CLion には、C 言語および C++ 言語エンジン(CLion Classic と CLion、Nova)の 2 種類があります。 CLion Classic はレガシーエンジンですが、現在もご利用いただけます。 CLion、Nova はパフォーマンスが向上した新エンジンで、CLion 2025.3 以降、すべてのユーザーのデフォルトとなっています。
CLion、Nova は、ReSharper C++ および Rider 用に開発された JetBrains 専用エンジンをベースにしています。 この内蔵エンジンを CLion 専用に改善し、2023 年 11 月に初 導入しました(英語)。
CLion Classic は、パフォーマンスと信頼性に関する問題が蓄積していたため、交換を決定しました。 CLion と Nova は、これらの課題に対処するために特別に設計されており、応答性、精度、全体的な効率性が向上しています。
CLion Nova に切り替える
CLion Classic から CLion、Nova に切り替えるには、ツールバーを使用するか、 を使用するかの 2 つの方法があります。
ツールバーから切り替える
右側のツールバーで、 IDE とプロジェクトの設定 ボタン (
) をクリックします。
Nova エンジンに切り替える をクリックします:

有効化して再起動する をクリックして IDE を再起動します。
詳細設定から切り替える
に進みます。
ReSharper C++ 言語エンジン(CLion Nova)を使用する チェックボックスを設定してください:

変更を適用 をクリックして設定を保存し、IDE を再起動します。
CLion、Nova、CLion Classic の主な違い
CLion Nova は引き続き 2 種類の C++ 言語エンジン(clangd ベースと ReSharper C++ / Rider で使われているもの)を使用しています。 ただし、CLion Classic とは異なり、CLion Nova はコード補完やハイライトなどのコア IDE 機能に clangd を使用しません。
入力時の IDE の反応方法の一部が異なります。
コードインサイト機能に関連する一部の UI 要素と設定の外観と場所が変更されました。 例として、CLion Nova のインラインヒント設定は次のとおりです。

また、CLion Classic のインラインヒント設定は次のとおりです。

一部のコード関連の設定は、CLion Nova でデフォルト値が異なります。
異なる言語構成間 (たとえば、デバッグプロファイルとリリース プロファイル間) を切り替えると、コードインサイトエンジンが追いつくまでにさらに時間がかかる場合があります。 ファイルごとに 解決コンテキストを切り替えるオプションもありません。
パフォーマンス上の利点
パフォーマンスの面では、CLion Nova の最も注目すべき利点は次のとおりです。
特に増分コード更新の場合、ハイライト速度が速くなります。
より応答性の高い UI。
使用箇所の検索のほうが速い。
リファクタリング中のフリーズやハングが大幅に減少しました。
テストのインデックス作成が高速化。
CLion Nova の新機能
CLion Classic の機能のほとんどは CLion、Nova でもまったく同じように動作しますが、CLion、Nova には CLion Classic の機能セットには含まれていない新しい機能もいくつかあります。
新規リファクタリング (フィールドの導入、名前空間エイリアスの導入、列挙を使用した導入、スコープ付き列挙への変換など)。
新しいインスペクション、クイックフィックス、インテンションのような冗長修飾子、明示的な型宣言による
autoの置き換え、および#含めるディレクティブの並べ替え。新しいコードのヒントのようなプリプロセッサーディレクティブヒントと Push-to-Hint モード。
現在の CLion Nova の制限
CLion Nova では次の機能はサポートされていません。
(CPP-35867(英語)) や (CPP -35868(英語)) などのいくつかのリファクタリング。
Objective-C および Objective-C++(CPP-37281(英語) )です。 ただし、プロジェクトにこれらの言語で書かれたコードが部分的にしか含まれていない場合は、CLion/Nova が提供する 基本的なサポート(英語)で十分かもしれません。 これには、構文のハイライト、コード補完の提案、警告、ソースファイル用のその他のエディター機能が含まれます。
Cling.