web-dev-qa-db-ja.com

CLionでのclang-formatの使用

CLionのclang-formatを使用してコードをフォーマットします。設定を調べましたが、外部コマンドを実行してコードを変換できる設定は見つかりませんでした。そのようなことは通常、CLionでどのように行われますか?

43

CLionではExternal Toolsを使用できます。

File->Settings->Tools->External Toolsに移動し、プラス記号をクリックします。

ウィンドウがポップアップするはずです。任意の名前を使用してください。

Tool settingsタブでは、この構成を使用しています:

  • プログラム:clang-format-3.7(ここで実行可能ファイルの名前を使用する必要があります)

  • パラメーター:-i $FileName$

  • 作業ディレクトリ:$FileDir$

これで、ファイルを開いた状態で、Tools->External toolsに移動して上記の設定を実行できます。基本的にclang-formatを呼び出し、インプレースフォーマットを行います。

カスタムキーマップを設定することもできます。[設定]メニューで外部ツールの名前を検索するだけです。

60
Allan Hasegawa

CLion 2019.1の最新バージョンでは、ClangFormatがネイティブにサポートされています。

以前のバージョンの場合は、File->Preferences->PluginsおよびClangFormatIJを検索します。このプラグインをインストールします。

コンテキストメニューをインストールして、ローカルにインストールされたclang-formatファイルまたは選択範囲。また、「clang-formatで現在のステートメントを再フォーマット」アクションのキーショートカットも設定します。

CLion 218.では、このオプションは非常にうまく機能しますが、初期バージョンにも含まれている可能性があります。

10
frido

前の回答はうまく機能しますが、使用中のVimエミュレーションプラグインでは機能しない回避策を使用せずに、保存時にclang-formatを実行することはできません。

これは、保存時にclang-formatを実行し、私が遭遇したあらゆる状況でうまく機能するソリューションです。

  • まず、File Watchersプラグインをインストールする必要があります。
  • そこからFile->Settings->Tools->File Watchersに移動して、カスタムテンプレートを作成する必要があります Creating a new file watcher in the clion settings panel
  • 現在開いているファイルの1つが保存されたときに、次の設定を使用してclang-formatを実行します。これらの設定をニーズに合わせて微調整できます My clang-format file watcher settings

    • たとえば、ファイルを変更するたびに(保存する必要なしに)clang-formatを自動的に実行する場合は、Advanced Options->Auto-save edited files to trigger the watcherを有効にできます。

File Watchersプラグインのドキュメント: https://www.jetbrains.com/help/clion/using-file-watchers.html

6
Chris Frank
5
uta