2022年3月20日日曜日

VSCodeのC言語(C++)のオートフォーマットを部分的に無効化する


VSCodeでC言語やcppを書くと、linuxならCtrl + Shift + i を入力するとオートフォーマットが実行され、自動でインデントや行の長さを整理してくれます。
しかしながら、情報表示の関係で整理して欲しくない場合があります。

例えば下記のような記述をしていると
Gauge_asukiaaa::Point arrPoint[] = {
{1.2, 0},
{40, 10},
{60, 20},
{70.7, 30},
{84.1, 40},
{91, 50},
{104.5, 60},
{111.2, 70},
{118, 80},
{131.5, 90},
{141.5, 100},
{161.3, 110},
};

オートフォーマットを適用するとこのようにされます。
順番に並んでいるか確認しにくい…
Gauge_asukiaaa::Point arrPoint[] = {
{1.2, 0}, {40, 10}, {60, 20}, {70.7, 30},
{84.1, 40}, {91, 50}, {104.5, 60}, {111.2, 70},
{118, 80}, {131.5, 90}, {141.5, 100}, {161.3, 110},
};

調べてみたところ、VSCodeで利用されているc言語のオートフォーマットは下記のコメントで適用するか否か切り替えられると分かりました。
Disabling Formatting on a Piece of Code
// clang-format off
// clang-format on

ということで、下記の表記をすればオートフォーマットが適用されることなく表示が維持されます。
Gauge_asukiaaa::Point arrPoint[] = {
// clang-format off
{1.2, 0},
{40, 10},
{60, 20},
{70.7, 30},
{84.1, 40},
{91, 50},
{104.5, 60},
{111.2, 70},
{118, 80},
{131.5, 90},
{141.5, 100},
{161.3, 110},
// clang-format on
};

値の大小が見やすいようにインデントを調整した表記が維持できて嬉しいです。

参考
Disabling Formatting on a Piece of Code

0 件のコメント :