Я пишу этот крошечный пример 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. Очевидно, что другие стили меняют внешний вид отформатированного кода, но ни один из них не дает правильного отступа.
Когда я использую функцию форматирования в большем фрагменте кода, последующие функции или методы также страдают от слишком малого отступа, что делает форматирование очень бесполезным.
Есть ли что-то, что я могу сделать, чтобы отступ работал правильно с BOOST_FOREACH?