CLion 2024.2 ヘルプ

代替フォーマッターとしての 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(英語) がすでにインストール(英語)されていることを確認してください)。

clang-format -style=llvm -dump-config > .clang-format

CLion の ClangFormat

CLion は自動的に ClangFormat を有効にし、プロジェクトルートに .clang-format ファイルがある場合に設定を適用します。次のオプションのいずれかを使用して、ClangFormat を有効 / 無効にすることもできます。

  • .h.c.cpp ファイルで、ステータスバーのコードフォーマットスイッチャーから ClangFormat を有効にするをクリックします。

    Enable ClangFormat from the code style switcher
  • あるいは、設定 | エディター | コードスタイルClangFormat を有効にするチェックボックスを選択します。

    Enable ClangFormat in the code style settings dialog

プロジェクトルートに .clang-format ファイルがない場合、CLion は現在の IDE コードスタイル設定に基づいてファイルを作成することを提案します。拒否すると、ClangFormat はデフォルトの LLVM スタイルで有効になります。

Create .clang-format from the current code style

ClangFormat を有効にして新しいプロジェクトを作成すると、CLion は現在のコードスタイルに基づいて、そのプロジェクト用の .clang-format ファイルを自動的に生成します。

ClangFormat を有効にすると、次の場合に適切なフォーマットが適用されます。

  • エディターに入力します(これには、Enter または Backspace の後のインデント、自動補完、コード生成、リファクタリング、クイックフィックスが含まれます)。

  • コード | コードの整形 Ctrl+Alt+L を呼び出す - このアクションでは、ファイル全体ではなく、選択したコードを再フォーマットすることもできます。

  • 変更をコミットし、コミットする前にアクションとしてコードの整形を選択します。

    reformat code before commit

clang 形式のバイナリを変更する (CLion ノヴァ)

  1. 設定 | エディター | コードスタイル | C++ に移動し、一般タブを開きます。

  2. Clang 形式セクションで、内蔵の clang フォーマットの代わりに外部の clang フォーマットを使用するを設定し、パスを指定します。

    Setting a custom clang-format binary

ファイルの ClangFormat 設定を確認する

  • エディターでファイルを開き、ツールバースイッチャーから ClangFormat のオプションを表示 ... をクリックします。

    view ClangFormat settings for a file

    CLion は対応する .clang-format ファイルから取得した設定のリストを表示します。

    ClangFormat settings file

    このリストは現在読み取り専用です。設定を編集するには、.clang-format ファイルで設定を変更します。

.clang 形式のファイルを編集する

  1. エディターで目的のソースファイルを開き、ツールバースイッチャーから「.clang-format」を編集して ... をクリックします。

    switch to clang-format file
  2. .clang-format 構成の編集を支援するために、CLion は、ClangFormat 専用に構築された JSON スキーマに対してファイルの内容を検証することにより、コーディング支援を提供します。コーディング支援には次のものが含まれます。

    • オプションの説明がポップアップに表示された状態で、オプションと値を補完します。

      code completion in clang-format config files
    • 許容値セットとの整合性についてオプション値を確認します。

      validating option values
    • クイックドキュメントポップアップ Ctrl+Q は、オプションの詳細を調べるのに役立ちます。

      quick doc for clang-format config files

フォーマッタ設定を .clang-format ファイルにエクスポートする

組み込みのコードフォーマッタの設定を保存または共有する必要がある場合は、.clang-format ファイルにエクスポートできます。

  1. 設定 | エディター | コードスタイル | C/C++ に移動します。

  2. スキームフィールドの横にある をクリックし、エクスポート | .clang-format ファイルを選択します。

    Export formatter settings into .clang-format
  3. 開いたダイアログで、ファイル名と場所を指定します。デフォルトでは、CLion は .clang-format と現在のプロジェクトルートを提案します。

関連ページ:

CLion ノヴァ

CLion Nova は CLion の改善版で、CLion レガシーエンジンの代わりに ReSharper C++ /Rider C++ 言語エンジンを使用します。このバージョンは、IDE の応答性、精度、パフォーマンスに重点を置いています。CLion ノヴァに切り替えるに移動します。ReSharper C++ 言語エンジンを使用する (CLion ノヴァ) チェックボックスを設定します。適用をクリックして設定を保存し、IDE を再起動します。パフォーマンス上の利点:パフォーマンスの面で、CL...

クイックドキュメント

クイックドキュメントポップアップは、キャレットのコード要素に関する詳細情報を取得できます。CLion は、マウスオーバー時にポップアップでクイックドキュメントを自動的に表示します。呼び出す要素に応じて、ポップアップには次のものが含まれます。関数のシグネチャーの詳細とコードのドキュメント (通常のコメントまたは Doxygen コメント):、推論される型:、構造体とクラスの詳細をコピー / 移動します。以下の例では、ポップアップに含まれる TODO コメントを参照することもできます。標準の関数、構造体、別...

コードのフォーマット

CLion を使用すると、現在のコードスタイルスキームで指定した要件に従ってコードを再フォーマットできます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。また、コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメントを選択します。再フォーマットする前に、選択したコードに適用されているコードスタイル設定を確認できます。を押してコードスタ...

改行コード

CLion を使用すると、新しく作成されたファイルの改行コード文字 (行末) を設定したり、既存のファイルの改行コード文字のスタイルを変更したりできます。新しいファイルの改行コード記号を構成するを押して設定を開き、を選択します。変更するコードスタイルスキームを選択します: プロジェクトスキームまたは IDE レベルのスキームの 1 つ。改行コードリストから、適用する改行コードスタイルを選択します。変更を適用し、ダイアログを閉じます。現在のファイルの改行コード記号を変更するエディターでファイルを開くと...