CLionの新機能

CLion 2020.1 では、言語サポート、デバッガー、フォーマッタやリファクタリングといった多くの IDE 機能において多数の改善点を提供しています。 Windows の開発者のほか、組み込みプロジェクトや CUDA プロジェクトに携わる開発者にも役立つ新しい機能が含まれています。

組み込み開発

IAR ツールチェーン

IAR ツールチェーン

組み込みプロジェクトで IAR コンパイラ / ツールチェーンをお使いの場合、CLion でも同じ作業をできるようになりました。 コンパイラ情報取得時のエラーが修正されました。これにより、IAR ツールチェーンを使うプロジェクトは正常に読み込まれ、CLion を使用することができます。

特記事項:

  • MinGW が必要です。
  • IAR Embedded Workbench で CMake を使用する際のヒントはこちらで確認できます。
PlatformIO

PlatformIO

PlatformIO は人気急上昇中の新世代エコシステムです。 組み込みプロジェクトでそのメリットを得るには、新しい PlatformIO for CLion プラグインをご活用ください。その機能は以下の通りです。

  • PlatformIO のプロジェクトタイプを新規プロジェクトウィザードに追加。
  • 対応する PlatformIO CMake ベースのプロジェクトを生成。
  • 自動的にデバッグとアップロード用の構成を作成。
  • CLion の PIO 統合デバッガーを使ったオンチップのデバッグが可能。

など! 詳細は公式ドキュメントをご覧ください。

CUDA サポート

コード解析とコーディング支援

CUDA に特化した拡張機能をすべて含む、CUDA C と C++ のコードが正しく解析され、ハイライトされるようになりました。 これは、コードナビゲーション、コードのドキュメント化、その他のコーディング支援アクションが CUDA コードで機能することを意味します。 また、CLion はカーネルコールの角括弧を入力することもできます。

GitHub から ClaraGenomicsAnalysis プロジェクトをクローンして、CUDA サポートの面における CLion の能力をご覧ください。

新規プロジェクトウィザード

新規プロジェクトウィザード

CLion の新規プロジェクトウィザードは、CUDA プロジェクト (ライブラリまたは実行可能ファイル) を作成するオプションの追加によって更新されています。 選択すると、CMakeLists.txt と main.cu のサンプルファイルが生成されます。

ファイルの拡張子と CMake ターゲット

ファイルの拡張子と CMake ターゲット

新しくなった C/C++ ファイル作成ダイアログでは、CUDA ファイルの新しい拡張子として .cu and .cuh がサポートされています。 このダイアログで更新する潜在的なターゲットのリストには、一般的な CMake と CUDA 固有のターゲット (cuda_add_executable および cuda_add_library コマンドで作成) が含まれます。

詳細情報

Windows での開発

Clang-cl

Clang-cl

Windows 上で CLion の clang-cl を使用できるようにしました。バージョン 8.0 以降で対応しています。

LLVM ウェブサイトから、または Visual Studio ツールと一緒にインストールできます。 完了したら、CLion で Visual Studio ツールチェーンを選択し、ツールチェーン設定から clang-cl.exe を指定します。

Visual Studio C++ のツールチェーン用デバッガ

Visual Studio C++ のツールチェーン用デバッガ

JetBrains が Visual Studio C++ のツールチェーン用に開発した LLDB ベースのデバッガはこのツールチェーンのデフォルトのデバッガになりました。 今すぐ活用できます!

ネイティブなビジュアライザー用にバンドルされたサポートは、Settings | Build, Execution, Deployment | Debugger Data Views | Enable NatVis renderers for LLDB で明示的に有効化する必要があります。

実行構成とデバッグ構成

リモートおよび埋め込み GDB のカスタムターゲット

リモートおよび埋め込み GDB のカスタムターゲット

リモート GDB サーバー埋め込み GDB サーバー構成にカスタムターゲットを使用できるようになりました。 以前 CMake ターゲットでのみ機能していたこれらの構成により、ローカルマシンで実行されているCLionインスタンスからリモートホストまたはマイクロコントローラーでアプリケーションをデバッグできます。

既にこれらの構成を作成している場合、CLion 2020.1 は以前の Run/Debug 構成設定をプロジェクトフォルダーの projectFilesBackup ディレクトリに保管し、それについて通知します。

Run/Debug 構成のマクロとパス変数に対するサポート

Run/Debug 構成のマクロとパス変数に対するサポート

パス変数とマクロは CMake、Custom Build、および Gradle のネイティブアプリケーション構成の の Program Arguments と Working Directory フィールドで使用できるようになりました。 マクロは以下の値を取得する場合に役立ちます。

  • CMake の現在の実行構成のビルドディレクトリ。
  • CMake の現在の実行構成の生成ディレクトリ。
  • プロジェクトファイルのディレクトリ。
  • その他多くの値を取得できます。

FilePrompt/Prompt マクロは、構成の実行 / デバッグ中にファイル選択ダイアログや文字列入力ダイアログを表示するときに使用できます。

パス変数は、プロジェクト内で広範に使用され、かつプロジェクトディレクトリの外に置かれているライブラリへのパスを定義できます。

入力リダイレクト

入力リダイレクト

入力をファイルからアプリケーションの stdin にリダイレクトできるようになりました。 構成の中にある Redirect input from という新しいフィールドを使ってください。 これらを入力してください:

  • 相対パス (CLion は Working Directory へのパスを追加します)。
  • 絶対パス (リモート構成用に再度マッピングされます)。
  • もしくはマクロ (FilePrompt など)。

Clang ツール

Clangd の DFA

Clangd の DFA

CLion の Data Flow Analysis (DFA) は、コード内のデータフローを分析したり、その結果を基に潜在的な問題を検出したりと、通常のコンパイラにはない機能を提供します。 常に「false」か「true」の条件式、無限ループ、return 文の欠落、無限再帰などを検出します。 また、2020.1 では、DFA は Clangd ベースの言語エンジンに移行され、パフォーマンスの正確性が増し、以前よりも軽くなっています。 未だ開発は進行中ですが、既に良い結果が得られています!

Clangd だけを基にしたコード補完

Clangd だけを基にしたコード補完

Clangd ベースの言語エンジンが完全なコード補完を提供する新しいモードがデフォルトでオンになっています。 このモードは、複数のエンジンによるコード補完の結果が混合されていたときに発生していた優先度と順序に関する問題を解決します。 この動作は Settings | Languages & Frameworks | C/C++ | ClangdCode Completionで設定できます。

様々な修正や各種機能強化により、この新しいモードは正確かつパワフルに出来上がっています。

詳細情報

ClangFormat

ClangFormat

プロジェクトルートに .clang-format 構成ファイルが存在するプロジェクトを初めて開くとき、CLion がそれを検出し、自動的に ClangFormat に切り替えます。

.clang-format 構成ファイルのないプロジェクトで ClangFormat を有効化すると、CLion が構成ファイルの作成を提案します。

Clang-Tidy

Clang-Tidy

.clang-tidy 構成ファイルがプロジェクトの中で検出されると、Clang-Tidy の IDE 設定の使用が CLion によって自動的にオフにされるようになりました。 この動作は、Settings | Editor | Inspections | C/C++ | General | Clang-TidyPrefer .clang-tidy files over IDE settings で管理できます。

フォーマッターとコードの折りたたみ

新しい命名設定

新しい命名設定

構造体のメンバフィールドとクラスのメンバフィールドに個別の命名設定が設けられるようになりました。 詳細は、Settings | Editor | Code Style | C/C++ | Naming Convention で確認してください。

コードの折りたたみ

コードの折りたたみ

#pragma region#pragma endregion を CLion でコードの折りたたみに使用できます。

リファクタリングの更新

リファクタリングの更新

Change Signature リファクタリング (Ctrl+F6) を呼び出すと、CLion が関数のすべての使用箇所を更新します。 Change Signature ダイアログの新しい Default value フィールドを使用すると、すべての使用箇所で使用するパラメータの値を指定できます。 以前のままデフォルト値の型を使用する場合は、空にしておきます。

Create Parameter From Usage クイックフィックスと Add Parameter to Constructor インテンションでも、同じロジック、および、新しい Default value フィールドの指定が適用されます。

エディター

クイックドキュメンテーション

クイックドキュメンテーション

ドキュメントをプレビューし、関数のシグネチャ、推論された型、マクロ置換に関する情報を取得するためのユニバーサルツールであるクイックドキュメンテ―ションはカーソルを合わせると表示されます。

Settings | Editor | Code EditingShow quick documentation on mouse move 設定で管理できます。

JetBrains Mono と IntelliJ Light

JetBrains Mono と IntelliJ Light

エディタのデフォルトのフォントは、JetBrains が作成したオープンソースの新しいフォント JetBrains Mono に変更されました。 コードを読みやすくするようにデザインされています。

新しいデフォルトのライトテーマ IntelliJ Light は、すべての異なるオペレーティングシステムのスタンダードなテーマになりました。 デフォルト以外のテーマは、View | Quick Switch Scheme | Theme で選択できます。

ターミナルセッションを分割する

ターミナルセッションの分割

CLion 2020.1 では、ターミナルセッションを上下または左右に分割し、並べた状態で実行できます。 分割ターミナルセッションを作成したり、ナビゲートしたり、閉じたりするには、ターミナルからコンテキストメニューを呼び出します。

バージョン管理

コミットツールウィンドウとコミットダイアログ

新しい Commit ツールウィンドウ

更新されたツールウィンドウは、変更されたファイルや diff の一覧を表示するスペースが広くなっています。 また、準備が済んでいるコミットに変更を加えたり、反復的にコミットメッセージを作成したり、どの段階的な変更をどのコミットに入れるのかを選択したりもできます。

新しい UI は、新ユーザーに対してデフォルトで有効になっています。既存のユーザーは Settings | Version Control | Commit から切り替えることができます。

Interactively Rebase from Here

改良された真にインタラクティブなダイアログでは以下の操作が可能です。

  • ブランチ内の各コミットに対して実行するアクションを選択してください。
  • 適用済みのアクションを示すグラフをチェックしてください。
  • コミットの詳細を確認してください。
  • diff を確認し、必要に応じて変更内容をレビューまたはリセットしてください。

IDE から Git をインストールする

Version Control ツールウィンドウは、Git ツールウィンドウに名前が変更されました。Git の代わりに Subversion/Mercurial/Perforce のいずれかを使用している場合は、その名前が使われます。

Git を手動でプレインストールする必要がなくなりました! プロジェクトを Git で開くときや VCS からインポートする際に、使っているマシンに Git がインストールされていない場合は、CLion がユーザーの代わりに Git をダウンロードし、インストールする提案が表示されます。

Rustプラグインのアップデート

Rustプラグインのアップデート

LLDB サポートの改良により、IntelliJ Rust に列挙型とプリミティブ型が適切に表示されるようになったほか、デマングルされた関数名がコールスタックに表示されます。

プラグインのもう 1 つの大きな更新に REPL の統合があります。 Tools | Rust REPL からコンソールを呼び出し、プロトタイプの作成やコードを 1 行ずつ確認する際に使用できます。 この統合は、シンタックスハイライトやコード補完のほか、コマンド履歴、ソフトラップ、最終行へのクイックスクロールといった便利なコンソールアクションを提供します。

言語サポートの面では、IntelliJ Rust が型エイリアスの impl ブロックを処理するようになりました。 パフォーマンスを考慮し、この機能はエイリアスの数が限られている型に対してのみ有効にしています。

強化された機能には他にも未使用のローカル変数のハイライトや cfg 属性サポートの修正、新しい Lift return 分析が含まれています。

その他の改善

  • すべてのリモート構成には SSH 構成の共通統合 UI の使用が便利になりました。 新しい SSH 構成の作成元 (リモートのツールチェーン設定やリモート GDB サーバー構成) に関わらず、エントリーは Settings | Tools | SSH Configurations で確認できます。
  • ソースコードにだけ集中したい場合は、Distraction-Free モードFull Screen モード を組み合わせた新しい Zen モードを選択します。 有効にするには、View | Appearance | Enter Zen Mode を使用してください。

CLion 2019.3の新機能

IDEのパフォーマンス向上

このCLionのリリースは品質向上を目標としており、全体的に多数のパフォーマンス改善が行われています。 この重要な機能強化は、コード補完、Renameリファクタリング、シンボルの作成/更新手順の最適化、UIのフリーズ解消に影響しています。

詳細情報

Clangdベースのコード補完

ClangdがCLionのコード補完プロバイダのリストに追加されました。これにより、多くのプロジェクトで最初の結果が表示されるまでの時間が短縮されます。 当社が収集した詳細なパフォーマンス メトリクスをご確認ください。

リファクタリング

Renameリファクタリングの高速化

CLionのRenameリファクタリングが非常に強力になり、コードの使用箇所だけではなく、文字列リテラルやコメント内での使用箇所も名前変更できるようになりました。 引き続きコードの使用箇所のみを名前変更したい場合でも、処理が大幅に高速化されています。実際に検索を行うに処理方法を求めるように設定できるためです。 (この設定を使用するには、Settings | Editor | General | Refactorings | Enable in-place mode.)をオフにしてください。)

CMakeにおけるNinjaとその他のジェネレータ

Ninja Gen

新しいCMake File APIをサポートすることで、CLion 2019.3ではさまざまなCMakeジェネレータを有効化できるようになりました(CMake 3.15以降が必要です)。 これまではMakefileのみがサポートされていましたが、このバージョンからはNinja、Xcode、Visual Studioなどを選択できるようになりました。

この機能はすべてのプラットフォーム、リモートモード、WSLで機能します。

詳細情報

CMakeのデフォルト設定

CMakeのデフォルト設定

CLionで新規プロジェクトを設定する手順を簡略化するため、すべての新規プロジェクトに使用されるデフォルトのCMakeプロファイルを1つまたは複数設定できるようになりました。 File | Other Settings | Settings for New Projects…

CMakeのサポートに関するその他の改善点は以下の通りです。

  • CMakeの設定に部分的に問題があっても、有効な設定のみを再読み込みできるようになりました。
  • CLion 2019.3ではCMake 3.15をバンドルするようにしました。
  • CLion 2019.3ではお使いのコンパイラが -fpch-preprocess フラグをサポートしていない場合でもプロジェクトが正常に読み込まれるようになりました。詳細については、このブログ記事をご確認ください。

デバッガ

リモートGDB

リモートGDBサーバー

ローカルで実行中のCLionからリモートマシン上の実行ファイルをデバッグしたい場合、Remote GDB Server設定を使用できるようになりました。 CLionはgdbserver配下に実行ファイルをアップロードして起動するため、手動でこれらの操作を行う必要はありません。

詳細情報

lldb_printers

LLDB 9とプリティプリンタの改善

CLion 2019.3では、macOSとLinuxにバンドルされるLLDBがバージョン9.0にアップデートされました。このほか、バンドル対象のLLDBプリティプリンタで大規模なクリーンアップが実施され、関連する一連の問題が修正されました。

macOSおよびLinux上でのlibc++とlibstdcxxの対応状況をご確認ください。

lldbinit

プロジェクトルートからの .gdbinit/.lldbinit の読み込み

CLionがプロジェクトのルートディレクトリから設定ファイルを読み込めるようになったため、特定プロジェクトでのGDB/LLDBデバッガの動作をカスタマイズできるようになりました。

この動作を有効化するには、ホームディレクトリ内のファイルで明確に許可する必要があります。 LLDBGDBでこの設定を行う方法をご確認ください。

C++20 Concept対応

Clangdベースのコード補完

C++20で実装される最大の機能の一つConceptです。 ClangのConcept対応を行った作者と協力し、CLion 2019.3にConceptを導入しました。この対応によってコード解析やハイライト表示機能(Clangdベースの言語エンジンによって実行されます)だけでなく、次の機能も実装されました。

  • Unused Concept(未使用Concept)インスペクション。
  • std::is_base_of<MyBase, T>およびstd::is_same<Other, T>による制約を受ける型の補完を含むコード補完。
  • Rename(名前の変更)リファクタリング。
  • Go to Definition(定義に移動)およびFind Usages(使用箇所の検索)。

詳細情報

コード解析

仮想呼び出し

コンストラクタ / デストラクタから呼び出される仮想関数

仮想関数が初期化されていない、または抹消済みのリソースにアクセスする状況を回避するため、CLionにコンストラクタやデストラクタから呼び出される仮想関数を検出する新しいインスペクションが実装されました。

Doxygenでのスペル

スペルチェッカー

スペルチェッカーはコードの正確さと読みやすさを維持するのに役立ちます。 CLionは長い間C/C++に対応したスペルチェッカーを提供してきました。 バージョン2019.3では、CMakeやDoxygenのコメントでスペルチェッカーをご利用いただけるようになりました。

コードカバレッジ

カバレッジ

構成を実行中にあるステートメントが実行されたかどうかを確かめたいと思ったご経験があるのなら、コードを評価するステートメントカバレッジが必要だということになります。 CLion 2019.3にはllvm-cov/gcovツールが組み込まれているため、ステートメントカバレッジを計測できます。

これは、ユニットテストを実行するか、通常の構成を実行することで取得できます。 結果はCoverageツールウィンドウか、エディタの左ガターのカラー表示で確認することができます。

詳細情報

エディタ

Go to Header/Source(ヘッダ/ソースに移動)アクション

Go to Header/Source(ヘッダ/ソースに移動)アクション

ヘッダーファイルとソースファイルを切り替えるための新しいアクションが追加されました。 C/C++では多くの場合、Go to Related Symbol(関連シンボルに移動)よりも正確かつ高速に動作します。

500ミリ秒以内に複数の移動先候補が識別されると、CLionは新しいアイテムが追加された、移動先を選択できる対話型のポップアップを表示します。

必要に応じてGo to Related Symbolからこの新しいアクションにショートカットをマッピングし直すための仕組みも用意されています。

詳細情報

Microsoft

Microsoftのフォーマットと命名規則

CLionではフォーマットオプションと命名規則ルールの一式を設定できます。 または、これらの設定を定義済みのスタイルのいずれかから継承することもできます。 CLion 2019.3では、Microsoftの定義済みフォーマットと命名スタイルをリストに追加しています。

WSL2

WSL2

Windows Subsystem for Linuxは、Window上でLinuxをターゲットプラットフォームとする開発を行うための便利な方法を提供します。 CLionはWSL環境をネイティブにサポートしており、今回は新たにWSLバージョン2をサポートしました。 CLionでの設定手順はWSLバージョン1でもWSLバージョン2でも全く同じです!

詳細情報

Rustプラグインのアップデート

Rust

IntelliJ Rustに対する最大のアップデートの一環として、cfg属性の初期サポートを追加しました。 条件付きで無効化されたブロックはグレー表示され、解決やコード解析の対象から除外されるようになりました。 サポート対象のcfgのオプションは、unixwindowstarget_osです。

広く使用されているクイックフィックスである未解決シンボルの自動インポートが、Implement membersSpecify type explicitlyAdd remaining patterns、およびその他のコード生成アクションを呼び出したときに自動的に実行されるようになりました。

その他の変更には、すでにいくつかのリリースでプラグインに実装されていたRustコードのコードカバレッジ、対話形式による便利な型ヒントの埋め込み、include!マクロのサポートがあります。

その他の変更

  • VCSのサポート:Cloneダイアログ(VCS | Get from Version control)を改修しました。 このダイアログからログインすると、またはログイン済みの場合、アカウントや組織別にグループ化されたすべてのリポジトリのリストをすぐにプレビューできます。
  • スクロールバーの視認性を向上させるための新しいオプション(Settings | Appearance & Behavior | Appearance | Use contrast scrollbars)が追加されました。
  • 更新後のJetBrains Runtimeでは、UIに関する多数の問題が解決しています。

CLion 2019.2の新機能

組み込み開発

GDBサーバーを使用したデバッグ

GDBサーバーを使用したオンチップデバッグ

選択したマイクロコントローラー上でGDBサーバーを使用してデバッグを実行できる場合、CLionから特殊なEmbedded GDB ServerのRun/Debug構成を使用してデバッグを実行できるようになりました。 この機能はOpenOCD、ST-Link GDB Server、Segger J-Link GDB Server、QEMU、およびその他多くの特殊なGDBサーバーに対応しています。

構成を作成し、GDBサーバーへのパス、サーバーを実行するための引数、その他適切な設定を提供すれば準備が完了し、CLionからオンチップデバッグを実行できるようになります!

ペリフェラル

ARMデバイス用のペリフェラルビュー

オンチップデバッグを実行する際は、ペリフェラルを表示できる機能が不可欠です。 CLionでは、2種類の実行/デバッグ構成(Embedded GDB ServerおよびOpenOCD Download & Run)でこのビューを使用できるようになりました。 両方の場合で、Peripheralsタブがデバッグ開始時にデバッグツールウィンドウに表示されます。 お使いのボードに適した .svd ファイルを読み込み、表示したい有効なペリフェラルを選択してください。

詳細情報

デバッガ

行ブレークポイント

保留中、解決済み、無効のブレークポイント

CLion 2019.2ではこれら3種類の行ブレークポイントを区別できるようになりました。

  • 保留中:行ブレークポイントはデバッグセッションの範囲外にあります。つまり、セッションがまだ開始されていないか、対応する共有ライブラリがまだ読み込まれていないことを意味します。
  • 解決済み:行ブレークポイントは、提供されたデバッグシンボルを使用してGDBまたはLLDBにより正常に解決されており、実行中にヒットさせることができます。
  • 無効:行ブレークポイントはGDBまたはLLDBにより解決できておらず、絶対にヒットしません。

これらの種類はすぐに自動的に検出され、ブレークポイントのアイコンがそれに応じて更新されます。

デバッガコマンドの補完

GDB/LLDBコマンドの補完

GDB/LLDBのコマンドラインインターフェースをお好みで、デバッグツールウィンドウのデバッガコンソールを使用する場合は、GDB/LLDBコマンドの補完機能を利用することができます。 この機能を呼び出すには、TabまたはCtrl+Spaceを使用してください。

この補完機能はGDBまたはLLDBがそれぞれ提供するものであり、CLionは単にその補完候補へのアクセスを提供しているだけです。

MSVCデバッガ

MSVCツールチェーン用の実験的なデバッガ

CLionでMicrosoft Visual C++ツールチェーンをお使いの場合は、新しい実験的なデバッガをお試しいただけます。

これはJetBrainsチームがLLDBに加えて実装したものであり、CLionにバンドルされています。 ネイティブなビジュアライザーにバンドルされたサポートを有効にするには、Settings | Build, Execution, Deployment | Debugger Data Views | Enable NatVis renderers for LLDB を使用してください。

実験的なデバッガは明示的にオンにすると使用できます。Maintenanceダイアログ(Shift+Ctrl+Alt+/)| Experimental features を呼び出し、cidr.debugger.lldb.windows を選択してコントロールしてください。

詳細情報

メモリービュー

アプリケーションをデバッグする際は、ポインタの背後にあるメモリを簡単にレビューできます。デバッグツールウィンドウのVariablesビューのポインタ上でCtrl+Enterを押し、Memory Viewを呼び出してください。 2019.2ではMemory Viewを更新し、さらに利便性を高めています。

アドレスに移動

アドレスに移動

Memory Viewからメモリ内の特定のアドレスに移動できます。 アドレスを表す16進数値、ポインタ変数を使用するか、関心のある任意の変数のアドレス(&)を呼び出してください。

コード補完は既知のシンボルの入力を支援します。

ASCIIビュー

ASCIIビュー

ASCIIメモリフォーマットに関心がある場合、Memory Viewの右側の列にあるASCIIビューが役に立ちます。

パラメーターヒント

パラメータ名のヒント

v2019.2のパラメータ名ヒントにより、関数呼び出しを調べている間に関数シグネチャに切り替わるのを回避できるようになりました。 これはコードの可読性を向上させるのにも役立ちます。

関数呼び出し、ラムダ、コンストラクタ、初期化リスト、マクロ式に対し、CLionは渡された引数のパラメータ名を表示します。 これは、引数がリテラルまたは1つ以上のオペランドを持つ式の場合に機能します。

詳細情報

コード解析

Unused Include

Unused Includes

Clangdベースのエンジンに加えて、「Unused Includes」チェックが復活し、完全に再実装されました。 この機能は控えめな方法と積極的な方法、そして「使用するものを含める」という原則に最も近いデフォルトの方法(Detect not directly used)の3種類の検出方法を提案します。

詳細情報

Clang-Tidy

Clang-Tidyの更新

バンドルされているClang-Tidyのバイナリが最新バージョンに更新され、CLionに新しいチェック一式が導入されました。 この中にはいくつかの新しい abseil-* チェック、数点の clang-analyzer-* グループからのチェック、いくつかの新しい modernize-* チェックなどが含まれています。

.clang-formatファイルのコーディング支援

v2019.1以降、CLionでは代替フォーマッタツールとしてClangFormatをサポートしています。 今後、プロジェクト内で.clang-format設定ファイルをカスタマイズする場合、それらの設定ファイルを更新する際にコーディング支援機能を利用できるようになりました。

詳細情報

クイックドキュメント

クイックドキュメンテーション

特定のオプションに関する詳細は、クイックドキュメントのポップアップ(Ctrl+Q)を呼び出し、サンプル付きの元のドキュメントをお読みください。

ClangFormat設定インスペクション

スキーマ検証インスペクション

CLionは組み込みのJSONスキーマに対し、.clang-format設定ファイルの内容を検証します。 オプションの値が許可された値のセットに一致しない場合、警告が表示されます。

ClangFormatの補完

コード補完

.clang-format設定ファイルをカスタマイズする際は、オプションとその値の両方で機能するコード補完機能を利用することができます。

ClangFormatドキュメント

補完時のオプションの説明

オプション名のコード補完ポップアップにはオプションの簡単な説明も表示されるため、オプション名を入力しながら説明を素早く確認することができます。

命名規則

命名設定

新しい設定

柔軟性を高め、より多くの機会を提供できるよう、命名規則設定(Settings | Editor | Code Style | C/C++ | Naming Convention)が改訂されました。 Visibility (Public、Private、またはProtected)およびSpecifier(ConstまたはStatic)のような新しい設定が追加されました。 また、数種類のエンティティを同時に処理できるよう、ルールを更新しました。

新しいUIでは、マウスを使用せずに作業することができます。

先頭大文字のスネークケース

先頭大文字のスネークケース

CLionユーザー様からのご要望を受け、snake_case名の先頭文字のみを大文字化し、残りの部分を小文字のままにするLeading_snake_caseのほか、それに若干似ているUpper_Snake_Caseスタイルなどをご利用いただけるようにしました。

シェルスクリプトプラグイン

シェルスクリプトプラグイン

新たにShell Scriptプラグインがバンドルされたため、C++プロジェクトで作業する際にシェルスクリプトを編集する必要がある場合、CLionを使用してこれを実現できるようになりました。

コードのハイライト表示、単語やパスの補完、テキストの名前変更を利用できます。

新しい言語のシンタックスハイライト

Rubyのシンタックスハイライト

CLionはCやC++だけではなく、Python、JavaScript、XMLその他に対して広範なサポートをバンドル提供しており、さらにはRust、Swift、Kotlin/Native用のプラグインも提供しています。

PHP、Ruby、あるいはC#などの他の言語で書かれたプロジェクトのコードをお持ちですか? CLionのシンタックスハイライトを20種類以上のプログラミング言語でご利用いただけるようになりました!

詳細情報

VCS:ローカルな変更からのコミット

ローカルな変更からのコミット

Local Changesタブから直接コミットできるようになりました。 Settings | Version Control | Commit ダイアログで “Commit from the Local Changes without showing a dialog” オプションを有効にするだけです

Commitのショートカット(Ctrl+K)を使用すれば、IDEがコミット対象の修正ファイルを選択し、Version ControlツールウィンドウのLocal ChangesタブでCommit messageフィールドにフォーカスを合わせます。

その他のVCSに関する変更内容をご確認ください。

パフォーマンスの改善

現在、CLionではインデックス生成、応答性、フリーズの解消を中心に膨大な改修作業が実施されています。 これらの作業の一部は既にv2019.2に含まれています。

  • 遅延やフリーズを解消するため、所定のRenameリファクタリングが改修されました。
  • エディタ内で修飾された式に対するコード補完のパフォーマンスが大幅に改善されました。
  • I/O操作の数を減らすことで、リモートケースでのコンパイラ情報の収集とCMakeステップの読み込みが高速化されました。
  • CLionはWindows Defenderがビルドのパフォーマンスに影響している場合に警告を表示し、ディレクトリをリアルタイムスキャンの対象から自動的に除外できるようになりました。

Rustプラグインのアップデート

Rustプラグイン

Rustプラグインに対する別の大規模アップデートにより、新たに実験的なマクロ拡張エンジンが導入されました。 このエンジンは Settings | Languages & Frameworks | Rust | Expand declarative macros で有効にできます

このエンジンはハイライト表示、名前解決、implブロックから生成されたモジュールやメソッドの補完といったコードインサイト機能を提供します。 その他にも、マクロ呼び出しでナビゲーションを使えるようにします。

その他の変更には、Rust用のDuplicate code fragmentsインスペクションやその他の新しいクイックフィックスとインスペクションが含まれます。