代替フォーマッターとしての ClangFormat
ClangFormat(英語) は、チームメンバーと IDE 間で共通のコードスタイルを維持するのに役立つ一般的なコードフォーマットツールです。それは .clang-format または _clang-format という名前の特別な YAML ファイルにフォーマット設定を保存するオプションを提供します。CLion では、組み込みコードフォーマッタの代わりに ClangFormat を使用できます。
.clang 形式の設定ファイル
フォーマット規則を持つ .clang-format ファイルは、プロジェクトツリーに配置する必要があります。それらはそれぞれ、同じレベルおよびサブディレクトリ内のコードファイルに適用されます。1 つのプロジェクトに対して複数の .clang-format ファイルを用意することで、必要に応じて、コードフォルダーごとに異なるスタイルを使用できます。
ClangFormat には多くのスタイルオプションがあり(英語)、組み合わせてチームに最適なルールのセットを作成できます。また、C/C++ には、LLVM(英語)、Google(英語)、WebKit(英語)、Chromium(英語)、Mozilla のいくつかの組み込みスタイルも用意されています。これらの事前定義されたスタイルは、そのまま使用することも、カスタムのスタイル定義セットのベースラインとして使用することもできます。
たとえば、LLVM コードスタイルで .clang-format ファイルを生成するには、次のコマンドを実行します(ClangTools(英語) がすでにインストール(英語)されていることを確認してください)。
CLion の ClangFormat
CLion は自動的に ClangFormat を有効にし、プロジェクトルートに .clang-format ファイルがある場合に設定を適用します。次のオプションのいずれかを使用して、ClangFormat を有効 / 無効にすることもできます。
.h、.c、.cpp ファイルで、ステータスバーのコードフォーマットスイッチャーから ClangFormat を有効にするをクリックします。
あるいは、ClangFormat を有効にするチェックボックスを選択します。
の
プロジェクトルートに .clang-format ファイルがない場合、CLion は現在の IDE コードスタイル設定に基づいてファイルを作成することを提案します。拒否すると、ClangFormat はデフォルトの LLVM スタイルで有効になります。
![現在のコードスタイルから .clang 形式を作成する Create .clang-format from the current code style](https://resources.jetbrains.com/help/img/idea/2024.2/cl_clangformat_createconfig.png)
ClangFormat を有効にして新しいプロジェクトを作成すると、CLion は現在のコードスタイルに基づいて、そのプロジェクト用の .clang-format ファイルを自動的に生成します。
ClangFormat を有効にすると、次の場合に適切なフォーマットが適用されます。
エディターに入力します(これには、Enter または Backspace の後のインデント、自動補完、コード生成、リファクタリング、クイックフィックスが含まれます)。
コード | コードの整形 Ctrl+Alt+L を呼び出す - このアクションでは、ファイル全体ではなく、選択したコードを再フォーマットすることもできます。
変更をコミットし、コミットする前にアクションとしてコードの整形を選択します。
clang 形式のバイナリを変更する (CLion ノヴァ)
一般タブを開きます。
に移動し、Clang 形式セクションで、内蔵の clang フォーマットの代わりに外部の clang フォーマットを使用するを設定し、パスを指定します。
ファイルの ClangFormat 設定を確認する
エディターでファイルを開き、ツールバースイッチャーから ClangFormat のオプションを表示 ... をクリックします。
CLion は対応する .clang-format ファイルから取得した設定のリストを表示します。
このリストは現在読み取り専用です。設定を編集するには、.clang-format ファイルで設定を変更します。
.clang 形式のファイルを編集する
エディターで目的のソースファイルを開き、ツールバースイッチャーから「.clang-format」を編集して ... をクリックします。
.clang-format 構成の編集を支援するために、CLion は、ClangFormat 専用に構築された JSON スキーマに対してファイルの内容を検証することにより、コーディング支援を提供します。コーディング支援には次のものが含まれます。
オプションの説明がポップアップに表示された状態で、オプションと値を補完します。
許容値セットとの整合性についてオプション値を確認します。
クイックドキュメントポップアップ Ctrl+Q は、オプションの詳細を調べるのに役立ちます。
フォーマッタ設定を .clang-format ファイルにエクスポートする
組み込みのコードフォーマッタの設定を保存または共有する必要がある場合は、.clang-format ファイルにエクスポートできます。
に移動します。
スキームフィールドの横にある
をクリックし、エクスポート | .clang-format ファイルを選択します。
開いたダイアログで、ファイル名と場所を指定します。デフォルトでは、CLion は .clang-format と現在のプロジェクトルートを提案します。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.2/cl_nova_hints_settings.png)
CLion ノヴァ
CLion Nova は CLion の改善版で、CLion レガシーエンジンの代わりに ReSharper C++ /Rider C++ 言語エンジンを使用します。このバージョンは、IDE の応答性、精度、パフォーマンスに重点を置いています。CLion ノヴァに切り替えるに移動します。ReSharper C++ 言語エンジンを使用する (CLion ノヴァ) チェックボックスを設定します。適用をクリックして設定を保存し、IDE を再起動します。パフォーマンス上の利点:パフォーマンスの面で、CL...
![](https://resources.jetbrains.com/help/img/idea/2024.2/cl_quickdoc_func_doxygen.png)
クイックドキュメント
クイックドキュメントポップアップは、キャレットのコード要素に関する詳細情報を取得できます。CLion は、マウスオーバー時にポップアップでクイックドキュメントを自動的に表示します。呼び出す要素に応じて、ポップアップには次のものが含まれます。関数のシグネチャーの詳細とコードのドキュメント (通常のコメントまたは Doxygen コメント):、推論される型:、構造体とクラスの詳細をコピー / 移動します。以下の例では、ポップアップに含まれる TODO コメントを参照することもできます。標準の関数、構造体、別...
![](https://resources.jetbrains.com/help/img/idea/2024.2/reformat-glob-pattern.png)
コードのフォーマット
CLion を使用すると、現在のコードスタイルスキームで指定した要件に従ってコードを再フォーマットできます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。また、コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメントを選択します。再フォーマットする前に、選択したコードに適用されているコードスタイル設定を確認できます。を押してコードスタ...
![](https://resources.jetbrains.com/help/img/idea/2024.2/cl_lineseparators_settings.png)
改行コード
CLion を使用すると、新しく作成されたファイルの改行コード文字 (行末) を設定したり、既存のファイルの改行コード文字のスタイルを変更したりできます。新しいファイルの改行コード記号を構成するを押して設定を開き、を選択します。変更するコードスタイルスキームを選択します: プロジェクトスキームまたは IDE レベルのスキームの 1 つ。改行コードリストから、適用する改行コードスタイルを選択します。変更を適用し、ダイアログを閉じます。現在のファイルの改行コード記号を変更するエディターでファイルを開くと...