CLion 2024.1 は、CMake 編集エクスペリエンスをレベルアップし、マルチプロセスデバッグ機能のロックを解除し、デバイスツリーファイルでのハードウェア記述の精度を高め、バージョン管理システムとの統合を大幅に改善します。
CMake スクリプトの編集は難しいと感じますか ? CLion 2024.1 を使用すると、CMake ターゲットの強化された書き込み支援が提供され、スクリプトの編集がさらに簡単になります。現在、CLion は、新しいターゲットを作成するためのライブテンプレート、およびターゲット名用のコード補完、ナビゲーション、 使用箇所の検索を提案します。
CLion とデバッガーバックエンドの統合は継続的に改善されています。この最新リリースでは、CLion でマルチプロセスターゲットをデバッグできるようになりました。GDB ユーザーは、最新の GDB 14.1 バージョンのバンドルサポートの恩恵を受けることができます。GDB インデックスを強化する新しいオプションも追加され、デバッグのパフォーマンスが向上しました。
CLion の Meson サポートは引き続き改善されています。この 2024.1 バージョンには、多くの便利なコマンド、Meson のカスタム設定、CLion の 新しいプロジェクトウィザードから新しい Meson プロジェクトを作成するオプションを備えた 中間子ツールウィンドウが付属しています。
CLion およびその他の JetBrains IDE の VCS サポートは、強化された差分ビューアー、改善されたブランチ検索機能、合理化されたコードレビューワークフロー、およびサブシステム全体にわたるその他の多くの便利な改善により大幅に更新されました。
新しい CMake ターゲットが必要ですか ? add_executable
(タイプ exe
) および add_library
(タイプ lib
) の CMake コマンドを自動的に作成する新しいライブテンプレートが追加されました。
CLion は、CMake コマンドのターゲット名を補完するようになりました。これにより、ファイルをターゲットにリンクしたり、その他のターゲット関連の操作を実行したりすることが容易になります。
特定のターゲットが定義されている場所をお探しですか ? CLion を使用すると、ターゲットの使用状況から対応する add_library
または add_executable
コマンドにワンクリックで移動できるようになりました。
プロジェクト内のターゲットのすべての使用状況を一覧表示するには、 使用箇所の検索 (Alt+F7) を使用します。ツールウィンドウ内の項目は、使用状況とターゲット定義に分類されます。
CMake の最小必要バージョンが有効になっていないために CMake の読み込みに失敗した場合、CLion は CMake ツールウィンドウに修正を提案します。Fix...
をクリックすると、CLion が cmake_minimum_required
コマンドを更新します。
CLion にインポートする CMake プリセットタイプを設定できるようになりました。例: インポートリストから 構成オプションを選択できます。これを行うには、 設定 / 環境設定 | 詳細設定 | CMake | CMake プリセットを自動的にインポートするを使用します。
最後に、CLion 2024.1 には CMake v3.28 がバンドルされています。
v2023.3 以降、CLion には中間子プロジェクトモデルのサポートが含まれています。現在、 中間子ツールウィンドウ ( 表示 | ツールウィンドウ | 中間子 ) が付属しています。そこでは、ビルドターゲットのリストや、clean
、install
、test
などの便利なコマンドなどを見つけることができます。
新しい Meson プロジェクトを開始しますか ? CLion の 新しいプロジェクトウィザードには、プロセスを効率化するオプションが追加されました。この新しい Meson プロジェクトのファイルテンプレートは、 設定 / 環境設定 | エディター | ファイルおよびコードテンプレート | 中間子プロジェクトで構成できます。
Meson 実行可能ファイルへのカスタムパスを指定する必要がある場合は、CLion の Meson 設定で指定できるようになりました。また、 セットアップオプションフィールドを使用して追加の Meson コマンドを指定することもできます。
CLion では、マルチプロセスターゲットをデバッグできるようになりました。最新リリースでは、コンテキストメニューからフォローポリシーとデタッチポリシーを更新できます。これは、Linux (LLDB および GDB を使用) およびリモートツールチェーン (WSL、リモート、Docker) で機能します。
これらの設定の詳細については、ドキュメントを参照してください。
ハードウェア用に開発し、デバイスツリーファイルを作成する場合は、v2023.3 で追加された CLion のデバイスツリーファイルコーディング支援を活用できます。この新しいバージョンでは、デバイスツリーファイルのコード分析が改善され、CMake がデフォルトで Zephyr 設定と同期されるようになりました。
バインディングを使用してノードプロパティを検証するために、無効なプロパティタイプと必須または宣言されていないプロパティに対する新しいチェックがあります。
重複要素インスペクションは、デバイスツリーノード内で重複する要素を検出します。これは、同じ名前の 2 つ以上のプロパティ、または 2 つ以上のノードである可能性があります。
列挙型が使用される場合、CLion はそのようなプロパティの値を検証し、許可されていない値を報告します。
デバイスツリーファイルの作成を支援するために、ルートノードにコード補完を追加しました。
新しいターミナル (ベータ版) が JetBrains IDE v2024.1 で利用できるようになりました。 設定 / 環境設定 | ツール | ターミナル | 新しいターミナルを有効にするで古いターミナルと新しいターミナルを切り替えることができます。
機能セットを拡張し、外観を改善し、IDE の刷新されたルックアンドフィールに合わせました。
Bash、Zsh、PowerShell のみをサポートしており、その他のシェルは開発中です。詳細については、読む(英語)を参照してください。
このリリースでは、CLion の VCS サポートに次の更新が加えられています。
すべての変更点については、こちらを参照してください。
新しいコードベースや大きなファイルの移動は難しい場合があります。その手助けとして、エディターにはスクロール中に固定行が表示されるようになりました。この機能により、クラスや関数の先頭などの主要な構造要素が、スクロール時にエディターの上部に固定されます。これにより、スコープが常に表示され、そのような行をクリックするだけで、コード内をすばやく移動できます。
以前、CLion では IDE 全体をズームインおよびズームアウトし、すべての UI 要素のサイズを同時に調整する機能が導入されました。ただし、当初のスケーリング範囲は 100% および 200% 間に限られていました。現在、IDE を 90%, 80%,, 70% に縮小できる新しいオプションが組み込まれており、カスタマイズオプションの範囲が拡張されています。
CLion 2023.3 には、テクニカルプレビュー段階を超えた JetBrains AI Assistant が搭載されており、よりコンテキストとプロジェクトを認識したアクションをもたらし、日常の C++ 開発ワークフローに恩恵をもたらします。新しいリリースでは、プロジェクトモデルのサポートも拡張され、より詳細なコード分析と基礎となるアセンブリの表示のためのツールが提供され、組み込み開発者がデバイスツリーファイルをサポートできるようになります。
JetBrains の AI Assistant は、JetBrains IDE での生産性を向上させるための多くの新機能と改善された機能を備えて一般提供されています。
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 プロジェクトで動作します。V2023.3 では、待望の Meson のサポートが導入され、Bazel for CLion プラグインの多くの問題が解決されます。
詳細変更点について
CLion には、コードの作成中に常に実行されるデータフローアナライザー(英語)が組み込まれており、コードの品質の向上に役立ちます。v2023.3 では、全体的な分析の精度とパフォーマンスが向上し、メモリリーク分析が追加されました。
新しい分析についての詳細
CLion は、コードが実際に何を行っているかを理解し、コードベース内のバグを検索できるよう最善を尽くします。新しい カーソル位置まで実行インレイオプションにより、デバッガーでのコード内のナビゲーションが高速化され、ファイルの アセンブリビューは、バグを見つけたり、コードの実行時のパフォーマンスを最適化する場合に役立ちます。
詳細新しい機能について
デバイスツリー(英語)は、主にハードウェアを記述するために使用される階層データ構造です。これは Zephyr(英語) で広く使用されており、ハードウェアの初期構成を提供します。CLion を使用すると、そのようなファイルの読み取り、移動、管理がはるかに簡単になりました。.dts および .dtsi 拡張子を持つファイルは、IDE によってデバイスツリーファイルとして扱われるため、コーディング支援オプションがデバイスツリーで使用できるようになりました。
詳細 DTS サポートについて
Google の CLion 用 Bazel プラグイン(英語)では、重要な品質向上が実装されています。
strip_include_prefix
引数を考慮するようになり、含まれるヘッダーを検索するときに正しいパスを使用するようになりました。local_repository
または new_local_repository
を使用して WORKSPACE.bazel に追加されたプロジェクトは、CLion で正しく同期され、インデックスが作成されるようになりました。CLion に中間子(英語)サポートが登場 ! CLion で Meson プロジェクトを開いて、ビルド、実行、デバッグできます。これは、すべてのプラットフォームと、WSL や Docker を含むすべてのローカルツールチェーンおよびリモートツールチェーンで動作します。
meson.build ファイルの編集を支援するために、CLion は以下を提供します。
executable(...)
および library(...)
コマンドがファイル内に存在する場合、 構造ビューには実行可能ファイルとライブラリが表示されます。CMake のプリセット条件 equals
および notEquals
がサポートされるようになりました。つまり、CLion はこれらの条件に一致しないプリセットを表示しなくなりました。
CLion 2023.3 を使用すると、基礎となるアセンブリコードを調査するためにデバッグセッションは必要ありません。新しい アセンブリを表示するアクションは、現在選択されている解決構成のコンパイラー設定を使用し、現在表示されている C/C++ ファイルのコードをアセンブリにコンパイルし、どのソースコードがどのアセンブリを生成するかを示すプレビューを含むエディターを開きます。
CLion のすべての アセンブリビュー (デバッグセッションの有無にかかわらず) が、x86 アセンブリ (Intel) 構文に切り替える機能によって強化されました。これを行うには、 アセンブリビューウィンドウの オプションに移動し、ビューをリフレッシュして変更を適用します。
CLion 2023.3 では、新しい UI に新しい カーソル位置まで実行インレイオプションが導入され、デバッグ中にコードの特定の行にすばやく移動する方法が提供されます。プログラムが一時停止されたら、プログラムを実行したいコード行にカーソルを置き、 カーソル位置まで実行ポップアップをクリックして、ポップアップをクリックした行に到達するまでコードを実行します。
ハードウェアの微調整を支援するために、CLion はデバイスツリーファイルをサポートしています。.dts および .dtsi 拡張子を持つファイルは、IDE によってデバイスツリーファイルとして扱われるため、これらに対するコーディング支援オプションがデバイスツリーで提供されます。詳細については、オンラインドキュメントを確認してください。
既存のデバイスツリーファイルを読みやすくするために、CLion は以下を提供します。
デバイスツリーファイルをより効率的に書き込むために、CLion は以下をサポートしています。
/<commands>/
、ラベルの場合。/bits/
オプションで定義された配列サイズチェック。CLion 2023.3 の新しい「機能の要約」アプローチ(英語)により、任意のネストされた呼び出しチェーンのさまざまな関数コンテキストを区別できるようになり、より正確なデータフロー分析が可能になりました。
DFA の既存のインスペクションはフィールドも考慮するようになり、すべてのフィールドが初期化されていない場合に警告する新しいインスペクションが追加されました。
新しいメモリリーク分析(英語)が実装されています。そのため、メモリが割り当てられているものの、アクセスできなくなる前に解放されないケースを簡単に検出できるようになりました。
CLion は、プロジェクト内の QML タイプを検出して解析し、それに基づいてコーディング支援を提供します。ただし、ライブラリの QML タイプやユーザーのプラグインのタイプは、多くの場合、別の場所にあります。この問題を解決するために、 設定 / 環境設定 | 言語 & フレームワーク | QML に新しい追加の QML インポート設定を導入しました。これにより、IDE は指定された場所で QML インポートを検索し、ユーザーコードから型を解析できるようになります。
CLion の 新しいプロジェクトウィザードを使用して新しいプロジェクトを作成すると、main.cpp または main.c ファイルが自動的に生成されます。ただし、場合によっては、これらのファイルのカスタムテンプレートに依存することもできます。CLion 2023.3 では、そのようなテンプレートを 設定 / 環境設定 | エディター | ファイルおよびコードテンプレート | その他で編集できるようになりました。
IDE 機能トレーナーは、重要な IDE 機能をカバーする一連の対話型チュートリアルです。ウェルカム画面または ヘルプ | IDE 機能の学習から起動します。詳細については、オンラインドキュメントを参照してください。
トレーニングはオンボーディングツアーから始まります。これは、CLion と主なユーザーアクティビティ (ビューやパネル間の移動、エディターでファイルを開く、プログラムの起動、シンボルの自動補完、クイックフィックスの適用、シンボルの検索など) について理解できます。
よりコンパクトな IDE ビューを希望する場合は、デフォルトの表示モードでメインツールバーを非表示にする新しいオプションがあります。 表示 | 外観に移動し、 ツールバーオプションのチェックを外して非表示にします。
エディターでさまざまな種類のファイルを同時に操作する際のナビゲーションエクスペリエンスを向上させるために、 プロジェクトツールウィンドウの外観を反映して、エディタータブにデフォルトの色分けされたハイライトを導入しました。
ツールウィンドウやダイアログ内をすばやく移動できる スピード検索機能が、ショートカットから利用できるようになりました。ツリーまたはリストにフォーカスがある場合、Ctrl+F を押すか、クエリの入力を開始するだけで、ツールウィンドウの オプションメニューから簡単に検索を呼び出すことができます。
CLion のカスタムツールウィンドウのレイアウトをデフォルトのレイアウトにすばやく戻したい場合は、 ウィンドウ | レイアウト | デフォルトを使用してワークスペースの外観をデフォルトの状態に戻すことができます。
テストのインデックス作成フェーズの時間を節約するために、特定のディレクトリでテストを検索するように CLion に手動で指示できます。これを行うには、 テストスコープを作成します。テストインデックス作成中に、このスコープによってフィルターされたファイルのみがインデックス付けされます。
テストスコープを使用してプロジェクトビューをフィルターし、プロジェクト内のテストファイルにすばやくアクセスできます。詳細。
CLion 2023.3 では、Dev Containers のサポートを大幅に拡張しました。Dev Container 機能を使用して追加の開発ツール、ランタイム、ライブラリを簡単に追加できるようになり、重要なコンポーネントのセットアップが簡素化されます。また、自動ポート転送も実装しました。つまり、アプリケーションが Dev Container でリッスンを開始するポートはシームレスに転送されます。詳細については、こちら(英語)を参照してください。
CLion 2023.3 では、変更をレビューする改善された方法が導入されています。各ファイルを 1 つずつ確認する代わりに、変更セットから変更されたすべてのファイルを 1 つのスクロール可能なフレームで確認できるようになりました。この新しい差分ビューアーは、GitLab、GitHub、JetBrains Space レビューと互換性があります。
CLion 2023.2 リリースで導入された GitLab 統合を拡張し、GitLab スニペットのサポートを追加しました。パブリックスニペットまたはプライベートスニペットを IDE 内で直接作成できるようになりました。
CLion 2023.2 は、PlatformIO 統合を再考し、vcpkg のサポートを改善し、AI Assistant 機能を組み込み、コア IDE ユーザーワークフローの一部に自然に組み込んで、低レベル、リモート、組み込みデバッグのエクスペリエンスを向上させます。
CLion 2023.2 には AI Assistant 機能が含まれており、コア IDE ユーザーワークフローの一部に自然に組み込まれています。C および C++ では、選択されたコードを説明し、そのコードの断片をより適切にリファクタリングする方法を提案したり、コードの潜在的な問題を見つけたりします。また、コミットメッセージを生成し、CMake エラーについて説明します。
CLion 2023.2 を使用すると低レベルのデバッグが簡単になり、現在のフレームのレジスタをインスペクションできるようになります。逆アセンブリビューでは、レジスタ値がインライン化されていることも確認できます。 プロセスにアタッチダイアログのメジャーアップデートにより、リモートおよび WSL プロセスに接続できるようになりました。
PlatformIO(英語) は、組み込み開発者のプロジェクトを支援するオープンソースプラットフォームです。CLion 2023.2 はプラットフォームとネイティブに統合されます。IDE は platformio.ini ファイルを直接操作し、ファイル内の変更を追跡し、それに応じてプロジェクト情報を更新します。
vcpkg (英語) は、C++ で最も広く採用されているパッケージマネージャーの 1 つです。vcpkg を使用する場合、クラシックモードとマニフェストモードの 2 つのアプローチがあります。CLion 2023.2 は両方をサポートします。CLion UI ではこれらを明確に区別でき、専用ボタンを使用してマニフェストモードに簡単に切り替えることができます。
IntelliJ ベースの IDE および .NET ツールの新しい 2023.2 バージョンには、主要な新機能 AI Assistant が含まれています。まだ開発の初期段階にありますが、AI 支援をコア IDE ユーザーワークフローに組み込み、深い AI 機能とコード理解を統合するというアプローチをすでに試すことができます。詳細については、Web ヘルプを参照してください。
AI Assistant は現在、JetBrains IDE の安定リリースにはバンドルされておらず、別個のプラグイン(英語)としてインストールできます。現時点では、AI Assistant 機能へのアクセス待ちリストが存在します。
AI Assistant はプログラミングのトピックを好み、プロジェクト固有のコンテキストから恩恵を受けます。新しい専用ツールウィンドウで作業を繰り返し、満足のいく結果が得られたら、 スニペットをキャレットに挿入を使用して AI で生成されたコードをエディターに配置するか、単に手動でコピーします。
エディターで特定のコードフラグメントを選択し、AI アクション ... コンテキストメニューからアクションを呼び出します。
AI Assistant は次のことに役立ちます。
AI Assistant が、加えた変更を説明できます。コミットメッセージダイアログの AI Assistant を使用してコミットメッセージを生成するボタンをクリックすると、変更の差分が LLM に送信され、変更を説明するコミットメッセージが生成されます。
プロジェクトで CMake の実行が失敗した場合、CMake ツールウィンドウで AI で説明するをクリックすると、問題の原因とその修正方法がよくわかります。
プロセスにアタッチダイアログを使用すると、ユーザーは CLion の外部で起動されたプロセスをローカルまたはリモートでデバッグできますが、IDE のデバッガー統合の恩恵も受けられます。
v2023.2 からは次のことができます。
現在のフレームのレジスタをインスペクションできる場合、低レベルのデバッグが簡単になります。CLion は、デバッガーツールウィンドウの 変数タブにレジスタ値を表示するようになりました。
CLion は ARM アセンブリ言語をサポートするようになりました。これは、逆アセンブリビューで ARM アセンブラのコードがハイライトされることを意味します。
逆アセンブリコードをデバッグするときに、CLion はレジスタ値を逆アセンブリビューにインラインで表示するようになりました。
その他のデバッガーの改善点:
PlatformIO(英語) は、組み込み開発者のプロジェクトを支援するオープンソースプラットフォームです。CLion 2023.2 では、中間の CMake レベルが PlatformIO との統合から削除されました。IDE は platformio.ini ファイルを直接操作し、ファイル内の変更を追跡し、それに応じてプロジェクト情報を更新するようになりました。
Web ヘルプで、PlatformIO プラグインをインストールし、新しいプロジェクトを作成するか、既存のプロジェクトを開く方法を学びます。
一部の pio
コマンドは、 IDE ( ツール | PlatformIO) から直接呼び出せるようになりました。ターミナルに切り替える必要はありません。これには、プロジェクトの再ロード、プロジェクトでの静的コード分析の実行、デバイスモニターの呼び出しなどが含まれます。
PlatformIO ツールウィンドウを使用すると、最もよく使用されるコマンドやプロジェクトアクションに簡単にアクセスできます。
その他の改善:
CLion が Segger J-Link GDB サーバーで正しくデバッグできることを確認するために、通常の SIGINT
および SIGSTOP
に加えて SIGTRAP
信号を処理するようになりました。
プロジェクトの依存関係と外部ライブラリの管理を支援するために、CLion は C/C++ のパッケージマネージャーである vcpkg と統合します。v2023.2 では、統合が大幅に更新され、サポートされるシナリオの数が拡張されました。
vcpkg を使用する場合、クラシックモードとマニフェストモードの 2 つのアプローチがあります。CLion UI で明確に区別し、専用ボタンを使用してマニフェストモードに簡単に切り替えることができるようになりました。
vcpkg のクラシックモードをより便利にするために、すべてのコマンドと出力を表示する コンソールタブを vcpkg ツールウィンドウに追加しました。
CLion 2023.2 は、新しいファイルを追加する CMake ターゲットがない場合の新しい C/C++ ファイル作成ダイアログを改善します。新しい 新しいターゲットの追加 ... アクションは、新しいターゲットを作成し、選択した CMakeLists.txt ファイルに追加します。ターゲットを追加した後、そこに新しいファイルを追加できます。
CLion 2023.2 は、CMake 3.25 の新しいパラメーターと、要求されたスコープでコマンドのグループを実行するために使用される新しいブロックコマンドのハイライトと補完を追加します。CLion では、新しいコマンドがハイライトされ、フォーマットされ、折りたたまれ、正しく文書化されるようになりました。
CLion 2023.2 には CMake 3.26 がバンドルされています。
パラメーター情報ポップアップには、入力時に署名のバリアントが表示され、CMake コマンドで使用できるようになりました。これは、特に複数のバリエーションがあるコマンドの場合に、次にどのパラメーターを入力するかを判断できます。
プロジェクトに Linux ベースの環境の Docker ファイルが含まれており、Windows マシンからその中でアプリケーションを開発したい場合は、WSL と Docker を使用して CLion でこれを設定できます。
出力コンソールでのターミナルエミュレーションは、構成ごとに個別に有効または無効になるようになりました。デフォルトでは無効になっており、これを制御する設定は 詳細設定から 実行構成セクションに移動されました。
Windows では、通常の特権と管理者特権の両方で MSVC LLDB ベースのデバッグが機能するようになりました。
v2023.2 では、ウィンドウヘッダー、ツールヒント、通知バルーンに一致する明るい色を特徴とする代替 ライトヘッダー付きライトオプションを導入することで、ライトテーマのユーザーエクスペリエンスを洗練しました。
複数の実行構成の管理を容易にするために、 実行ウィジェットに優先構成を固定するオプションを実装しました。
新しい UI を使用して macOS を全画面モードで作業する場合、ウィンドウコントロールは以前のようにフローティングバーではなく、メインツールバーに直接表示されるようになりました。
Linux ユーザーの便宜を図るため、新しい UI ではオペレーティングシステムのネイティブヘッダーが削除され、よりクリーンなインターフェースになりました。デフォルトでは、ワークスペースを調整するためのさまざまなカスタマイズオプションを提供するカスタム IDE ヘッダーが表示されます。
CLion では、開いている複数のプロジェクト間のナビゲーションを簡素化するために色付きのヘッダーが導入されています。各プロジェクトに固有の色とアイコンを割り当てることができるようになり、ワークスペース内でプロジェクトを簡単に区別できるようになりました。
新しい UI のメインツールバーのカスタマイズオプションを拡張しました。ドロップダウンメニューを使用して、ツールバーに追加するアクションをすばやく選択できるようになりました。これを行うには、任意のウィジェットを右クリックして メインツールバーに追加を選択し、利用可能なオプションを調べます。