リモート開発サポート
Linuxのリモートホスト向けの開発をWindows、Linux、macOSから行えるようになりました。現在の所CMakeベースのプロジェクトのみサポートしており、またローカルのソースコードがリモートマシンで同期されていることが条件となります。将来のバージョンではより開発環境のセットアップが柔軟に行えるようになる予定です。
リモート開発の設定方法
リモート開発を開始するにはリモートツールチェーンをPreferences | Build, Execution, Deployment | Toolchainsより作成します。リモートホストのアドレスやクレデンシャルを指定し、ツールチェーンを1つまたは複数のCMakeプロファイルで使います。CMakeがリロードされたらCLionでリモート開発を行う準備完了です。
CLionが裏で何を行っているかはこちらのブログでご確認ください: Learn what’s going on in CLion under the hood.
リモートモード
リモート開発の設定が完了したらCLionからアプリケーションまたはユニットテストの実行、デバッグをCLionからリモートに行えます。CLionからローカルで開発をしている際、コードは実際にはリモートホストでビルド、実行、デバッグされます。パフォーマンス確保のためコードの補完、インデックスといった処理はローカルマシンで行われ、ヘッダの検索パスはローカルマシンで同期されます。
リモートをデフォルトにする
CLionの全てのプロジェクトでデフォルトでリモート開発をするにはリモートツールチェーンをデフォルトに設定します。
Preferences | Build, Execution, Deployment | Toolchains よりツールチェーンをリストのトップに動かしてください。CLionはどのプロジェクトでも自動的にこれを使うようになります。
CPU プロファイラ
CLionはLinux (Perf) および macOS (DTrace).でCPUプロファイラを統合しました。プロファイラをIDEから直接起動して解析結果を専用のツールウィンドウ(View | Tool Windows | CPU Profiler)で確認できます。
flameチャート、コールツリー、メソッドリストよりコードのパフォーマンス問題の全体像を確認できます。ツールウィンドウからソースコードへジャンプすることも出来ます。
C++ サポート
Clangdベースのナビゲーションと検索
CLionのエンジンを補う形で実験的にCLangdベースのエンジンを使ってエディタ内でエラーをハイライトしていました。この機構を発展させてナビゲーションや検索アクションも強化しました。宣言箇所へジャンプ(Go to declaration) (⌘B)/定義箇所へジャンプ(Go to definition) (⌥⌘B)、カーソル位置のリファレンスのハイライト、クイックドキュメンテーション (F1)、使用箇所の検索(Find usages) (⌥F7)に使われます。Clangdの解析結果はCLion自身のエンジンの解析結果と統合されています。
C++17: fold expression と deduction guide
C++17 の畳み込み式 (fold expression) と C++17 の推論補助(deduction guide)を正しくパース出来るようになりました。これによりコードハイライトやコードアシスタンスがより正確に働きます。例えばユーザー定義の推論補助が行われたパラーメター情報の型が正しく表示されます。
新しい IDE アクション
新しいビルドとリビルドアクション
新しいビルドメニューはCMake向けのビルド関連アクションを新設、またはアップデートしました:
- CMake Profileから全てのターゲットをBuild/Rebuild
- 選択したCMake Profileから全てのターゲットをBuild/Rebuild
- 選択した設定をBuild/Rebuild
- 現在のファイルをリコンパイル
- Install
- Clean
アクティビティモニター
サブシステムやプラグイン(内蔵のものも、サードパーティ製も)がどれくらいCPUを消費しているのか確認できる実験的な機能を追加しました。Help | Activity Monitorより表示できます。
特定のサブシステムが異常にCPUを表示しているようでしたら、お気軽にサポートチーム(英語)/サムライズム、または YouTrackへご報告ください。
新しいRun Anything
Run Anything (Ctrl 2回)
ではプロジェクトの実行設定を実行やデバッグしたり、プロジェクトを開いたりさえ出来るようになりました。
実行設定で実行するには、単に設定名をタイプして絞り込み、確定してください。
デバッグ実行するには Shift
を押した状態で確定します。
プロジェクトを開くには“Open”とタイプしてリストから開きたいプロジェクトを選びます。
新しいどこでも検索
プロジェクトとIDE内をより効率的にナビゲート出来ます。改善されたSearch Everywhereは他のナビゲーションダイアログであるFind Action、Go to class、Go to file、Go to symbolと統合されま、tabキーで別の検索コンテクストに移動出来ます。もちろん全てのナビゲーションダイアログは依然これまでと同じショートカットでアクセスできます。
ユニットテスト
多くの問題解決やパフォーマンス改善のため、ユニットテストフレームワーク(Google Test, Boost.Test, and Catch (2))サポートを刷新しました。テスト結果もより見やすくなりました。より詳しく(英語)
テストリストを表示
パフォーマンスを改善するため、テスト検出が遅延処理されるようになりました。プロジェクトのインデックス作成時間が多くのケースで短縮されます。解析目的で、開いているプロジェクトで検出されたテストを一覧できるShow Test Listアクションを追加しました。これはFind Actionダイアログより呼び出せます。
Compilationデータベースの検証
compilation databaseのJSONスキーマに準拠するかを検証するインスペクションを追加しました。
例えばプロパティバリューに誤った型が指定されていたり、プロパティが存在しない場合など検出して指摘してくれます。
マクロをフォーマットして展開
クイックドキュメンテーションポップアップ(F1)で、Replacement欄をフォーマットして表示するようになりました。またストリングやキーワードが展開された箇所はハイライトされますのでプロセッサがどこを置き換えたのか分かりやすくなりました。
複数行のTODOコメント
TODOコメントを複数行書けます。TODOに続くコメントはエディタでハイライトされ、TODOツールウィンドウでリストアップされます。TODOコメントで2行目以降はインデントをつけることで通常のコメントと区別してマルチラインTODOコメントとして認識されます。
バージョン管理
Gitサブモジュールのサポート
Gitサブモジュールをサポートしました。クローン、アップデート、コミット、diffの確認、コンフリクトの解決まで行えます。
GitHubプルリクエスト
GitHubプルリクエストの初期サポートが実装されました。GitHub Pull RequestsツールウィンドウでPRを確認できます。diffをプレビューしたり、PRからコンテクストメニューを使ってローカルブランチを作って通常のブランチと同じくマージしたりできます。
アクセシビリティの改善
極力沢山の方に使いやすいツールとなるよう、設定のAppearance セクション(Preferences | Appearance & Behavior | Appearance)にいくつかオプションを追加しましたハイコントラストテーマやスクリーンリーダサポートです。行番号、VCSアノテーション、デバッガ、ガターアイコンも読むことが出来るようになりました。
ハイコントラストテーマ
JetBrainsは全てのユーザーに最高の体験をもたらすことにコミットしています。そこで今回ハイコントラストテーマを今回実装しました。エディタ内から切り替えたり(Ctrl+`
)、IDE全体のテーマをPreferences | Appearance & Behavior | Appearance | Themeで切り替えたりできます。
プラグイン
新しいプラグインUI
設定画面のPluginsページを刷新し、より簡単にプラグインを検索、インストール、更新、アンインストール、管理出来るようになりました。プラグインを名前だけでなくタグでも検索出来るようになりました。また検索結果をダウンロード数、名前、レート、featured、更新日でソートすることが出来ます。
Featured(オススメ)プラグインとマーケットプレイス
便利でオススメのプラグインがFeatured欄に表示されます。プラグインをレーティングやダウンロード数でソートすることも出来ます。
プラグインデベロッパはこちらのドキュメントもご覧ください: platform for third-party plugin vendors.