CLion 2023.3 の新機能

CLion 2023.3 には技術プレビューの段階を経た JetBrains AI Assistant が搭載されており、コンテキストとプロジェクトの認識レベルがさらに向上した日常的な C++ 開発ワークフローに大いに役立つアクションが実装されています。 新しいリリースにはプロジェクトモデルのサポートの拡張、より詳細なコード解析と基になるアセンブリの表示に対応したツール、および組み込み開発者に便利なデバイスツリーファイルのサポートも備わっています。

主な更新内容

AI Assistant のプレビューが終了しました

AI Assistant のプレビューが終了しました 一般公開

JetBrains IDE の生産性を向上させる多数の新機能と改善が盛り込まれた JetBrains AI Assistant が一般公開されました。

CLion 2023.3 では、AI Assistant がより正確にドキュメントを生成し、ランタイムエラーを説明できるようになりました。 最新アップデートにはコンテキストを認識する AI チャットとプロジェクトを認識する AI アクションも含まれており、広範なコンテキストでより包括的な結果を提供できるようになっています。

CLion の AI Assistant は JetBrains AI サブスクリプションをご利用の場合にアドオン機能として使用できます。

CLion Nova

CLion Nova プレビュー

長らく未解決となっていたパフォーマンスと品質に関する問題を解決し、すべての C++ ツールのユーザーエクスペリエンスを統一するため、CLion Nova のリリース準備を進めている最中です。 これは、ReSharper C++ と JetBrains Rider の C++ 言語エンジンを搭載した無料プレビューバージョンの CLion です。 以下の内容を確実に実現します。

  • ハイライト速度の高速化
  • より応答性の高い UI
  • リファクタリングで発生するフリーズとハングの大幅な減少
  • Find Usages(使用箇所の検索)の高速化
  • テストインデックス作成の高速化

詳細を確認してプレビュー期間中に無料で使用する

C および C++ プロジェクトモデルの追加

C および C++ プロジェクトモデルの追加

広範なプロジェクトモデルが C および C++ プロジェクトに使用されています。 CLion は初期状態で CMake、コンパイルデータベース、Makefile、および Autotools プロジェクトに対応しています。 バージョン 2023.3 では待望の Meson サポートが備わっており、Bazel for CLion プラグインの多くの問題が解決されています。

変更内容の詳細

C++ コードの改善を目指す取り組み

C++ コードの改善を目指す取り組み

CLion にはコーディング中に常に実行され、コードの品質の改善を支援するデータフローアナライザーが組み込まれています。 バージョン 2023.3 では全体的な解析の正確性とパフォーマンスを改善し、メモリリーク解析を追加しました。

新しい解析の詳細

コードを詳細に解析

コードを詳細に解析

CLion はコードの実際の動作を把握し、コードベースに潜むバグを探すのに大いに役立ちます。 新しい Run to Cursor(カーソル位置まで実行)インレイオプションを使用するとデバッガーでコード内を素早く移動できます。また、ファイルの Assembly(アセンブリ)ビューはバグを発見したり、コードの実行時パフォーマンスを最適化したりしようとする際に役立ちます。

新機能の詳細

組み込み開発

組み込み開発

デバイスツリーは主にハードウェアの記述に使用される階層型データ構造です。 Zephyr で広く使用されており、ハードウェアの初期構成を提供します。 CLion でこのようなファイルの読み取り、操作、および保守がさらに簡単になりました。 拡張子が .dts.dtsi のファイルは IDE でデバイスツリーファイルとして処理され、デバイスツリーでコーディング支援オプションを使用できるようになりました。

DTS サポートの詳細

プロジェクトモデル

Bazel for CLion プラグイン

Google の CLion 用 Bazel プラグインに重要な品質改善が加えられました。

  • CLion がインクルードされているヘッダーを探す際に strip_include_prefix 引数を考慮して正しいパスを使用するようになりました。
  • コードインサイトが Bazel の仮想インクルードの下でシンボリックリンクされているヘッダーに対して正しく動作するようになりました。
  • local_repository または new_local_repository を使って WORKSPACE.bazel に追加されたプロジェクトが CLion で正しく同期され、インデックス作成されるようになりました。

Meson のサポート

Meson のサポートが CLion に導入されました! CLion で Meson プロジェクトを開き、ビルド、実行、デバッグを実行できます。 すべてのプラットフォームに対応しており、WSL や Docker などのローカルおよびリモートのツールチェーンで動作します。

meson.build ファイルを編集しやすくするため、CLion は以下の機能を提供しています。

  • コードハイライト
  • Structure(構造)ビュー: ファイルに executable(...) コマンドと library(...) コマンドがある場合に実行可能ファイルとライブラリを表示します。

CLion で Meson プロジェクトを扱う方法を見る

CMake 関連の強化

CMake プリセットの条件である equalsnotEquals が新たにサポートされ、CLion がこれらの条件に一致しないプリセットを表示しなくなりました。

Assembly(アセンブリ)ビュー

ファイルの Assembly(アセンブリ)ビュー

ファイルの Assembly(アセンブリ)ビュー

CLion 2023.3 では、基になるアセンブリコードを調べる際にデバッグセッションが不要になっています! 新しい Show Assembly(アセンブリの表示)アクションは現在選択されている解決構成のコンパイラー設定を使用し、現在表示されている C/C++ ファイルのコードをアセンブリにコンパイルし、どのソースコードがどのアセンブリを生成したかを示すプレビューをエディターで開きます。

詳細

Intel の構文

Intel の構文

CLion のすべての Assembly(アセンブリ)ビュー(デバッグセッションの有無は不問)が強化され、x86 アセンブリ(Intel)構文に切り替える機能が追加されました。 構文を切り替えるには、Assembly(アセンブリ)ビューウィンドウで Options(オプション)に移動し、ビューを更新して変更を適用します。

詳細

デバッガー

Run to Cursor(カーソル位置まで実行)

Run to Cursor(カーソル位置まで実行)

CLion 2023.3 の新しい UI には、デバッグ中に特定のコード行まで素早く移動するための Run to Cursor(カーソル位置まで実行)インレイオプションが新たに導入されています。 プログラムが一時停止したら、プログラムの実行を終了させたいコード行にマウスポインターを合わせて Run to Cursor(カーソル位置まで実行)ポップアップをクリックし、ポップアップでクリックした行に到達するまでコードを実行させることができます。

組み込み開発

ハードウェアを微調整できるようにするため、CLion はデバイスツリーファイルをサポートしています。 拡張子が .dts.dtsi のファイルは IDE でデバイスツリーファイルとして処理され、デバイスツリーではこれらのファイルに対応したコーディング支援オプションが提供されています。 詳細はオンラインドキュメントをご覧ください。

デバイスツリーファイルの読み取り

既存のデバイスツリーファイルを読み取りやすくするため、CLion は以下の機能を提供しています。

  • デバイスツリーファイルの構文ハイライト
  • デバイスツリーファイルのコード整形
  • デバイスツリーの要素にマウスポインターを合わせた際のコードドキュメント表示
  • デバイスツリーファイルの Structure(構造)ビューとコードの参照

デバイスツリーファイルの作成

デバイスツリーファイルへの書き込みをより効果的に行えるよう、CLion は以下をサポートしています。

  • 標準ノード、/<コマンド>/、およびラベルのコード補完
  • 入力中のラベルとノード名の検証
  • ツリー内の要素の順序が定義されている場合の順序検証
  • /bits/ オプションで定義された配列サイズのチェック

静的解析

Function summaries

CLion 2023.3 の新しい「Function summaries」手法によって任意のネストした呼び出しチェーンの異なる関数コンテキストを区別できるようになったため、より正確なデータフロー解析を実行できるようになりました。

フィールド解析

フィールド解析

DFA の既存のインスペクションでフィールドも考慮されるようになりました。また、すべてのフィールドが初期化されてないことを警告する新しいインスペクションも用意されています。

メモリリーク解析

メモリリーク解析

新たにメモリリーク解析が実装されました。 これにより、メモリが割り当てられていても、解放されないままアクセス不可能になっているケースを簡単に検出できるようになっています。

QML

QML

CLion はプロジェクトの QML タイプの検出と解析を行い、そのタイプに基づくコーディング支援を提供します。 しかし、ライブラリの QML タイプやユーザーのプラグインのタイプは往々にして別々の場所にあります。 この問題を解決するため、Settings(設定)/Preferences(環境設定)| Languages & Frameworks(言語とフレームワーク)| QML に新しい Extra QML imports(追加の QML インポート)設定を導入し、IDE が指定の場所で QML インポートを検索してユーザーコードからタイプを解析できるようにしました。

File templates(ファイルテンプレート)

File templates(ファイルテンプレート)

CLion の New Project(新規プロジェクト)ウィザードで新しいプロジェクトを作成する際、main.cpp ファイルまたは main.c ファイルが自動的に生成されます。 ただし、これらのファイルにカスタムテンプレートを使用したい場合もあるかと思います。 CLion 2023.3 では、Settings(設定)/Preferences(環境設定)| Editor(エディター)| File and Code Templates(ファイルとコードのテンプレート)| Other(その他)でそのようなテンプレートを編集できるようになりました。

IDE Features Trainer

IDE Features Trainer は IDE の基本機能を説明する一連の対話式チュートリアルです。 「ようこそ」画面から、または Help(ヘルプ)| Learn IDE Features(IDE 機能の学習)から起動できます。 詳細はオンラインドキュメントをご覧ください。

簡単にオンボード

トレーニングは CLion と主なユーザー操作(ビューとパネルの操作、エディターでファイルを開く、プログラムの起動、シンボルの自動補完、クイックフィックスの適用、シンボルの検索)に慣れることを目的としたオンボーディングツアーから始まります。

IDE のコア機能を学習

基本を学習し終えたら、コード編集、リファクタリング、コード補完、および Git セクションに進むことができます。 リスト内のレッスンを好みの順序で進められるため、最も興味のあるトピックにだけ専念できます。

ユーザーエクスペリエンス

メインツールバーを非表示にする

メインツールバーを非表示にする

IDE の表示をよりコンパクトにしたい場合、デフォルトの表示モードでメインツールバーを非表示にする新しいオプションを使用できます。 View(表示)| Appearance(外観)に移動し、Toolbar(ツールバー)オプションをオフにすると非表示になります。

ファイルタブの色分け

エディター内でさまざまなファイルタイプを同時に扱う際の操作性を改善するため、エディターのタブをデフォルトで色分けし、Project(プロジェクト)ツールウィンドウにその外観を反映させるようにしました。

ショートカットによる Speed Search(スピード検索)

ショートカットによる Speed Search(スピード検索)

ツールウィンドウとダイアログ内を素早く移動できるようにする Speed Search(スピード検索)機能がショートカットで利用できるようになりました。 ツリーまたはリストにフォーカスがある場合、Ctrl+F を押してツールウィンドウの Options(オプション)メニューから簡単に検索を呼び出せます。または単にクエリを入力し始めても同じ動作を得られます。

デフォルトのツールウィンドウレイアウト

デフォルトのツールウィンドウレイアウト

CLion のカスタムツールウィンドウレイアウトをデフォルトのレイアウトに素早く戻したい場合、Window(ウィンドウ)| Layouts(レイアウト)| Default(デフォルト) を使用してワークスペースの外観をデフォルトの状態に戻せるようになりました。

その他の機能強化

Tests(テスト)スコープ

テストのインデックス作成段階にかかる時間を減らすため、CLion に指定ディレクトリ内でテストを探すように手動で指示できるようになりました。 これを行うには、Tests(テスト)スコープを作成します。すると、テストのインデックスを作成する際にこのスコープで絞り込まれたファイルのみのインデックスが作成されます。

Tests(テスト)スコープを使って Project(プロジェクト)ビューを絞り込むと、プロジェクトのテストファイルに素早くアクセスできます。 詳細はこちらをご覧ください

Dev Container のサポートの改善

CLion 2023.3 では Dev Container のサポートを大幅に拡張しました。 Dev Container Features を使用して追加の開発ツール、ランタイム、ライブラリを簡単に追加できるようになり、基本コンポーネントのセットアップが単純化されました。 自動ポートフォワーディングも実装されたため、Dev Container でアプリケーションがリッスンし始めるポートがシームレスに転送されるようになりました。 詳細はこちらをご覧ください。

オールインワンの差分ビューアー

CLion 2023.3 では変更のレビュー方法を一新しています。 ファイルを 1 つずつ調査するのではなく、変更セットに含まれるすべての変更済みファイルを 1 つのスクロール可能なフレームで確認できるようになっています。 この新しい差分ビューアーは GitLab、GitHub、JetBrains Space のレビューに対応しています。

GitLab スニペットのサポート

CLion 2023.2 リリースで導入された GitLab 統合を拡張し、GitLab スニペットのサポートを追加しました。 IDE 内で公開または非公開のスニペットを直接作成できるようになっています。