Some Days You Get the Bear

IT系エンジニアの、日々の気づきや考えたこと。

VSCode でファイル整形には、やっぱ clang-format だった件

以前から VSCode でお好みな自動整形をしたかったんだが、ようやく設定した。
やっぱいいぞ!

VSCode は WSL 上で使っているので、下記をインストールする。
そのまんまだけど。
 

  • WSL に clang-format をインストール
  • VSCode に Extension の Clang-Format をインストール(mjohns のが新しかった)
  • WSL に clang-format をインストール(入ってなかったので)
  • xxx.code-workspace ファイルに以下を追加
        "C_Cpp.formatting": "Disabled",  ←必要に応じて
        "[c]": {
                "editor.defaultFormatter": "mjohns.clang-format"
                //"editor.defaultFormatter": "xaver.clang-format"
        },
        "clang-format.style": "file",

 
仕事ごとの個別の設定は、.code-workspace ファイルに書くのが
最近のワタシのやりかた。
 
気をつけないといけないのは、
.clang-format を編集した後は、VSCode を再起動しないと
設定が反映されないゾ?*1
 
clang-format は、いろいろこまかく設定できて、よさげです!
 
はじめは、以前から使い慣れてた astyle (Artistic Style) を入れてみたんだけど、
「部分選択して整形」がエラーになって動作しなかったので断念。
こういう失敗に時間をかけられるのも、休日ならではのこと。
つくることに追われてる、仕事時間中にはやってられない。
ごちょごちょいじる時間もだいじなのだけどネ。
 
部分選択の振る舞いは元祖 vim とは少し違ってて。
選択範囲に入っている一番外の "{" に対応する "}" まで、
が整形の範囲になる。
このへんはフォーマッタの仕様に依存してるのだろう。
外部コマンドをたたいているだけのように思う。

この振る舞いは理屈としてわからんではないが、
既存のコードを変更したくなくて、極力整形がかからないようにする、
なんてときには困るかも。
// clang-format off  ってコメントで抑止できるらしい。
 
コーディングスタイルなんかに気を取られず、
本来の処理内容、アルゴリズムに目を向けて頭を使うべし!
 
さて、と。
明日はちゃんと仕事しよーっと。
やるのはコードレビューだしw

*1:WSL で VSCode を開きながら、Win で .code-workspace をいじってたせい?