この小さな C++ の例を Eclipse 3.4.1 (CDT 5.0.1) で書きます。
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
int foo()
{
std::vector<int> numbers;
BOOST_FOREACH(int n, numbers)
{
std::cout << n << std::endl;
}
std::cout << numbers.size << std::endl;
}
次に Shift+Ctrl+F を押してコードをフォーマットすると、次のようになります。
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
int foo()
{
std::vector<int> numbers;
BOOST_FOREACH(int n, numbers)
{ std::cout << n << std::endl;
}
std::cout << numbers.size << std::endl;
}
これは BSD/Allman Code Style を使用しています。他のスタイルは、フォーマットされたコードの外観を明らかに変えますが、正しいインデントを与えるものはありません。
より大きなコードでフォーマット機能を使用すると、インデントが少なすぎると後続の関数やメソッドも影響を受け、フォーマットの助けがかなり役に立たなくなります。
BOOST_FOREACH でインデントを適切に機能させるためにできることはありますか?