C++ サポート
Clangdベースの言語エンジン
CLion 2018.2では実験的にclangdベースの言語エンジンを搭載し、コードのエラーや警告をエディタに表示します。これはMacとLinuxでデフォルトで有効化されています。このエンジンはコード解析にのみ使われており、コード補完やリファクタリングといった他のコードインサイト機能には影響しません。
引数順序のインスペクション
同じ型の引数が間違った順序で渡される間違いを検出出来るでしょうか?CLionはargument selection defectsというインスペクションで検出してくれます!
このインスペクションはclangdベースの言語エンジンを有効化している場合にのみ使えます。
新しいプロジェクトモデル
Gradle C++
Gradle C++プロジェクトをCLion で開けるようになりました(gradle.orgのC++プラグインのアナウンス)。build.gradleを含むディレクトリをCLionで開けばコード補完、リファクタリングを含む全ての機能をご利用頂けます。
Compilation Database
Compilation Database はプロジェクトをビルドする際に用いられたコンパイルオプションです。プロジェクト用のbearやintercept-buildなどの書き出すCompilation Databaseがあれば、CLionでもそれを利用することが出来ます。Compilation Databaseでビルド、実行、デバッグは出来ませんがコードインサイトは働きます。
CMakeサポート
Includeされたファイルをプロジェクトファイル扱いに
コードインサイトを働かせるためにヘッダファイルをプロジェクトルートにわざわざ配置する必要がなくなりました。includeされたヘッダ/ソースファイルは自動的にプロジェクトファイルとして扱われ、補完やリファクタリングといったコードインサイトが働くようになりました。
CMake マクロ
CLionから外部ツールを使う際、CMake固有のマクロを利用出来るようになりました。CMakeが提供するビルドディレクトリ、ビルドタイプ名、プログラム引数、ターゲット名といったプロパティ情報も得られます。
動的解析
Google Sanitizers
プロジェクトを -fsanitize
オプション付きでビルドすると、CLionはsanitizersの出力をRunツールウィンドウの”Sanitizer”タブでビジュアライズします。結果を確認しながら、コードへナビゲートしたり、ASAN、TSAN、MSAN、UBSANサポートをお楽しみください。
Valgrind Memcheck結果のエクスポート/インポート
メモリリーク問題を追跡するため、Valgrind Memcheck結果をXML形式でエクスポート/インポートできます。
単体ファイルをリコンパイル
開発サイクルを早めるため、開いているファイルをRun | Recompile (⇧⌘F9)で素早くリコンパイル出来ます。
現在のところCMake(CMakeに直接ファイル名を渡してコンパイルします)とcompilation databaseプロジェクト(jsonファイルからコンパイルコマンドを呼びます)でのみ利用できます。
DatabaseツールとSQL
IDE パフォーマンス
エディタをより機敏にすることはJetBrainsでもトッププライオリティとなっています。CLion 2018.2では以下の改善が施されました:
- Lexer-only indentationプロセッサによりCLionはlexer informationベースでフォーマットします より詳しく
- 以下のケースでフリーズするバグを修正しました:
- completion use cases
- Search Everywhere
- navigation to Related symbol
- breadcrumbs
- 等々