C++ サポート

Clangd

Clangdベースの言語エンジン

CLion 2018.2では実験的にclangdベースの言語エンジンを搭載し、コードのエラーや警告をエディタに表示します。これはMacとLinuxでデフォルトで有効化されています。このエンジンはコード解析にのみ使われており、コード補完やリファクタリングといった他のコードインサイト機能には影響しません。

より詳しく

Argument selection defects inspection

引数順序のインスペクション

同じ型の引数が間違った順序で渡される間違いを検出出来るでしょうか?CLionはargument selection defectsというインスペクションで検出してくれます!

このインスペクションはclangdベースの言語エンジンを有効化している場合にのみ使えます。

アルゴリズムについてより詳しく

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

Gradle C++

Gradle C++

Gradle C++プロジェクトをCLion で開けるようになりました(gradle.orgのC++プラグインのアナウンス)。build.gradleを含むディレクトリをCLionで開けばコード補完、リファクタリングを含む全ての機能をご利用頂けます。

より詳しく

Compilation Database

Compilation Database

Compilation Database はプロジェクトをビルドする際に用いられたコンパイルオプションです。プロジェクト用のbearやintercept-buildなどの書き出すCompilation Databaseがあれば、CLionでもそれを利用することが出来ます。Compilation Databaseでビルド、実行、デバッグは出来ませんがコードインサイトは働きます。

より詳しく

CMakeサポート

Included files as project files

Includeされたファイルをプロジェクトファイル扱いに

コードインサイトを働かせるためにヘッダファイルをプロジェクトルートにわざわざ配置する必要がなくなりました。includeされたヘッダ/ソースファイルは自動的にプロジェクトファイルとして扱われ、補完やリファクタリングといったコードインサイトが働くようになりました。

より詳しく

CMake マクロ

CLionから外部ツールを使う際、CMake固有のマクロを利用出来るようになりました。CMakeが提供するビルドディレクトリ、ビルドタイプ名、プログラム引数、ターゲット名といったプロパティ情報も得られます。

動的解析

Google Sanitizers

Google Sanitizers

プロジェクトを -fsanitize オプション付きでビルドすると、CLionはsanitizersの出力をRunツールウィンドウの”Sanitizer”タブでビジュアライズします。結果を確認しながら、コードへナビゲートしたり、ASAN、TSAN、MSAN、UBSANサポートをお楽しみください。

より詳しく

Valgrind Memcheck結果のエクスポート/インポート

メモリリーク問題を追跡するため、Valgrind Memcheck結果をXML形式でエクスポート/インポートできます。

単体ファイルをリコンパイル

Recompile a single file

開発サイクルを早めるため、開いているファイルをRun | Recompile (⇧⌘F9)で素早くリコンパイル出来ます。

現在のところCMake(CMakeに直接ファイル名を渡してコンパイルします)とcompilation databaseプロジェクト(jsonファイルからコンパイルコマンドを呼びます)でのみ利用できます。

より詳しく

DatabaseツールとSQL

Database tools and SQL

バージョン2018.2ではデータベースツールとSQLのプラグインをバンドルします。DataGripの機能をCLionで最初から利用できます。MySQL、PostgreSQL、Oracleといったデータベースの操作が楽になります。

より詳しく

IDE パフォーマンス

エディタをより機敏にすることはJetBrainsでもトッププライオリティとなっています。CLion 2018.2では以下の改善が施されました:

  • Lexer-only indentationプロセッサによりCLionはlexer informationベースでフォーマットします より詳しく
  • 以下のケースでフリーズするバグを修正しました:
    • completion use cases
    • Search Everywhere
    • navigation to Related symbol
    • breadcrumbs
    • 等々

その他の改善

  • LLDB 6.0とCMake 3.12をバンドル
  • LLDBとGDBのホスト修正
  • WSLバックグラウンドプロセスサポート(Windows 10 v1803〜)
  • MacBookタッチバーサポート (より詳しく)
  • 改善されたVCSサポート (より詳しく)