コンテンツにスキップ

LLVM/clang-format

出典: フリー教科書『ウィキブックス(Wikibooks)』

はじめに

[編集]

clang-formatは、LLVMプロジェクトの一部として提供されるコードフォーマッタであり、CC++JavaScriptObjective-Cなどのソースコードの整形を行います。本ハンドブックでは、clang-format(1)の基本的な使い方から応用例までを解説します。

Clang-Formatの概要

[編集]

Clang-Formatとは

[編集]
  • clang-formatは、コードフォーマットを統一し、可読性を向上させるためのツール。
  • LLVMスタイルやGoogleスタイルなど、複数のプリセットフォーマットをサポート。
  • .clang-format設定ファイルを利用することで、柔軟なフォーマットルールを適用可能。
  • エディタとの統合やCI/CDでの自動フォーマットチェックが可能。

Clang-Formatのインストール

[編集]

FreeBSDでのインストール

[編集]

ベースシステムに含まれているので、インストールは不要です。

macOSでのインストール

[編集]
$ brew install llvm

Linuxでのインストール (例: Debian系)

[編集]
$ sudo apt install clang-format

基本的な使い方

[編集]

コードのフォーマット

[編集]
$ clang-format -i source.cpp

標準入力からのフォーマット

[編集]
$ clang-format < source.cpp

設定ファイルの生成

[編集]
$ clang-format -style=llvm -dump-config > .clang-format

主要オプション

[編集]
主要オプション
オプション 説明
-i ファイルを直接フォーマット
-style=STYLE 使用するフォーマットスタイルを指定 (llvm, google, mozilla など)
-fallback-style=STYLE .clang-formatがない場合のフォールバックスタイル
-assume-filename=FILE 標準入力からのフォーマット時に拡張子を指定
-verbose 詳細な出力を表示

応用例

[編集]

プロジェクト全体への適用

[編集]
$ find . -name "*.cpp" -o -name "*.h" | xargs clang-format -i

まとめ

[編集]

本ハンドブックでは、clang-formatの基本的な使い方、主要オプション、応用例について解説しました。コードの一貫性を保つために活用できます。

参考資料

[編集]