CLion 2026.1 ヘルプ

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 つの方法があります。

ツールバーから切り替える

  1. 右側のツールバーで、IDE とプロジェクトの設定ボタン () をクリックします。

  2. Nova Engine に切り替えるをクリックします。

    Switch to CLion Nova via the toolbar
  3. 有効にして再起動をクリックして IDE を再起動します。

詳細設定から切り替える

  1. 設定 | 詳細設定に移動します。

  2. ReSharper C++ 言語エンジンを使用する (CLion Nova) チェックボックスを設定します。

    Switch to CLion Nova via Settings
  3. 適用をクリックして設定を保存し、IDE を再起動します。

CLion、Nova、CLion Classic の主な違い

  • CLion と Nova は、C++ 言語エンジンを 2 つ使用しています。1 つは clangd ベースのエンジン、もう 1 つは ReSharper C++ /Rider で使用されているエンジンです。ただし、CLion Classic とは異なり、CLion と Nova はコード補完やハイライト表示などのコア IDE 機能に clangd を使用していません。

  • 入力時の IDE の反応方法の一部が異なります。

  • コードインサイト機能に関連する一部の UI 要素と設定の外観と場所が変更されました。例: CLion Nova のインラインヒントの設定は次のとおりです。

    Type conversion hints settings in CLion Nova

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

    Type conversion hints settings in CLion Nova
  • 一部のコード関連の設定は、CLion Nova でデフォルト値が異なります。

  • 異なる言語構成間 (たとえば、デバッグプロファイルとリリースプロファイル間) を切り替えると、コードインサイトエンジンが追いつくまでにさらに時間がかかる場合があります。ファイルごとに解決コンテキストを切り替えるオプションもありません。

パフォーマンス上の利点

パフォーマンスの面では、CLion Nova の最も注目すべき利点は次のとおりです。

  • 特に増分コード更新の場合、ハイライト速度が速くなります。

  • より応答性の高い UI。

  • 使用箇所の検索のほうが速い。

  • リファクタリング中のフリーズやハングが大幅に減少しました。

  • テストのインデックス作成が高速化。

CLion Nova の新機能

CLion Classic の機能のほとんどは CLion、Nova でもまったく同じように動作しますが、CLion、Nova には CLion Classic の機能セットには含まれていない新しい機能もいくつかあります。

  • 新規リファクタリング (フィールドの導入、名前空間エイリアスの導入、列挙を使用した導入、スコープ付き列挙への変換など)。

  • 新しいインスペクション、クイックフィックス、インテンションのような冗長修飾子、明示的な型宣言による auto の置き換え、および #include ディレクティブの並べ替え。

  • 新しいコードのヒントのようなプリプロセッサーディレクティブヒントと Push-to-Hint モード。

  • C++ の新しいライブテンプレートコードスタイル設定

現在の CLion Nova の制限

CLion Nova では次の機能はサポートされていません。

  • 移動 (CPP-35867(英語)) やインライン化 (CPP -35868(英語)) などのいくつかのリファクタリング。

  • Objective-C および Objective-C++(CPP-37281(英語))です。ただし、プロジェクトにこれらの言語で書かれたコードが部分的にしか含まれていない場合は、CLion/Nova が提供する基本的なサポート(英語)で十分かもしれません。これには、構文のハイライト、コード補完の提案、警告、ソースファイル用のその他のエディター機能が含まれます。

  • インスペクション、インテンション、クイックフィックス(CPP-35879(英語)CPP-35980(英語))。

  • Cling.

2026 年 6 月 18 日

関連ページ:

CMake プロファイル

CMake プロジェクトのビルドに必要な設定は CMake プロファイルに組み込まれています。これには、ツールチェーンとビルド型に加え、ジェネレーターや環境変数などの CMake オプションが含まれます。たとえば、異なるコンパイラーを使用したり、異なる設定でターゲットをビルドしたりするために、プロジェクトに複数のプロファイルを構成できます。プロファイル設定にアクセスする次のいずれかを実行して、CMake プロファイル設定を開きます。に移動します。を押してアクションの検索ダイアログを開き、CMake...

コンテキストを解決する

構文のハイライト、および使用箇所の検索、リファクタリング、コード生成、コード分析などの他のコードインサイト機能は、コードの解析と解決のルールを決定するプリプロセッサー定義のセットに依存する場合があります。これらのルールは、解決コンテキストとも呼ばれます。現在開いているファイルの解決コンテキストを切り替える (CMake プロジェクト)CMake プロジェクトの場合、解決コンテキストは対応する CMake プロファイルによって定義されます。スイッチャーで目的の構成またはプロファイルを選択します。解決...

CLion Nova リファクタリング

CLion Nova は、次の追加のリファクタリングを提供します。フィールドの導入 ,、ネームスペースエイリアスを導入する ,、列挙を使用して導入する ,、およびスコープ付き列挙に変換します。フィールドの導入:このリファクタリングでは、選択した式に基づいて新しいフィールドを作成し、その式またはコンストラクターからそれを初期化し、式の出現箇所を新しく導入されたフィールドへの参照に置き換えます。このリファクタリングを呼び出すには、を押します。以下の例では、このリファクタリングを使用して、同じ文字列の...

CLion Nova インレイヒント(C++)

CLion Nova は追加のインレイヒントを提供し、プッシュツーヒントモードを導入します。パラメーター名ヒント:パラメーター名のヒントは、メソッド呼び出しで対応する引数の横にパラメーター名を表示するエディターの装飾です。これらは、関数呼び出しと集計の初期化でパラメーターの長い(場合によってはネストされた)リストを見つけるのに役立ちます。以下の例では、パラメーター名のヒントは、高さと幅の引数が混在しているという事実を見つけるのに役立ちます。パラメーター名のヒントは、初期化するメンバーの名前を示...

CLion、Nova、C++ のライブテンプレート

このページでは、C++ コードのライブテンプレートを構成および作成できます。ライブテンプレートを使用して、ループ、条件、宣言、print ステートメントなどの一般的な構造をコードに挿入します。リストからテンプレートを選択します。左下のペインには、展開されたスタブコードが表示されます。テンプレートを編集する必要がある場合は、このペインを使用します。以下の表は、ダイアログの右下領域のコントロールを説明しています。ショートカットライブテンプレートを挿入するには、この省略形を使用します。エディターに入力...

CLion Nova コードスタイル設定(C++)

このページでは、C++ のコードスタイルのさまざまな側面を構成できます。コードスタイルの設定は、以下で説明するタブにグループ化されています。一般:C++ フォーマットエンジンこれらのラジオボタンを使用して、CLion、Nova が C++ コードをフォーマットおよび再フォーマットするときに使用するフォーマットエンジンを選択します。ReSharper フォーマッター — ReSharper C++ フォーマットのデフォルトセットを使用する場合、または以前に書式スタイルを構成してレイヤーベースの設定...