CLion の新機能

CLionの新機能

CLion 2018.2は、新しいプロジェクトモデル、追加のclangdベースの言語エンジン(実験モード)、Google Sanitizerとデータベースのサポートを追加することで、より成熟したC / C++ IDEに変わりつつあります。

このリリースでは、多くのパフォーマンス改善のおかげで、エディタのレスポンスも向上しました。

2018.2(Jul 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のそのようなプロジェクトで利用できます。

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

コンパイルデータベース

コンパイルデータベース(英語)は、プロジェクト内のファイルを構築するために使用されるすべてのコンパイルオプションのセットです。プロジェクトからビルドシステムのオプションやくまintercept-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ターゲットを呼び出す)とコンパイルデータベースプロジェクト(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タッチバーサポート(続きを読む)。
  • 改善された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: イニシャライザの場合とスイッチ

switch 演算子でアンビエントスコープの汚染やイニシャライザの人工スコープの作成を避けるため、C++17はif(英語)切り替え(英語)条件にイニシャライザを追加することを提案しています。 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スキームをバンドルし、既存のスキームに多くの修正を加えました。
2017.3(Nov 30)

C++言語エンジン

リストの初期化

リストの初期化は、C++11以降のオブジェクトをbraced-init-listから初期化するための標準的な方法です。 CLion 2017.3では、誤ったコード分析の警告の多くを含む、この言語機能のサポートが修正されました。例えば:

  • 均一な初期化で初期化された自動変数のメンバーに対する失敗した解決
  • 複数の式を持つラムダキャプチャ初期化子のエラーが見つかりません
  • C99ユニオン初期化子を使用すると無効な警告が表示される
  • そして、リストの初期化を行うコードでは、「引数が多すぎます」、「引数が少なすぎます」、「一致するコンストラクタがありません」というエラーが誤っています

名前の検索

名前ルックアップは、名前を宣言に関連付けるC++標準プロシージャです。このリリースでは、CLionでプロシージャが失敗した状況が修正されています。

  • 同じスコープから対応する宣言の前に名前を解決する
  • 場合によっては using 経由でインポートされた名前の解決
  • クラスの継承によってスコープに持ち込まれたシンボルを解決する
  • その他
__COUNTER__ support

__COUNTER__サポート

CLion 2017.3は__COUNTER__マクロの値を正しくインクリメントします。これは無効な「重複宣言」エラーが削除されたことを意味します。 __COUNTER__マクロの代わりにクイックドキュメント(Ctrl+Q)ポップアップを使用すると、最後に置換された値が表示されます。

Generate Definitions improvements

定義の生成

定義の生成Ctrl+Shift+D)は、関数に欠けている実装を作成します。今では関数テンプレートも尊重しています。

また、使用箇所から生成関数(Alt+Enter)はテンプレートパラメータを尊重します。

MSVC extensions

Microsoft Visual C++コンパイラ拡張

Microsoft Visual C++コンパイラのサポートはまだ実験段階ですが、CLionは特定のMSVC拡張機能をサポートしています。

  • __alignof および __unaligned キーワード、
  • __ptr32__ptr64のようなポインタ型の属性は、
  • MSVCの組み込みデータ型、
  • %I32%I64のようないくつかの追加フォーマット指定子

ブログで完全なリストを見つけてください

JUCE

JUCEが改善をサポート

JUCEは、マルチプラットフォームのオーディオアプリケーションを開発するために広く使用されています。 CLion 2017.3には、さまざまな誤ったコード解析の警告を回避し、コードを適切にナビゲートできるように、JUCEライブラリのサポートに複数の修正が加えられています。

これに加えて、新しいJUCE 5.2アップデートでは 、ProjucerでCLion / CMakeエクスポータを使用して、CLionでオーディオアプリケーションをさらに高速に開発することができます。

デモを見る。(英語)

インテンション: 反転if

Invert if

非常に一般的なリファクタリングパターンの1つは、 if 句の条件を反転させ、 if-else ブロックを反転させることです。これにより、複数のネストされた if ステートメントを使用する複雑なコードを簡単にすることができます。

CLionサポートでこのパターンに従ってください - 対応するインテンションがあなたのために if 句を反転させます。

プロファイリング: Valgrind Memcheck

Valgrind Memcheck

CLionにLinuxおよびmacOSプラットフォームのメモリプロファイリング機能が追加されました - Valgrind Memcheckの統合はv2017.3で導入されました。 Valgrind Memcheckでターゲットを実行して、Runツールウィンドウの特別なタブで結果を取得することができます。ユーザーは、Memcheckを使用して、通常のターゲットとユニットテストの両方のターゲットを実行できます。

さらに学習したい方に

ユニットテスト:Boost.Test

Boost.Test

C++開発者が定期的に使用する2番目に普及したユニットテストフレームワークであるBoost.Testは、CLionとGoogle Test、Catch / Catch 2で利用可能になりました。

  • 特別Boost.Test実行/デバッグ構成
  • ビルトインテストランナーの結果ビュー
  • 失敗したすべてのテスト、すべて失敗したテスト、エクスポート/インポート結果を再実行する機能
  • テスト結果からテストソースコードにナビゲートする機能

UI: 実行アイコン

Run icon

CLionの左ガターは、コード、VCS変更などのナビゲーションを支援するために使用されます。また、Valgrindの主な機能と単体テストを使用して実行、デバッグ、または実行するための特別な実行アイコンも表示されます。

単体テストの場合、これらのアイコンはテストのステータス(成功または失敗)も報告します。

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

複数のツールチェーン

v2017.3でサポートされている複数のツールチェーンは、コンパイラの設定、さまざまなバージョンのCMake /コンパイラ/デバッガをさまざまなプロジェクトや設定用に設定することが簡単で、Windows上のツールチェーン用のシンプルなスイッチャーがあることを意味します。新しい設定は次のとおりです。

  • ツールチェインを設定し、 CMakeプロファイルで使用します
  • 実行またはデバッグする構成を選択する場合は、 CMakeプロファイルを選択します

ツールチェーン

ファイル内 | 設定 |ビルド、実行、デプロイ |ツールチェーンを使用すると、いくつかのツールチェーンを設定し、さまざまなCMake実行ファイル、コンパイラ、およびデバッガを選択できるようになりました。 Windowsでは、MinGW、Cygwin、およびMicrosoft Visual C++コンパイラの設定用に異なるツールチェーンを作成します。

後でCMakeプロファイルでこれらのツールチェーンから選択すると、さまざまな構成に異なるツールチェーンを適用できます。

CMake profiles

CMakeプロファイル

CMakeプロファイルはプロジェクトごとに作成され、デバッグ/リリース構成を簡単に切り替えたり、1つのプロジェクトで異なるツールチェーンを使用するなどに使用できます。

ファイル内 | 設定でCMakeプロファイルを作成する|ビルド、実行、デプロイ | CMakeでは、ビルドタイプ、CMakeオプション、環境、およびその他の設定を設定し、設定されたもののリストからツールチェーンを選択します。

Toolchains compiler

コンパイラの簡単な切り替え方法

プロジェクト上でコンパイラを簡単に切り替えたり、異なるターゲットを実行/デバッグするために複数の異なるコンパイラを使用するには、Toolchainsを使用します。CMakeによって検出されたコンパイラ/メイクに頼るか、カスタムメイクを選択することができます。

これらのコンパイラ設定よりもCMakeオプション -DCMAKE_C_COMPILER および -DCMAKE_CXX_COMPILER が優先されることに注意してください。

Build type switcher

ビルドタイプスイッチャー

ツールバーの実行コンフィギュレーションスイッチャーで必要なCMakeプロファイルを選択します。典型的なケースは、2つの異なるCMakeプロファイルを介して設定されたDebug / Releaseビルドタイプです。

このスイッチャーは、 Shift+Alt+F10 for Runと Shift+Alt+F9 for Debugを介して開くRun / Debugコンフィギュレーションスイッチャーポップアップでも利用できます。

カラー・スキームの切り替え

Color schemes

関数呼び出しと関数宣言を区別するために、C / C++の配色設定が更新されました。 ファイル内 | 設定 |エディタ|カラースキーム| C / C++では、これら2つのオプションの設定を個別に見つけることができます。

ex:関数宣言を太字にして、関数呼び出しを通常のフォントで保つことができます。

その他の改善

  • デバッガー:
    • CLionはマルチアルファサポートでGDB 8.0をバンドル
    • CLionはLLDB 5.0をバンドル
  • CMake 3.9はCLionにバンドルされました
  • VCSの改善:
    • ブランチを切り替えると、IDEによってワークスペースが保持され、必要に応じて自動的に復元されます。
    • IDEからgitパッチをコミットすると、IDEはgitパッチが提供する作成者とコミットの詳細を読み込みます。
    • タスクとコンテキストを使用すると、新しいタスクを開始するときに現在のタスクに関連する変更を保存できるようになりました。戻ってきたときに変更を忘れてしまいます。
    • そしてもう少し
  • Kotlinを機械コードに直接コンパイルする新技術であるKotlin / Nativeは、 プラグイン経由でCLionでサポートされるようになりました
2017.2 Jul 19

Clang-Tidy

Clang-Tidy: modernize

ボード上のClang-Tidy

Clang-Tidyは、数十の貴重なチェックとクイックフィックスを提供する強力なコード解析ツールです。これでCLionで恩恵を受けることができます。タイプすると同時に動作し、CLion独自の組み込みコードインスペクションと同じ方法でメッセージを表示します。 Clang-tidyのクイックフィックスは、同様に Alt+Enterを介して利用できます。

Cpp Core Guidelines

C++コアガイドラインなど

Clang-Tidyには多くの貴重なチェックが組み込まれています。その中には、 C ++コアガイドライン(英語)チェック( - *、cppcoreguidelines- *を使用してこれらのみを実行)、C++コードチェック( - *、modernize- *)などの多くをチェックするものがあります。

Clang-Tidy: settings

必要なチェックを設定する

IDEが本当に必要なチェックだけを実行させるようにします。これを簡単に設定するには、C / C++コードインスペクションの設定/設定|エディタ| インスペクション | C / C++ |一般| Clang-Tidy)。 Clang-Tidyのコマンドライン形式がテキストフィールドで使用されます。デフォルト設定はここにあります。(英語)

また、コンテキストメニューから、個々のチェックを無効にするか、 // NOLINTを使用して特定の行のチェックを抑制することができます。

独自のチェックを追加する

Clang-Tidyは簡単に拡張可能で(英語) 、新しいチェックを書くための便利なAPIを備えています。カスタムチェックをClang-Tidyに追加し、設定/環境設定でClang-Tidyバイナリのパスを指定します。言語とフレームワーク | C / C++をダウンロードし、すぐにCLionで確認してください。

カスタムチェックの場合は、Clang-Tidyバージョン6.0.0以降または他のバージョンを使用していることを確認してください。 ただし(英語) 、JetBrainsのパッチを適用してください( パッチD35349(英語)パッチD34404(英語) )。

C++のサポート

コード解析の正確さ

正確さに焦点を当て、CLion 2017.2はボード全体でC++コード解析を改善します: 例えば:

  • std::enable_if を使用した場合の不正なコード解析の修正
  • GCC5 / 6用のネストされたテンプレートタイプを持つSTLコンテナの解決に関する問題の修正
  • va_* マクロの適切なサポートが追加されました
  • パラメータパックの引数とテンプレート以外の引数をとる関数の正しい処理
Unused var quick-fix

未使用変数のクイックフィックス

変数が使用されていない場合でも、コンストラクタには依然としていくつかの副作用があります。使用されていない変数に対して、単純ではないコンストラクター呼び出しを保持するための新しいクイックフィックスが追加されました。

C++ type casts

C++キャスト演算子

CLIONのインテンションとC++コードのクイックフィックスは、Cスタイルのキャストの代わりにC++タイプのキャスト(static_castdynamic_castreinterpret_castconst_cast)を提案しています。

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

C++17 in the New Project wizard

新規プロジェクトウィザードのC++17

C++17は、新規プロジェクトウィザードの標準一覧で利用できるようになりました。 CLionは新しいプロジェクト用に生成されたCMakeLists.txtに set(CMAKE_CXX_STANDARD 17) を自動的に追加します。

Microsoft Visual C++コンパイラのPCH

MSVCでプリコンパイルされたヘッダーもサポートされるようになりました: もっと詳しく知る(英語)

デバッグ

Force Step Into

強制的にステップ・イン

GDBでデバッグする際にソースが利用できない場合は、逆アセンブリビューがCLionに表示されます。逆アセンブルコードを取得するには、特別なアクション強制的にステップ・インShift+Alt+F7)を使用する必要があります。通常のステップ・インF7)は、ソースなしですべてのフレームを単にスキップします。

Long arrays

大きな配列の検査

デバッグ中のアレイ評価中のタイムアウトを減らすために、CLionはデフォルトで表示される50個の配列要素の制限を使用します。インデックスが大きい要素を必要とし、展開をクリックできない場合は、単にレジストリの値cidr.debugger.value.maxChildrenを増やしてください。

これによりタイムアウトも増加する可能性があることに注意してください。

GDBドライバの修正

CLion 2017.2は、GDBドライバでいくつかの厄介な問題を修正しました:

  • 存在しないローカルプロセスにアタッチしようとするとコマンドのタイムアウトが発生する
  • Windows上のプログラム引数で誤ってエスケープされたバックスラッシュ

パフォーマンスの向上

場合によっては索引付け時間が改善されました。また、CLionのコンパイラで定義済みのマクロの解析を最適化した後、再インデクシングでのパフォーマンスの向上も達成されました。さらに、場合によっては、ユーザーにコントロールを与えようとしているだけです。

Cancelable go to actions

キャンセル可能な非同期アクションに移動

サブクラスに移動およびオーバーライドされた関数に移動するアクションは、ナビゲートするために使用可能なオプションのリストを作成するため、かなりの時間がかかります。 IDEのパフォーマンスと応答性を向上させるために、これらのナビゲーション操作をキャンセルすることができました。ナビゲーションポップアップウィンドウからエリアをクリックするだけで完了です。

Cancelable CMake reload

キャンセル可能なCMakeリロード

時間を節約するために、CMakeのリロードをキャンセルして、追加の変更を導入したり、この時間のかかる操作を延期することができます。そのために、CMakeツールウィンドウに停止ボタンを追加しました。

キャンセルされ、終了したCMakeランを区別するために、CLionは、各CMake構成がリロードされて終了するたびに、各出力タブに[仕上げ]を表示するようになりました。

パスのUIで検索

2017.1で導入された「パスで検索」ポップアップには、いくつかのUIが強化されています。

Find in Path: left gutter

プレビューの左手

プレビューパネルには、ナビゲーションアイコン付きのフル機能の左サイドガターと、ローカル変更のマーカーが追加されました。

Find in Path: Merged results

結合された結果

便宜上、同じ行の検索結果が[プレビュー]パネルでまとめてマージされます。

VCS

VCS: Git Revert

前回保存した状態に戻す

Git RevertはGit Logビューで利用可能になり、選択した任意の数のコミットで動作します。

VCS: Reword

リワード

まだプッシュされていないコミットのコミットメッセージを変更するには、新しいリワードアクションを使用します。

Commit messages settings

コミットダイアログの設定

コミットメッセージを読みやすく表現力豊かに保つには、書式設定に注意してください。更新された設定では、件名と本文の間の空白行、最大テキスト長、およびスペルチェックを制御できます。バージョンコントロール|コミットダイアログ。

VCS: quick-fixes

コミットメッセージのクイックフィックス

CLionは、再フォーマットや折り返しなどのコミットメッセージのクイックフィックスを提供するようになりました。

その他の改善

  • CMake 3.8がCLionにバンドルされました。
  • gmockにリンクされているターゲットでは、Google Test Run / Debugの設定が自動的に生成されます(これまでのgtestと同様)。
  • Windowsのディスプレイでは、CLionは独自の倍率を取得し、それに応じてUIが拡大/縮小されます。