CLion 2018.3の新機能

リモート開発サポート

Linuxのリモートホスト向けの開発をWindows、Linux、macOSから行えるようになりました。現在の所CMakeベースのプロジェクトのみサポートしており、またローカルのソースコードがリモートマシンで同期されていることが条件となります。将来のバージョンではより開発環境のセットアップが柔軟に行えるようになる予定です。

Supported configurations

リモート開発の設定方法

リモート開発を開始するにはリモートツールチェーンをPreferences | Build, Execution, Deployment | Toolchainsより作成します。リモートホストのアドレスやクレデンシャルを指定し、ツールチェーンを1つまたは複数のCMakeプロファイルで使います。CMakeがリロードされたらCLionでリモート開発を行う準備完了です。

CLionが裏で何を行っているかはこちらのブログでご確認ください: Learn what’s going on in CLion under the hood.

Remote mode

リモートモード

リモート開発の設定が完了したらCLionからアプリケーションまたはユニットテストの実行、デバッグをCLionからリモートに行えます。CLionからローカルで開発をしている際、コードは実際にはリモートホストでビルド、実行、デバッグされます。パフォーマンス確保のためコードの補完、インデックスといった処理はローカルマシンで行われ、ヘッダの検索パスはローカルマシンで同期されます。

Supported configurations

リモートをデフォルトにする

CLionの全てのプロジェクトでデフォルトでリモート開発をするにはリモートツールチェーンをデフォルトに設定します。

Preferences | Build, Execution, Deployment | Toolchains よりツールチェーンをリストのトップに動かしてください。CLionはどのプロジェクトでも自動的にこれを使うようになります。

CPU プロファイラ

CPU Profiler

CLionはLinux (Perf) および macOS (DTrace).でCPUプロファイラを統合しました。プロファイラをIDEから直接起動して解析結果を専用のツールウィンドウ(View | Tool Windows | CPU Profiler)で確認できます。

flameチャート、コールツリー、メソッドリストよりコードのパフォーマンス問題の全体像を確認できます。ツールウィンドウからソースコードへジャンプすることも出来ます。

より詳しく

C++ サポート

Clangd-based navigation and search

Clangdベースのナビゲーションと検索

CLionのエンジンを補う形で実験的にCLangdベースのエンジンを使ってエディタ内でエラーをハイライトしていました。この機構を発展させてナビゲーションや検索アクションも強化しました。宣言箇所へジャンプ(Go to declaration) (⌘B)/定義箇所へジャンプ(Go to definition) (⌥⌘B)、カーソル位置のリファレンスのハイライト、クイックドキュメンテーション (F1)、使用箇所の検索(Find usages) (⌥F7)に使われます。Clangdの解析結果はCLion自身のエンジンの解析結果と統合されています。

C++17: fold expressions and deduction guides

C++17: fold expression と deduction guide

C++17 の畳み込み式 (fold expression) と C++17 の推論補助(deduction guide)を正しくパース出来るようになりました。これによりコードハイライトやコードアシスタンスがより正確に働きます。例えばユーザー定義の推論補助が行われたパラーメター情報の型が正しく表示されます。

新しい IDE アクション

New Build and Rebuild actions

新しいビルドとリビルドアクション

新しいビルドメニューはCMake向けのビルド関連アクションを新設、またはアップデートしました:

  • CMake Profileから全てのターゲットをBuild/Rebuild
  • 選択したCMake Profileから全てのターゲットをBuild/Rebuild
  • 選択した設定をBuild/Rebuild
  • 現在のファイルをリコンパイル
  • Install
  • Clean
Activity Monitor

アクティビティモニター

サブシステムやプラグイン(内蔵のものも、サードパーティ製も)がどれくらいCPUを消費しているのか確認できる実験的な機能を追加しました。Help | Activity Monitorより表示できます。

特定のサブシステムが異常にCPUを表示しているようでしたら、お気軽にサポートチーム(英語)/サムライズム、または YouTrackへご報告ください。

New Run Anything

新しいRun Anything

Run Anything (Ctrl 2回)ではプロジェクトの実行設定を実行やデバッグしたり、プロジェクトを開いたりさえ出来るようになりました。

実行設定で実行するには、単に設定名をタイプして絞り込み、確定してください。

デバッグ実行するには Shift を押した状態で確定します。

プロジェクトを開くには“Open”とタイプしてリストから開きたいプロジェクトを選びます。

Updated Search Everywhere

新しいどこでも検索

プロジェクトとIDE内をより効率的にナビゲート出来ます。改善されたSearch Everywhereは他のナビゲーションダイアログであるFind ActionGo to classGo to fileGo to symbolと統合されま、tabキーで別の検索コンテクストに移動出来ます。もちろん全てのナビゲーションダイアログは依然これまでと同じショートカットでアクセスできます。

ユニットテスト

多くの問題解決やパフォーマンス改善のため、ユニットテストフレームワーク(Google Test, Boost.Test, and Catch (2))サポートを刷新しました。テスト結果もより見やすくなりました。より詳しく(英語)

Show Test List

テストリストを表示

パフォーマンスを改善するため、テスト検出が遅延処理されるようになりました。プロジェクトのインデックス作成時間が多くのケースで短縮されます。解析目的で、開いているプロジェクトで検出されたテストを一覧できるShow Test Listアクションを追加しました。これはFind Actionダイアログより呼び出せます。

Compilationデータベースの検証

Compilation database validation

compilation databaseのJSONスキーマに準拠するかを検証するインスペクションを追加しました。

例えばプロパティバリューに誤った型が指定されていたり、プロパティが存在しない場合など検出して指摘してくれます。

Formatted macro expansion in Quick Doc

マクロをフォーマットして展開

クイックドキュメンテーションポップアップ(F1)で、Replacement欄をフォーマットして表示するようになりました。またストリングやキーワードが展開された箇所はハイライトされますのでプロセッサがどこを置き換えたのか分かりやすくなりました。

Multiline TODO comments

複数行のTODOコメント

TODOコメントを複数行書けます。TODOに続くコメントはエディタでハイライトされ、TODOツールウィンドウでリストアップされます。TODOコメントで2行目以降はインデントをつけることで通常のコメントと区別してマルチラインTODOコメントとして認識されます。

バージョン管理

Gitサブモジュールのサポート

Gitサブモジュールをサポートしました。クローン、アップデート、コミット、diffの確認、コンフリクトの解決まで行えます。

GitHubプルリクエスト

GitHubプルリクエストの初期サポートが実装されました。GitHub Pull RequestsツールウィンドウでPRを確認できます。diffをプレビューしたり、PRからコンテクストメニューを使ってローカルブランチを作って通常のブランチと同じくマージしたりできます。

アクセシビリティの改善

極力沢山の方に使いやすいツールとなるよう、設定のAppearance セクション(Preferences | Appearance & Behavior | Appearance)にいくつかオプションを追加しましたハイコントラストテーマやスクリーンリーダサポートです。行番号、VCSアノテーション、デバッガ、ガターアイコンも読むことが出来るようになりました。

High-contrast Theme

ハイコントラストテーマ

JetBrainsは全てのユーザーに最高の体験をもたらすことにコミットしています。そこで今回ハイコントラストテーマを今回実装しました。エディタ内から切り替えたり(Ctrl+`)、IDE全体のテーマをPreferences | Appearance & Behavior | Appearance | Themeで切り替えたりできます。

プラグイン

New Plugins UI

新しいプラグインUI

設定画面のPluginsページを刷新し、より簡単にプラグインを検索、インストール、更新、アンインストール、管理出来るようになりました。プラグインを名前だけでなくタグでも検索出来るようになりました。また検索結果をダウンロード数、名前、レート、featured、更新日でソートすることが出来ます。

Featured plugins and marketplace

Featured(オススメ)プラグインとマーケットプレイス

便利でオススメのプラグインがFeatured欄に表示されます。プラグインをレーティングやダウンロード数でソートすることも出来ます。
プラグインデベロッパはこちらのドキュメントもご覧ください: platform for third-party plugin vendors.