CLion 2018.1 の新機能

Windows Subsystem for Linux

WindowsにおけるLinuxツールチェイン

WSL config

WindowsでLinuxツールチェインが必要であればWindows Subsystem for Linux (WSL) をCLionから使えます。

WSLを設定して、関連するツールチェインをPreferences | Build, Execution, Deployment | Toolchainsより設定すれば準備完了です。HeaderサーチパスはWLSのものが使われます。また実行・デバッグバイナリはLinux向けのものが作られます。

より詳しく

WSLのValgrind Memcheck

WSL Valgrind

WindowsでもWSLを使えばValgrind Memcheckにより多くのメモリエラーやリークを検出できます。

WSLツールチェインを設定し、Preferences | Build, Execution, Deployment | Valgrind)でValgrindが検出されていることを確認してください。コンパイル、テストをValgrind Memcheckターゲットとしてエラーやリークの可能性がある箇所を検出できます。結果はRunツールウィンドウの専用のタブで確認できます。

C++ サポート

C++17: イニシャライザ付きのIfとswitch

if with initializer

スコープがあいまいにならないようにブレースで囲んだりすることなく、C++17のイニシャライザ付き if と switch を利用できます。

C++17: Structured bindings

structured bindings

C++17 のstructured binding はアイデンティファイアとオブジェクトのセットをコンパクトにバインドする表記法です。CLionでもこの文法を正しくパースし、コードアナリシスも働くようになりました。

Ternary operator

Ternary operator

ternary operatorがCLionでサポートされます。以下の様な誤った警告やエラーが抑止されます:

  • ternary + new オペレータで赤い警告
  • ternary operatorでstd::outが使われている場合のFalse positive
  • ternary operatorで参照を初期化する際の誤った解決

階層のRenameとChange Signature

Rename siblings

階層をリファクタするのはトリッキーです。特に派生関数を導き出す場合は問題が怒りがちです。信頼性を向上するため、RenameとChange Signatureリファクタは全ての継承分岐において実行されるようになりました。

Clang-Tidy

Clang-Tidyオプションと設定

Clang-Tidy settings

Preferences | Editor | Inspections | C/C++ | General | Clang-TidyよりClang-Tidyにオプションを指定できるようになりました(例: modernize-use-nullptr)。

VCSで管理するためにIDEではなく .clang-tidy で指定したい場合、CLionでディレクトリ別の設定を尊重するようにできます。

エディタ

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

Folding control statements

コントロールフローを制御するステートメント(if/else, do/while, for, switch)を⇧⌘.で折りたためます。これは2行以上あるブロック、またはブレース内のブロックで利用できます。

メッセージツールウィンドウの新しい設定

Message windows

ビルドアウトプットが常に表示されるか、警告やエラーがある場合のみ表示されるか指定できます:

  • Always Show on Build(常に表示: デフォルト)
  • Auto-Hide and Show on Warning/Error(警告/エラー時に自動的に表示)

より詳しく

C and C++のパンくず

Breadcrumbs

C/C++コード編集中、エディタ下部に小さくパンくずが表示されますのでナビテーションが簡単です。

より詳しく

コードブロックの囲み/囲み解除

Unwrap blocks

複雑にネストしたコードで正確にブレースを囲んだり、囲みを解除したりする場合、Unwrap/Remove… アクション (⌘⇧⌦)を使ってください。カレットの位置に応じてifelseforwhiledo..whileforコントロールステートメントを使えるかどうか判断して提示します。

CMake

CMake インストール

CMake Install

CMakeインストールターゲットがあれば、Install をCLionのRunメニューから行えます。cmake install コマンドが実行されます。

別の方法として、run設定にInstall ステップを追加することもできます。

ファイル1枚だけ、非CMakeプロジェクトを開く

non-CMake prj

CLionは依然スマートなIDE機能を使うのにCMakeプロジェクトである必要がありますが、CMakeプロジェクトになっていない単一のファイルやフォルダを開けるようになりました。

ファイル/フォルダを開いたら通知に従ってCMakeLists.txtファイルをロードしてください。後でTools | CMake | Unload CMakeをいつでも呼び出して現在のプロジェクトからCMakeLists.txtを引き離すことが出来ます。

より詳しく

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

Create CMakeLists.txt from template

Create new file (⌘N)でCMakeLists.txtファイルを作成できます。

このファイルのテンプレートはPreferences | Editor | File and Code Templatesより定義できます。

プロジェクトスコープ

Predefined and custom scopes

Configure scopes

CLion 2018.1ではプロジェクトソースファイル、非プロジェクトファイル、変更済みのファイル、など様々なプロジェクトのビュー定義をもたらします。

プロジェクトのヘッダファイルのみを表示するスコープなど、ご自分でカスタムスコープを定義することも出来ます。

より詳しく

プロジェクトビュー

Switch scopes in Project View

デフォルトでプロジェクトビューでは生成されたファイルを含む全てのファイルを表示します。事前定義された、またはカスタムビューを選ぶこともできます。

Find in Path

Find in Path with Scopes

検索結果を素早くしぼり混むため、カスタムスコープも指定できます。

バージョン管理: パーシャルGitコミット

コミットするパートの選択

Select code chunks to commit

Git の部分コミット (git add -p)が出来るようになりました。コミットダイアログでチェックの付いている変更箇所だけをコミット出来ます。

Move a change to the changelist

Add to changelist

ファイル編集中、ガター(エディタ左側)に変更を示すマークが付いています。このマークをクリックすると変更を差し戻したりDiffを確認したり出来るだけでなく、変更内要を別のチェンジリストに移動して、現在のチェンジリストでコミットされないようにすることが出来るようになりました。

より詳しく

より多くの言語 – より協力

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

Objective-C / Objective-C++ をCMakeプロジェクトに追加すれば AppCode の以下の恩恵を受けられます:

  • 言語シンタックスサポート
  • Objective-C インスペクション (clang analyzer setを除く)
  • Key-value コーディングサポート
  • Live and file templates
  • コードスタイル/カラースキーム

Fortran と Rustプラグイン

Fortran プラグインは FORTRAN 77 / 90 / 95 / 2003 / 2008をサポートします。スマートな編集、ナビゲーションアクション、コードアナリシスとデバッガを利用できます。

Rust プラグインでは以下のことが行えます:

  • Cargo buildシステムサポート
  • CLionの新しいプロジェクトウィザード
  • デバッガ

より詳しく

その他の改善

他にも多くの改善がなされております。詳しくはブログをご覧ください。

  • パフォーマンス改善: エディタのインクリメンタルハイライトなどによる機敏な挙動
  • デフォルトおでMSVC: Microsoft Visual C++ compilerをレジストリで有効化することなく、デフォルトになりました
  • カラースキーム改善: MonokaiとGitHubスキームを新たにバンドル。既存のカラースキームもより見やすくなりました。

紹介プログラムにより新規、他社より移行のお客様は最大1,000円割引。既存のお客様は紹介件数に応じて割引となります。

コマーシャルライセンス年間サブスクリプション 新規
パーソナル 年間サブスクリプション 新規