エディターをVscodeに変えて2週間ぐらい。最低限の環境は整えましたが、フォーマッタの設定を後回しにしていました。そのためAtCoderの過去問を解きながら、「その整形はしなくていい!!」と騒ぐぐらいストレスフルな環境なので、やっと重い腰を上げてフォーマッタを設定しました。
目次
1.Windowsの場合
1.環境
我が家の環境です。
- windows10 Pro biuld:18363.836
- VScode 1.45.1
- C/C++ 0.28.1
- C++ Intellisense 0.2.2
2.Vscodeにclang-formatをインストール
拡張機能からclang-formatをインストール。
3.LLVMをインストール
LLVM Download Pageからwindows(64-bit)(.sig)をダウンロードし、インストール。インストーラーがPathを通すかどうか尋ねてくるので、今のユーザか全てのユーザにPathを通しておきます。
4.clang-formatのPathが通ってるかチェック
コマンドプロンプトやPowershellを開いて、
clang-format.exe --version
と打ち、バージョンが表示されたらPathは通っています。
5.setting.jsonを更新
setting.jsonに次の行を追加します。(LLVMインストール先をデフォルトから変えてなければこのまま)
"clang-format.executable": "C:/Program Files/LLVM/bin/clang-format.exe",
最後のカンマは必要です。また、clang-format.exeの場所を検索してルートをコピーしてきた場合、¥でディレクトリが区切られるので、全部スラッシュ"/"に変えないといけません。
あとは.clang-formatを書けばいい感じに動きます。.clang-formatについては後述します。
2.Macの場合
1.環境
- macOS Catalina ver.10.15.4
- VScode 1.45.1
- C/C++ 0.28.1
- C++ Intellisense 0.2.2
2.VScodeにclang-formatをインストール
拡張機能からclang-formatを検索、インストール。
3.clang-formatをインストール
brew install clang-format
4.clang-formatのPathをチェック
clang-format --version
バージョンが表示されればpathは通ってます。
5.setting.jsonを更新
setting.jsonに次の行を追加します。
"clang-format.executable": "/usr/local/bin/clang-format",
clang-formatの位置は、
which clang-format
で調べられます。
これでmacの場合のVScodeのclang-formatの設定は終わりです。.clang-formatについては後述。
3. .clang-formatの設定
VScodeのプロジェクトのルートに移動して、コマンドプロンプトやターミナルに次のコマンドを打ちます。(windows/Mac共通)
clang-format -dump-config -style=Google > .clang-format
これで設定項目を全て吐き出してくれるので、clang-formatを開くとおびただしい設定項目が出てきます。後は好みに合わせて設定を書き換えていきます。
これでファイルを保存する度にフォーマッタが自動で整形してくれるはずです。
以下は、私の環境でのトラブルシューティングです。
4.タイプする度に整形される
正確にはセミコロンを打つと勝手に整形される場合の対処法です。コードを書いているときに行があっちこっち行くのはイライラします。なので、ファイルを保存したときだけ整形するようにします。
コマンドパレットを開き、"Setting(JSON)を開く"でsetting.jsonを開く。その後、
"editor.formatOnType": false,
を追加します。
5. .clang-formatが見当たらない
macで作業しているときの私のミスです。.clang-formatは隠しファイルとして扱われるらしいので、
ls -a
と打たないと表示されません。