CLion の新機能

CLionの新機能

CLion 2018.3は、リモート開発のためのいくつかの主要な構成のうちの1つを可能にするので、リモート開発に大きなステップを踏み出します。CPUプロファイラとの統合によりツールのサポートを拡大しました。既存の単体テストサポートも強化され、新しいIDEアクションと高速なコードナビゲーションと検索が追加されました。これは、部分的にはClangdベースの言語エンジンに基づいています。

2018.3 (11月27日)

初期リモート開発サポート

これで、Windows、Linux、またはmacOSクライアントマシンからLinux リモートホストにリモートで開発することができます。これは、CMakeベースのプロジェクトの場合のみです。現在の設定では、CLionがリモートマシンと同期するローカルマシン上にソースコードがあることを前提としています。将来のCLionリリースでは、他の多くのリモート開発環境が計画されています。

Supported configurations

サポートされている構成

リモート開発を開始するには、まず設定 | ビルド、実行、デプロイ | ツールチェーンでリモートツールチェーンを作成します。リモートのホストアドレスと資格情報を入力し、1つまたは複数のCMakeプロファイルでツールチェーンを使用します。CMakeがリロードされたら、CLionであなたのプロジェクトで遠隔操作を始める準備が整います。

内部でCLionで何が起こっているのかを学びましょう。(英語)

Remote mode

リモート・モード

設定が完了すると、CLionからリモートでアプリケーションまたはユニットテストを実行またはデバッグできます。ローカルマシン上のCLionのコードを操作しながら、リモートホスト上でコードを構築、実行、デバッグします。コードはローカルで解決され、CLionはヘッダー検索パスをローカルマシンに同期させて処理を高速化します。

Supported configurations

リモートをデフォルトとして有効にする

リモートモードでCLionを使用するには、リモートツールチェーンをデフォルトに設定します。

設定 | ビルド、実行、デプロイ | ツールチェーンに移動し、ツールチェインをリストの一番上に移動するだけです。CLionはCLionで開いたプロジェクトでこのツールチェインを自動的に使用します。

CPUプロファイラ

CPU Profiler

CLionは現在、Linux(Perf)とmacOS(DTrace)のCPUプロファイラと統合されています。IDEからプロファイラを直接実行し、専用ツールウィンドウ(View | ツール・ウィンドウ | CPU Profiler)で解析結果を確認することができます。

フレームチャート、コールツリー、およびメソッドリストを使用して、コード内で発生する可能性のあるパフォーマンスの問題の概要を把握してください。ソースコードに移動して、コードベースの問題を特定します。

さらに学習したい方に(英語)

C++のサポート

Clangd-based navigation and search

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

実験的で補完的なClangdベースの言語エンジンを使用して、エディターでエラーに注釈を付けることができました。現在は、宣言(Ctrl+B)/定義(Ctrl + Alt + B)、キャレットにある参照を強調表示、クイックドキュメント(Ctrl+Q)、および使用箇所の検索(Alt + F7)を含むいくつかのナビゲーションおよび検索アクションを実行します。結果は、CLion独自のエンジンで収集されたものと引き続きマージされます。

C++17: fold expressions and deduction guides

C++17: 倍数表現と控除ガイド

今、CLionはC++17折り畳み式C++17控除ガイドを正しく解析します。つまり、誤ったコードの強調表示やコードアシスタンスが少なくなります。例:ユーザ定義の控除ガイドのパラメータ情報に正しいタイプが表示されます。

新しいIDEアクション

New Build and Rebuild actions

新しいビルドと再構築のアクション

新しいビルドメニューには、CMakeの新しいビルド関連アクションセットが付属しています。

  • すべてのCMakeプロファイルから all ターゲットを構築/再構築する
  • 選択したCMakeプロファイルから all ターゲットを構築/再構築する
  • 選択した構成の構築/再構築
  • 現在のファイルを再コンパイルする
  • インストール
  • クリーン
Activity Monitor

アクティビティー・モニター

この新しい実験的な機能は、サブシステムとプラグイン(組み込みのものと追加のものの両方)が消費しているCPUの量を示します。それにアクセスするには、ヘルプ|アクティビティモニタ。

CPUの%CPUが異常に高いサブシステムがある場合は、サポート(英語)チームに相談したり、問題追跡ツールに(英語)報告してください。

New Run Anything

新しいなんでも実行

Run Anything(Double Ctrl)は、プロジェクト内の任意の構成を実行およびデバッグしたり、プロジェクトを開くことさえできる、新しく普遍的な方法です。

設定を実行するには、名前を入力してください。

デバッグするには、 Shift キーを押しながらDebug Anythingモードに切り替えます。

プロジェクトを開くには、「開く」と入力して、リストから目的のプロジェクトを選択します。

Updated Search Everywhere

更新されたどこでも検索

更新されたSearch Everywhere(Double Shift)には、複数のアクションがすべて1つにまとめられました。

  • どこでも検索
  • アクションの検索
  • クラスにジャンプ
  • ファイルにジャンプ
  • シンボルにジャンプ

それぞれはダイアログに独自のタブがあり、 Tab を使用してそれらの間を切り替えることができます。

ユニット・テスト

v2018.3では、CLion(Google Test、Boost.Test、Catch(2))のユニットテストフレームワークとの統合を修正し、さまざまなパフォーマンスの問題やハングアップを解消しました。多くの場合、出力処理も改善されています。

詳細を学びます(英語)

Show Test List

テストリストを表示する

パフォーマンスを向上させるため、CLionは遅延テスト検出機能を使用するようになりました。これにより、多くの状況でプロジェクトのインデックス作成時間が短縮されます。診断目的のために、テストリストを表示する(Find Actionダイアログから利用可能)と呼ばれる新しいアクションを実装しました。これは、プロジェクトで現在検出されているすべてのテストのリストをテキストファイルに提供します。

Compilation database検証

Compilation database validation

CLionは、compilation databaseのJSONスキーマへの準拠をチェックするための特定のインスペクションを提供するようになりました。

例:誤ったタイプがプロパティー値に使用された場合、またはプロパティーが欠落している状況を強調表示できます。

エディター

Formatted macro expansion in Quick Doc

フォーマットされたマクロ展開

CLionは、Quick Documentationポップアップ(Ctrl+Q)のマクロ置換をフォーマットするようになりました。また、最後の置換で使用される文字列とキーワードも強調表示されるため、プリプロセッサのパス後に置換されるコードをすばやく理解できます。

Multiline TODO comments

複数行TODOコメント

TODOコメントに情報を追加するが読みやすくするために、コメントを複数の行に分割できるようになりました。複数行のTODOコメントの2行目からインデントを追加すれば、IDEは通常のコメントと区別します。

VCS

Gitサブモジュール

CLionのGitサブモジュールで作業できるようになりました。ルートリポジトリをクローンすると、CLionはすべてのサブモジュールをクローンします。更新についても同じことが言えますし、他のVCSアクションもサブモジュールで動作します。

GitHubプルリクエスト

まったく新しいGitHubプルリクエストツールウィンドウ(VCS | Git |プルリクエストの表示)では、すべてのプルリクエストをリポジトリに表示できます。状態、担当者、作者などで検索し、簡単な右クリックで新しいローカルブランチを簡単に作成できます。

アクセシビリティの向上

きるだけ多くの人がツールにアクセスできるように、IDEの設定(設定 | Appearance&Behavior | Appearance)のAppearanceセクションにいくつかの新しいオプションを追加しました。ここでは、新しい高コントラストテーマ、スクリーンリーダー(行番号、VCSアノテーション、ガターアイコンのツールチップを読むことができるようになりました)、色の不自由な人のためにIDEカラーを調整するオプションを拡張しました。

High-contrast Theme

高コントラストテーマ

コントラストの高いテーマがCLionで使用可能になりました。エディター(Ctrl+`)またはIDE全体(設定 |外観&振る舞い|外観|テーマ)だけをオンにすることができます。

プラグイン

New Plugins UI

新しいプラグインのUI

設定 |プラグインのプラグインの設定は、一から上に再設計されました。新しいUIにより、CLionインスタンスにインストールされているプラグインをより簡単に制御し、最新の状態に保つことができます。

Featured plugins and marketplace

注目のプラグインとマーケットプレース

CLionにとって最も価値のあるプラグインのリストは、Featured pluginsリストにあります。または、評価またはダウンロード数ですべてのプラグインを並べ替えます。
プラグインを書いているなら、サードパーティのプラグインベンダーのための(英語)私達の新しいプラットフォームを(英語)チェックしてください

その他の改善

CLion 2018.3には、Swiftプラグイン(英語)Swiftパッケージマネージャーサポートが付属しています。CLionでSPMプロジェクトを開き、それを使って作業するだけです。追加の設定は必要ありません。もっと読む、短いデモを見る(英語)

Rustプラグイン(英語)は、一部のRust 2018サポート、 Move analysis インスペクションおよびcargoユニットテストのサポートを受けるようにアップデートされました。

2018.2 (7月25日)

C++のサポート

Clangd
Argument selection defects inspection

Clangdベースの言語エンジン

CLion 2018.2は、CLION独自の言語エンジンとともに動作するCLionエディターで、コードエラーと警告を表示するための実験的なclangdベースの言語エンジンを紹介しています。すべてのプラットフォームでデフォルトで有効になっています。clangdエンジンはコード解析にのみ使用され、補完やリファクタリングなどの残りのコード解析機能には影響しません。

さらに学習したい方に(英語)

引数選択の欠陥インスペクション

同じ型の引数が間違った順序で渡される状況を検出することは可能ですか?引数とパラメータの名前が意味を持っているかどうかです。CLionの新しいインスペクションをご紹介します:引数選択の欠陥。

新しいclangdベースの言語エンジンの上で動作するので、新しいインスペクションを有効にするには、それをオンにする必要があります。

使用されるアルゴリズムの詳細(英語)

新しいプロジェクト・モデル

Gradle C++
Compilation Database

Gradle C++

新しいGradle C++プロジェクトをCLionで開くことができます(新しいC++プラグイン(英語)発表を参照)。CLionでGradleプロジェクトを開くには、build.gradleファイルまたはこのファイルを含むディレクトリーを使用します。完全なコードのインサイトを含むすべてのIDE機能は、CLionのそのようなプロジェクトで利用できます。

さらに学習したい方に(英語)

Compilation Database

Compilation Database(英語)は、プロジェクト内のファイルを構築するために使用されるすべてのコンパイルオプションのセットです。プロジェクトからビルドシステムのオプションやbearintercept-buildのような別のツールを使って1つを取得すると、結果のjsonファイルを使ってCLionでプロジェクトを開くことができます。Code Insightは機能しますが、そのようなプロジェクトをビルド、実行、またはデバッグすることはまだできません。

さらに学習したい方に(英語)

CMakeのサポート

Included files as project files
CMake macros

プロジェクトファイルとして含まれるファイル

CLionのこのようなファイルの完全なコードインサイトを得るために、プロジェクトルートディレクトリーのヘッダファイルを直接CMakeに直接リストする必要はありません。ヘッダーまたはソースファイルを任意のプロジェクトファイルに含めると、CLionはそれを自動的にプロジェクトファイルとしても扱います。つまり、完全なコードインサイトがそこで機能します。

さらに学習したい方に(英語)

CMakeマクロ

CLionで外部ツールを設定すると、現在のCMake実行構成に関する情報を提供するCMake固有のマクロ(ビルドディレクトリー、ビルドタイプ名、プログラム引数、またはターゲット名)を使用できるようになりました。

動的解析

Google Sanitizers
Valgrind Memcheck

Google Sanitizers

-fsanitize オプションでプロジェクトをビルドすると、CLionは実行ツールウィンドウの "Sanitizer"タブでサニタイザの出力を視覚化します。このツールを使用して、エラーのリストを確認し、エディターでソースに移動し、その他のことを行うことができます。CLionのASAN、TSAN、MSAN、UBSANのサポートをお楽しみください。

さらに学習したい方に(英語)

Valgrind Memcheckエクスポート/インポート

プロジェクトのメモリの問題に注意し、進捗状況を追跡するために、Valgrind Memcheckの結果をXMLファイルに書き出すことができます。必要な時にいつでも簡単に戻し直してください。

単一ファイルの再コンパイル

Recompile a single file

開発サイクルをスピードアップするには、単一のファイルを再コンパイルすることで、ローカルの変更を素早く検証します。CLionの新しいアクションを使用する|再コンパイル(Shift + Ctrl + F9)。

今のところこれはCMake(直接コンパイラ呼び出しの代わりに対応するファイルのCMakeターゲットを呼び出す)とcompilation databaseプロジェクト(jsonファイルからコンパイルコマンドを呼び出します)でのみ動作します。

さらに学習したい方に(英語)

データベース・ツールおよび SQL

Database tools and SQL

バージョン2018.2には、DataGripの機能をCLionに追加するデータベースツールとSQLプラグインがバンドルされています。これにより、MySQL、PostgreSQL、Oracleなどの多くの既知のデータベースで作業することができます。

データベースの内容を調べたり、データを読み込んだり変更したり、クエリを実行したり、SQLのコードを完全に把握したりすることができます。

さらに学習したい方に(英語)

IDEのパフォーマンス

現在、エディターのレスポンスを向上させることが最優先事項の1つです: CLion 2018.2には次の改良が施されています:

  • レクサー専用インデントプロセッサにより、CLionはレクサー情報に基づいてコードをフォーマットできます: 続きを読む(英語)
  • バージョン2018.2では、UIがフリーズする問題を修正しています:
    • 完了ユースケース
    • どこでも検索
    • 関連シンボルへのナビゲーション
    • パンくずリスト
    • その他

その他の改善

他にも次の拡張機能があります。

  • バンドルされたLLDB 6.0およびCMake 3.12。
  • LLDBとGDBのための多数の修正。
  • WSLバックグラウンドプロセスのサポート(Windows 10 v1803以降)。
  • MacBook Touch Barのサポート( 詳細はこちら
  • 改善されたVCSサポート( 詳細
2018.1 (3月28日)

WSL

WSL config

Windows上のLinuxツールチェーン

Windowsで開発中のプロジェクトでLinuxツールチェーンが必要な場合は、Windows上で動作するCLionでLinux用Windowsサブシステム (WSL)を使用できるようになりました。

設定でWSLと対応するツールチェーンを設定する|ビルド、実行、デプロイ |ツールチェーンを使用すると、CLionで使用する準備が整いました。WSL上のヘッダー検索パスが使用され、WSL上で実行およびデバッグするためのLinuxバイナリが作成されます。

さらに学習したい方に(英語)
WSL Valgrind

Valgrind Memcheck on WSL

Valgrind Memcheckは何十というメモリエラーやリークを検出し、WindowsユーザーのためにWSLで利用できるようになりました。

WSLツールチェーンをオンにし、Valgrindが設定(設定 |ビルド、実行、デプロイ | Valgrind)で検出されていることを確認し、Valgrind Memcheckで標準ターゲットとテストターゲットをコンパイルして実行して、実行ツールウィンドウの特別なタブで結果を表示します。

C++のサポート

if with initializer

C++17: イニシャライザの場合とスイッチ

周囲のスコープを汚染したり、ifと switch オペレータでイニシャライザの人工スコープを作成するのを避けるため、C++17はif(英語)switch(英語)条件にイニシャライザを追加することを提案しています。CLionはこのような文を正しく解析して解決します。

structured bindings

C++17: 構造化バインディング

C++17は構造化バインディングを(英語)導入しました。識別子のリストをオブジェクトのセットにバインドする便利でコンパクトな方法です。CLionのC++言語エンジンはこの機能をサポートし、正確なコード解析が可能になりました。

Ternary operator

三項演算子

三元演算子(英語)は、CLionのコード解析で正しく処理されるようになりました。つまり、次のような多くの誤った警告とエラーは発生しなくなりました。

  • 3進+ new演算子の赤いコード
  • std::out が三項演算子で使用される場合は偽陽性
  • 三項演算子からの参照を初期化するときの不正な解決
Rename siblings

階層の署名の名前変更と変更

リファクタリングの階層は難しいかもしれません。特に、派生した関数に変更を導入した場合は特にそうです。信頼性を高めるために、兄弟関数を含むすべての継承ブランチでRenameおよびChange Signatureリファクタリング更新関数が確実に更新されました。

Clang-Tidy

Clang-Tidy settings

Clang-Tidyのオプションと設定

CLionの設定 | Editor |にあるいくつかのClang-Tidyチェック(例:modernize-use-nullptr)にオプションを提供できるようになりました。インスペクション | C / C++ |一般| Clang-Tidy。

IDEが提供する設定の代わりに.clang-tidy設定ファイル(たとえば、チーム全体がさまざまなIDEでアクセスして使用するためにこれらの設定ファイルをVCSに保存するなど)を使用したい場合は、CLionを既存のディレクトリーごとに設定することができますconfigs。

エディター

Folding control statements

コントロールステートメントのコードの折りたたみ

これで、 if/elsedo/whileforswitchなどの制御文を、1行より長いコードブロックまたは波括弧内のコードブロックで折りたたむ/展開することができます。Shift + Ctrl +ピリオド/ Ctrl + =を使用する折りたたまれたブロックの上にマウスを置くと、コンテンツをプレビューできます。

Message windows

メッセージツールウインドウ: 新しい設定

v2018.1では、ビルド出力が常に必要なので、表示する必要があるかどうかを判断できます。警告やエラーが表示された場合にのみ必要です。これらのオプションのメッセージツールウィンドウの設定を確認します。

  • ビルド時に常に表示 (デフォルト)
  • 自動非表示と警告/エラー時の表示
さらに学習したい方に(英語)
Breadcrumbs

CとC++のパンくずリスト

パンくずリストを使用してCおよびC++コード内の自分の位置を追跡する - コードの周りをナビゲートするのに役立つエディターの下部に小さなマーカー。現在、CLionは名前空間、クラス、構造体、関数、ラムダを表示しています。

さらに学習したい方に(英語)
Unwrap blocks

コードブロックのアンラップ/削除

多くのネストされたステートメントを含む複雑なコードで囲む部分を正確かつ安全に削除するには、Unwrap / Remove ...アクション(Ctrl + Shift + Delete)を使用します。キャレットがどこにあり、 ifelseforwhiledo..whilefor の制御文をアンラップできるかによって、オプションが示唆されています。

CMake

CMake Install

CMakeのインストール

プロジェクトにCMakeインストールターゲットがある場合、CLionの「実行」メニューから「 インストール 」を呼び出すことができます。 cmake install コマンドが実行されます。

また、CLionの実行構成にインストールステップを追加することもできます。

non-CMake prj

単一ファイルと非CMakeプロジェクトを開く

CLionはまだスマートなIDE機能を提供するためにCMakeプロジェクトを必要としますが、CLionではCMakeプロジェクトに接続する必要のない単一のファイルやフォルダーを開くことができます。

後でCMakeLists.txtファイルを選択して読み込むために、ビルトイン通知に従ってください。コールツール| CMake |現在のCMakeLists.txtからプロジェクトをバインド解除するには、いつでもCMakeをアンロードします。

さらに学習したい方に(英語)
Create CMakeLists.txt from template

CMakeLists.txtファイルテンプレート

新しいファイル(Alt + Insert)を作成すると、CMakeLists.txtファイルを作成するオプションが提供されるようになりました。

生成されたファイルの内容は、設定 |エディターのテンプレートで定義されます。ファイルとコードテンプレートを使用して、プロジェクトやチームのニーズに合わせてカスタマイズすることができます。

プロジェクト・スコープ

Configure scopes

定義済みおよびカスタムスコープ

CLion 2018.1には、プロジェクトソースファイル、プロジェクト非ソースファイル、変更ファイルなど、さまざまな角度からプロジェクトを概観するのに役立ついくつかの事前定義されたスコープがあります。

また、プロジェクトヘッダーファイルのみを含むスコープなど、カスタムスコープを構成することもできます。

さらに学習したい方に(英語)
Switch scopes in Project View

プロジェクト・ビュー

デフォルトでは、プロジェクトビューは、生成されたフォルダー(cmake-build-debugなど)やその他の除外されたフォルダーを含むすべてのプロジェクトファイルを含むプロジェクトを開きます。後で、他の定義済みスコープまたはカスタムスコープの中から選択できます。

Find in Path with Scopes

パス内検索

検索範囲を絞り込んでより迅速かつ効率的にするには、[パスで検索]ダイアログでスコープを使用します。前に作成したすべてのカスタムスコープがリストに表示されます。

VCS: 部分的なGitコミット

Select code chunks to commit

コミットするコードチャンクを選択する

ファイルから選択した変更のみをコミットし、後で他の変更を残したいですか?部分的なGitコミット(git add -p)がここで助けになることができます: ここでCLionが提供するサポートがここにあります。!

コミットにコードチャンクを含めるには、Commit ChangesダイアログのDiffペインのチェックボックスを使用します。

Add to changelist

変更リストをチェンジリストに移動する

ファイルを編集しているときに、左のガターでマーカーを変更することができます。これらは、変更を概観してロールバックするだけでなく、既存のチェンジリストに移動するか、新しいチェンジリストを作成して現在のコードチャンクを追加します。

さらに学習したい方に(英語)

より多くの言語 - より多くのパワー

Objective-C / Objective-C++のサポート

Objective-C / Objective-C++のファイルをCMakeプロジェクトに追加して作業し、CLionにバンドルされている以下の機能(AppCode提供)を利用できます。

  • 言語構文のサポート
  • Objective-C インスペクション (clangアナライザセットを除く)
  • Key-Valueコーディングのサポート
  • ライブとファイルテンプレート
  • コードスタイル/配色

FortranおよびRustプラグイン

Fortranプラグインには、FORTRAN 77/90/95/2003と2008のサポートが付属しています。この機能には、スマートエディター、ナビゲーションアクション、コード解析、デバッガなどがあります。

Rustプラグインには以下が付属しています:

  • ボード上にCargoビルドシステム
  • CLionの新しいプロジェクトウィザードへのアップデート
  • デバッガを使用します。
さらに学習したい方に(英語)

その他の改善

CLion 2018.1には他にも数多くの機能拡張があります。ブログで(英語)詳細をご覧ください。

  • パフォーマンスの向上:重要な変更が導入され、エディターのレスポンスが向上しました。インクリメンタルハイライトが実装されました。
  • デフォルトでMSVC:レジストリでMicrosoft Visual C++コンパイラのサポートをオンにする必要はありません。現在はデフォルトで動作します。
  • カラースキームの改善:CLionはMonokaiとGitHubスキームをバンドルし、既存のスキームに多くの修正を加えました。