CLion 2024.1 では、CMake の編集エクスペリエンスの向上、マルチプロセスデバッグ機能、デバイスツリーファイルでのより正確なハードウェアの記述支援、および大幅に改善されたバージョン管理システムとの統合の導入が行われています。
CMake スクリプトの編集は難しいと感じていませんか? CLion 2024.1 では CMake ターゲットの記述支援が強化され、さらに簡単にスクリプトを編集できるようになりました。 CLion は新しいターゲットを作成するためのライブテンプレートだけでなく、コード補完、ナビゲーション、およびターゲット名の使用箇所の検索を提案します。
CLion のデバッガーバックエンドとの統合は継続的に改善されています。 この最新リリースでの CLion では、マルチプロセスターゲットをデバッグすることが可能です。 最新の GDB 14.1 バージョンが組み込みでサポートされており、GDB ユーザーはその恩恵を受けることができます。 GDB インデックスの作成を後押しする新しいオプションも追加されているため、デバッグのパフォーマンスがさらに向上します。
CLion の Meson サポートは継続的に改善されています。 この 2024.1 バージョンでは多数の便利なコマンド、Meson のカスタム設定、および CLion の New Project(新規プロジェクト)ウィザードから新しい Meson プロジェクトを作成するオプションを備えた Meson ツールウィンドウが導入されています。
CLion と他の JetBrains IDE で VCS のサポートが大幅に更新され、差分ビューアーの強化、ブランチ検索機能の改善、コードレビューワークフローの合理化、およびサブシステム全体にわたるその他多くの有効な改善にが行われました。
新しい CMake ターゲットが必要ですか? add_executable
(exe
を入力)と add_library
(lib
を入力)CMake コマンドを自動作成する新しいライブテンプレートが追加されました。
CLion で CMake コマンドのターゲット名が補完されるようになりました。 これにより、ファイルからターゲットへのリンクやその他のターゲット関連の操作の実行が簡単になりました。
特定のターゲットが定義されている箇所をお探しですか? CLion でターゲットの使用箇所を 1 回クリックするだけで、対応する add_library
または add_executable
コマンドに移動できるようになりました。
プロジェクト内のターゲットのすべての使用箇所を Find Usages(使用箇所の検索)(Alt+F7)でリスト表示できます。 ツールウィンドウ内の項目は使用箇所とターゲットの定義に分類されます。
CMake の必要最低バージョンが指定されていないことが原因で CMake が読み込みに失敗した場合、CLion は CMake ツールウィンドウで修正を提案します。 Fix...
(修正...)をクリックすると、CLion が cmake_minimum_required
コマンドを更新します。
CLion にインポートする CMake プリセットのタイプを構成できるようになりました。 たとえば、インポートリストから Configure(構成)オプションを選択できるようになっています。 これを行うには、Settings(設定)/Preferences(環境設定)| Advanced Settings(詳細設定)| CMake | Automatically import CMake Presets(CMake プリセットの自動インポート)を使用します。
最後になりますが、CLion 2024.1 には CMake バージョン 3.28 がバンドルされています。
CLion バージョン 2023.3 から Meson プロジェクトモデルをサポートするようになりました。 このサポートに伴い、Meson ツールウィンドウ(View(表示)| Tool Windows(ツールウィンドウ)| Meson)が追加されています。 このウィンドウにはビルドターゲットに加えて、clean
、install
、test
などの便利なコマンドのリストが表示されます。
新しい Meson プロジェクトを開始しようとしていますか? CLion の New Project(新規プロジェクト)ウィザードにその作業を効率化するオプションが導入されました。 この新しい Meson プロジェクトのファイルテンプレートは、Settings(設定)/Preferences(環境設定)| Editor(エディター)| File and Code Templates(ファイルとコードのテンプレート)| Meson Project(Meson プロジェクト)で構成できます。
Meson 実行可能ファイルへのカスタムパスを指定する必要がある場合には、CLion の Meson 設定で指定できるようになりました。 また、Setup options(セットアップオプション)フィールドを使用して追加の Meson コマンドを指定することもできます。
CLion でマルチプロセスターゲットをデバッグできるようになりました。 最新リリースでは、コンテキストメニューから追跡ポリシーとデタッチポリシーを更新できます。 この機能は Linux(LLDB および GDB)とリモートツールチェーン(WSL、リモート、Docker)で使用できます。
これらの設定に関する詳細は、ドキュメントをご覧ください。
ハードウェアの開発に携わっており、デバイスツリーファイルを作成している方は、CLion バージョン 2023.3 で追加されたデバイスツリーファイルのコーディング支援を活用できます。 この新バージョンではデバイスツリーファイルでのコード解析を改善し、CMake を Zephyr 設定とデフォルトで同期しました。
バインディングを使用してノードプロパティを検証するため、無効なプロパティの型と必須または未宣言のプロパティに対する新しいチェックが導入されました。
Duplicate element(重複する要素)インスペクションは、デバイスツリーノード内の重複する要素を検出します。 検出されるのは、同じ名前を持つ 2 つ以上のプロパティまたは 2 つ以上のノードです。
列挙型が使用されている場合、CLion はそのようなプロパティの値を検証し、許可されない値を報告できます。
デバイスツリーファイルの作成を支援するため、ルートノードのコード補完を追加しました。
JetBrains IDE バージョン 2024.1 では新しいターミナル(ベータ)を使用できるようになりました。 古いターミナルと新しいターミナルの切り替えは、Settings(設定)/Preferences(環境設定)| Tools(ツール)| Terminal(ターミナル)| Enable New Terminal(新しいターミナルの有効化)で行えます。
この機能セットを拡張し、IDE の最新の使用感に合わせて外観の改善と調整を行いました。
Bash、Zsh、および PowerShell のみがサポートされており、他のシェルに対するサポートも開発中です。 詳細については、こちらをお読みください。
このリリースの CLion では、VCS のサポートに関する以下のような更新が行われています。
すべての変更については、こちらをご覧ください。
新しいコードベースや大きなファイルの中を移動するのは苦労する場合があります。 その苦労を軽減するため、スクロール中に行を固定する機能をエディターに追加しました。 この機能を使用すると、クラスや関数の開始部などの重要な構造要素をエディターの上部にピン留めした状態でスクロールできます。 そうすれば常に表示範囲が固定され、固定表示の行をクリックして迅速にコード内を移動できます。
過去のリリースでは CLion に IDE 全体を拡大縮小し、同時にすべての UI 要素のサイズも調整される機能が導入されました。 ただし、導入時の表示倍率は 100%~200% に制限されていました。 今回は IDE を 90%、80%、または 70% に縮小できる新しいオプションを導入することで、より柔軟にカスタマイズできるようにしました。
CLion 2023.3 には技術プレビューの段階を経た JetBrains AI Assistant が搭載されており、コンテキストとプロジェクトの認識レベルがさらに向上した日常的な C++ 開発ワークフローに大いに役立つアクションが実装されています。 新しいリリースにはプロジェクトモデルのサポートの拡張、より詳細なコード解析と基になるアセンブリの表示に対応したツール、および組み込み開発者に便利なデバイスツリーファイルのサポートも備わっています。
JetBrains IDE の生産性を向上させる多数の新機能と改善が盛り込まれた JetBrains AI Assistant が一般公開されました。
CLion 2023.3 では、AI Assistant がより正確にドキュメントを生成し、ランタイムエラーを説明できるようになりました。 最新アップデートにはコンテキストを認識する AI チャットとプロジェクトを認識する AI アクションも含まれており、広範なコンテキストでより包括的な結果を提供できるようになっています。
CLion の AI Assistant は JetBrains AI サブスクリプションをご利用の場合にアドオン機能として使用できます。
長らく未解決となっていたパフォーマンスと品質に関する問題を解決し、すべての C++ ツールのユーザーエクスペリエンスを統一するため、CLion Nova のリリース準備を進めている最中です。 これは、ReSharper C++ と JetBrains Rider の C++ 言語エンジンを搭載した無料プレビューバージョンの CLion です。 以下の内容を確実に実現します。
広範なプロジェクトモデルが C および C++ プロジェクトに使用されています。 CLion は初期状態で CMake、コンパイルデータベース、Makefile、および Autotools プロジェクトに対応しています。 バージョン 2023.3 では待望の Meson サポートが備わっており、Bazel for CLion プラグインの多くの問題が解決されています。
変更内容の詳細を見る
CLion にはコーディング中に常に動作し、コード品質の改善を支援するデータフローアナライザーが組み込まれています。 バージョン 2023.3 では全体的な解析の正確性とパフォーマンスを改善し、メモリリーク解析を追加しました。
新しい解析の詳細を見る
CLion はコードの実際の動作を把握し、コードベースに潜むバグを探すのに大いに役立ちます。 新しい Run to Cursor(カーソル位置まで実行)インレイオプションを使用するとデバッガーでコード内を素早く移動できます。また、ファイルの Assembly(アセンブリ)ビューはバグを発見したり、コードの実行時パフォーマンスを最適化したりしようとする際に役立ちます。
新しい機能の詳細を見る
Google の Bazel for CLion プラグインに以下のような重要な品質改善が行われています。
strip_include_prefix
引数を考慮して正しいパスを使用するようになりました。 local_repository
または new_local_repository
を使って WORKSPACE.bazel に追加されたプロジェクトが CLion で正しく同期され、インデックス作成されるようになりました。 CLion に Meson のサポートが導入されました! CLion で Meson プロジェクトを開き、ビルド、実行、デバッグを実行できます。 すべてのプラットフォームに対応しており、WSL や Docker などのローカルおよびリモートのツールチェーンで動作します。
meson.build ファイルを編集しやすくするため、CLion は以下の機能を提供しています。
executable(...)
コマンドと library(...)
コマンドがある場合に実行可能ファイルとライブラリを表示します。 CMake プリセットの条件である equals
と notEquals
が新たにサポートされ、CLion がこれらの条件に一致しないプリセットを表示しなくなりました。
CLion 2023.3 では、基になるアセンブリコードを調べる際にデバッグセッションが不要になっています! 新しい Show Assembly(アセンブリの表示)アクションは現在選択されている解決構成のコンパイラー設定を使用し、現在表示されている C/C++ ファイルのコードをアセンブリにコンパイルし、どのソースコードがどのアセンブリを生成したかを示すプレビューをエディターで開きます。
CLion のすべての Assembly(アセンブリ)ビュー(デバッグセッションの有無は不問)が強化され、x86 アセンブリ(Intel)構文に切り替える機能が追加されました。 構文を切り替えるには、Assembly(アセンブリ)ビューウィンドウで Options(オプション)に移動し、ビューを更新して変更を適用します。
CLion 2023.3 の新しい UI には、デバッグ中に特定のコード行まで素早く移動するための Run to Cursor(カーソル位置まで実行)インレイオプションが新たに導入されています。 プログラムが一時停止したら、プログラムの実行を終了させたいコード行にマウスポインターを合わせて Run to Cursor(カーソル位置まで実行)ポップアップをクリックし、ポップアップでクリックした行に到達するまでコードを実行させることができます。
ハードウェアを微調整できるようにするため、CLion はデバイスツリーファイルをサポートしています。 拡張子が .dts と .dtsi のファイルは IDE でデバイスツリーファイルとして処理され、デバイスツリーではこれらのファイルに対応したコーディング支援オプションが提供されています。 詳細は、オンラインドキュメントをご覧ください。
既存のデバイスツリーファイルを読み取りやすくするため、CLion は以下の機能を提供しています。
デバイスツリーファイルへの書き込みをより効果的に行えるよう、CLion は以下をサポートしています。
/<commands>/
、およびラベルのコード補完/bits/
オプションで定義された配列サイズのチェックCLion 2023.3 の新しい「Function summaries」手法によって任意のネストした呼び出しチェーンの異なる関数コンテキストを区別できるようになったため、より正確なデータフロー解析を実行できるようになりました。
DFA の既存のインスペクションでフィールドも考慮されるようになりました。また、すべてのフィールドが初期化されてないことを警告する新しいインスペクションも用意されています。
新たにメモリリーク解析が実装されました。 これにより、メモリが割り当てられていても、解放されないままアクセス不可能になっているケースを簡単に検出できるようになっています。
CLion はプロジェクトの QML タイプの検出と解析を行い、そのタイプに基づくコーディング支援を提供します。 しかし、ライブラリの QML タイプやユーザーのプラグインのタイプは往々にして別々の場所にあります。 この問題を解決するため、Settings(設定)/Preferences(環境設定)| Languages & Frameworks(言語とフレームワーク)| QML に新しい Extra QML imports(追加の QML インポート)設定を導入し、IDE が指定の場所で QML インポートを検索してユーザーコードからタイプを解析できるようにしました。
CLion の New Project(新規プロジェクト)ウィザードで新しいプロジェクトを作成する際、main.cpp ファイルまたは main.c ファイルが自動的に生成されます。 ただし、これらのファイルにカスタムテンプレートを使用したい場合もあるかと思います。 CLion 2023.3 では、Settings(設定)/Preferences(環境設定)| Editor(エディター)| File and Code Templates(ファイルとコードのテンプレート)| Other(その他)でそのようなテンプレートを編集できるようになりました。
IDE Features Trainer は IDE の基本機能を説明する一連の対話式チュートリアルです。 「ようこそ」画面から、または Help(ヘルプ)| Learn IDE Features(IDE 機能の学習)から起動できます。 詳細は、オンラインドキュメントをご覧ください。
トレーニングは CLion と主なユーザー操作(ビューとパネルの操作、エディターでファイルを開く、プログラムの起動、シンボルの自動補完、クイックフィックスの適用、シンボルの検索)に慣れることを目的としたオンボーディングツアーから始まります。
IDE の表示をよりコンパクトにしたい場合、デフォルトの表示モードでメインツールバーを非表示にする新しいオプションを使用できます。 View(表示)| Appearance(外観)に移動し、Toolbar(ツールバー)オプションをオフにすると非表示になります。
エディター内でさまざまなファイルタイプを同時に扱う際の操作性を改善するため、エディターのタブをデフォルトで色分けし、Project(プロジェクト)ツールウィンドウにその外観を反映させるようにしました。
ツールウィンドウとダイアログ内を素早く移動できるようにする Speed Search(スピード検索)機能がショートカットで利用できるようになりました。 ツリーまたはリストにフォーカスがある場合、Ctrl+F を押してツールウィンドウの Options(オプション)メニューから簡単に検索を呼び出せます。または単にクエリを入力し始めても同じ動作を得られます。
CLion のカスタムツールウィンドウレイアウトをデフォルトのレイアウトに素早く戻したい場合、Window(ウィンドウ)| Layouts(レイアウト)| Default(デフォルト) を使用してワークスペースの外観をデフォルトの状態に戻せるようになりました。
テストのインデックス作成段階にかかる時間を減らすため、CLion に指定ディレクトリ内でテストを探すように手動で指示できるようになりました。 これを行うには、Tests(テスト)スコープを作成します。すると、テストのインデックスを作成する際にこのスコープで絞り込まれたファイルのみのインデックスが作成されます。
Tests(テスト)スコープを使って Project(プロジェクト)ビューを絞り込むと、プロジェクトのテストファイルに素早くアクセスできます。 詳細はこちらを参照してください。
CLion 2023.3 では Dev Container のサポートを大幅に拡張しました。 Dev Container Features を使用して追加の開発ツール、ランタイム、ライブラリを簡単に追加できるようになり、基本コンポーネントのセットアップが単純化されました。 自動ポートフォワーディングも実装されたため、Dev Container でアプリケーションがリッスンし始めるポートがシームレスに転送されるようになりました。 詳細については、こちらをご覧ください。
CLion 2023.3 では変更のレビュー方法を一新しています。 ファイルを 1 つずつ調査するのではなく、変更セットに含まれるすべての変更済みファイルを 1 つのスクロール可能なフレームで確認できるようになっています。 この新しい差分ビューアーは GitLab、GitHub、JetBrains Space のレビューに対応しています。
CLion 2023.2 リリースで導入された GitLab 統合を拡張し、GitLab スニペットのサポートを追加しました。 IDE 内で公開または非公開のスニペットを直接作成できるようになっています。
CLion 2023.2 は PlatformIO の統合の改良、vcpkg のサポート改善、基本的な IDE ユーザーワークフローの一部に必然的に組み込まれた AI Assistant 機能、および低レベル、リモート、および組み込みデバッグのエクスペリエンスの改善を提供します。
CLion 2023.2 では AI Assistant 機能が導入され、一部の基本的な IDE ユーザーワークフローに自然に組み込まれています。 この機能により、C と C++ で選択されたコードの説明、そのコード箇所に対するより適切なリファクタリング方法の提案、または潜在的な問題の検出が行われます。 コミットメッセージの生成と CMake エラーの説明にも対応しています。
CLion 2023.2 では現在のフレームのレジスターを検査する機能が導入され、低レベルのデバッグがより簡単になりました。 逆アセンブリビューではレジスターを直接インラインで確認できます。 Attach to Process(プロセスに接続)ダイアログの大幅な更新により、リモートおよび WSL プロセスへの接続が可能になっています。
PlatformIO is an open-source platform that helps embedded developers with their projects. CLion 2023.2 はこのプラットフォームとネイティブに統合されています。 IDE が platformio.ini ファイルを直接処理し、その変更を追跡して随時プロジェクト情報を更新します。
IntelliJ ベース IDE と .NET ツールの新バージョンである 2023.2 には、重要な新機能である AI Assistant が搭載されています。 AI Assistant は開発の早期段階にある機能ではありますが、基本的な IDE のユーザーワークフローに組み込み、コードを理解する大規模な AI 機能を統合するという私たちのアプローチを試すことができます。 詳細については、ウェブヘルプをご覧ください。
AI Assistant は現時点では JetBrains IDE の安定版リリースにバンドルされていませんが、個別のプラグインとしてインストールできます。 当面の間、AI Assistant 機能を利用するには順番待ちリストに登録する必要があります。
AI Assistant はプログラミングのトピックを専門としており、プロジェクト固有の場面で役に立ちます。 新しい専用のツールウィンドウで繰り返し作業を行い、満足のいく結果を得られたら、Insert Snippet at Caret(キャレット位置にスニペットを挿入)を使用して AI が生成したコードをエディターに配置するか、手動でコピーできます。
エディター内の特定コード箇所を選択し、AI Actions...(AI アクション...)コンテキストメニューからアクションを呼び出せます。
AI Assistant は以下について支援が可能です。
AI Assistant に変更内容の説明を手助けしてもらいましょう。 コミットメッセージダイアログで Generate Commit Message with AI Assistant(AI Assistant でコミットメッセージを生成)ボタンをクリックすると、変更の差分が LLM に送信され、変更内容を説明するコミットメッセージが生成されます。
プロジェクトで CMake の実行に失敗した場合、CMake ツールウィンドウの Explain with AI(AI で説明)をクリックすると、失敗した内容とその修正方法について詳しく確認できます。
Attach to Process(プロセスに接続)ダイアログを使用すると、ローカルかリモートかを問わず、CLion の外部で起動されたプロセスをデバッグできるだけでなく、IDE のデバッガー統合機能を利用することもできます。
バージョン 2023.2 以降では以下について可能です。
現在のフレームのレジスターを検査する機能を使用できる場合、低レベルのデバッグをより簡単に行えるようになりました。 CLion がデバッガーツールウィンドウの Variables(変数)タブにレジスター値を表示するようになりました。
CLion が ARM アセンブリ言語のサポートを開始し、ARM アセンブラーのコードハイライトを逆アセンブリビューで確認できるようになりました。
逆アセンブリコードをデバッグする際、CLion の逆アセンブリビューでレジスター値をインライン表示できるようになりました。
デバッガー関連のその他の改善
PlatformIO is an open-source platform that helps embedded developers with their projects. CLion 2023.2 では介在する CMake のレベルが PlatformIO との統合から削除されました。 IDE が platformio.ini ファイルを直接処理し、その変更を追跡して随時プロジェクト情報を更新するようになっています。
PlatformIO プラグインのインストール方法と、プラグインを使用した新しいプロジェクトの作成方法や既存プロジェクトの開き方については、ウェブヘルプをご覧ください。
一部の pio
コマンドを IDE(Tools(ツール)| PlatformIO)から直接呼び出せるようになりました。ターミナルへの切り替えは不要です。 このコマンドには、プロジェクトの再読み込み、プロジェクトでの静的コード解析の実行、デバイスモニターの起動などが含まれます。
PlatformIO ツールウィンドウでは、最もよく使用されるコマンドとプロジェクトのアクションに素早くアクセスできます。
その他の改善:
CLion が Segger J-Link GDB サーバーで正しくデバッグできるよう、通常の SIGINT
および SIGSTOP
シグナルに加えて SIGTRAP
も処理できるようにしました。
プロジェクトの依存関係と外部ライブラリを管理できるよう、CLion には C/C++ 用のパッケージマネージャーである vcpkg が統合されています。 バージョン 2023.2 ではこの統合に大幅な更新が加えられており、サポートされるシナリオの数が増えています。
vcpkg の操作にはクラシックモードとマニフェストモードの 2 種類があります。 CLion UI ではこれらのモードを明確に区別し、専用のボタンを使ってマニフェストモードに簡単に切り替えられるようになりました。
vcpkg のクラシックモードの利便性を高めるため、vcpkg ツールウィンドウにすべてのコマンドと出力を表示する Console(コンソール)タブが追加されました。
CLion 2023.2 では、新しいファイルを追加できる CMake ターゲットがない場合に使用する新しい C/C++ ファイルの作成ダイアログが改善されています。 新しい Add new target...(新しいターゲットの追加...)アクションは、新しいターゲットを作成し、それを選択した CMakeLists.txt ファイルに追加します。 ターゲットを追加したら、新しいファイルをそれに追加できます。
CLion 2023.2 では、CMake 3.25 の新しいパラメーターと、リクエストされた範囲のコマンドグループの実行に使用される新しいブロックコマンドに対応したハイライトと補完機能が追加されています。 CLion で新しいコマンドのハイライト、整形、折りたたみ、および文書化が正しく行われるようになっています。
CLion 2023.2 には CMake 3.26 がバンドルされています。
Parameter Info(パラメーター情報)ポップアップではユーザーが入力中にシグネチャーの variant が表示されますが、この機能が CMake コマンドにも対応しました。 複数の variant を持つコマンドなどで次に入力すべきパラメーターを知るのに役立ちます。
プロジェクトに Linux ベース環境の Docker ファイルが含まれており、その中で Windows マシンからアプリケーションを開発する場合、CLion で WSL と Docker を使ってそれをセットアップできます。
出力コンソールのターミナルエミュレーションを構成ごとに有効化または無効化できるようになりました。 デフォルトでは無効になっており、それを制御する設定が Advanced Settings(高度な設定)セクションから Run Configuration(実行構成)セクションに移動されています。
Windows では、通常の権限と管理者権限のどちらでも MSVC LLDB ベースのデバッグで動作するようになりました。
バージョン 2023.2 では代替の Light with Light Header(ライトヘッダーを使ったライト)オプションが導入されたため、ユーザーエクスペリエンスが向上しています。このテーマではウィンドウのヘッダー、ツールチップ、および通知バルーンで対応する明るい色が使用されます。
複数の実行構成を管理しやすくするため、Run(実行)ウィジェットにお好みの構成をピン留めできるオプションを実装しました。
新しい UI を使って macOS の全画面表示モードで作業する場合、以前のようなフローティングバーではなくメインツールバーにウィンドウコントロールが直接表示されるようになりました。
Linux ユーザーの利便性を考慮し、オペレーティングシステムのネイティブヘッダーが新しい UI から削除されました。その結果、よりすっきりとしたインターフェースになっています。 デフォルトではカスタムの IDE ヘッダーが表示されるようになっていますが、ユーザーのワークスペースに合わせてカスタマイズできるオプションが豊富に提供されています。
CLion では開いている複数のプロジェクト間を簡単に移動できるように色付きのヘッダーが導入されています。 プロジェクトごとに固有の色とアイコンを割り当てられるようになっているため、ワークスペース内のプロジェクトがより区別しやすくなりました。
新しい UI のメインツールバーのカスタマイズオプションを拡張しました。 ドロップダウンメニューを使用して必要なアクションを素早く選択し、このツールバーに追加できるようになっています。 これを行うには任意のウィジェットで右クリックして Add to Main Toolbar(メインツールバーに追加)を選択し、使用できるオプションを参照します。