以前から 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