概要
社内で、とあるプロジェクトのソースをマージしようとした時の話です。
やけに差分が多いなと思っていると、どうやらロジック自体に変更はなく、コードに整形がかかってたり、いなかったりしている様子。
そういえばマージリクエストを出してくれてるのは今週から入ったメンバーだな、と思い問い合わせてみると・・・
なにが起きたか
開発者によってVSCode
の拡張機能や設定が異なり、特にPrettier
等のコードフォーマッター周りの設定が異なると、各自が修正したかった箇所以外にも整形がかかる(もしくはかからない)状態となっていました。
結果的にマージ時に、意図しない差分が発生してなかなかに手間になっていました。
実例として、自分が遭遇したのは下記の例です。
format on save
が有効/無効になっている
format on save
はCtrl + S
で保存した際にコードフォーマットをする/しないの設定です。
これが開発チーム内で統一されていれば良かったのですが、今回はされていませんでした。
format on save
の確認方法はVSCode
の【設定】から検索するか、Settings.json
に下記の記載があるかで参照できます。
{
"editor.formatOnSave": true
}
まとめ
すぐに原因が分かったため、チーム内であらためてformat on save
をはじめとするVSCode
の設定について共有しました。
余談ですが、複数プロジェクトにまたがってアサインしている場合は、プロジェクト毎に開発規約が異なり、整形ルールも変わってくると思うのでformat on save
等はワークスペースの設定に持っていくことをお勧めします。
そのあたりは下記記事が詳しいです。
備考
個人ブログの方にも同様の記事を掲載してあります。