Astyle форматирование нескольких строк << - PullRequest
6 голосов
/ 26 августа 2009

Я использую astyle, который отлично подходит для применения стандартного стиля к существующему коду. Однако я заметил, что когда это сталкивается с этим:

ostringstream myStream;
myStream << 1
         << 2;

переформатируется в это:

ostringstream myStream;
myStream << 1
<< 2;

Вот мой файл опций: (версия 1.23)

--indent=spaces
--brackets=break
--indent-switches
--indent-namespaces
--min-conditional-indent=4
--break-closing-brackets
--pad-paren-in
--unpad-paren
--convert-tabs

Есть ли способ заставить его выстроить строку в строку «<<» на следующей строке? </p>

Edit:

Я также пробовал версию 1.22 со следующим файлом (test.cpp):

void main()
{
    ostringstream myStream;
    myStream << 1
             << 2;
}

со следующими параметрами (format.txt):

--indent=spaces
--brackets=break-closing
--indent-switches
--indent-namespaces
--min-conditional-indent=4
--pad=paren-in
--unpad=paren
--convert-tabs

и следующая командная строка:

astyle --options = format.txt test.cpp

который произвел это:

void main()
{
    ostringstream myStream;
    myStream << 1
    << 2;
}

Ответы [ 2 ]

8 голосов
/ 27 августа 2009

Окончательный вывод - это ошибка см. Внизу

Я пытался воспроизвести вашу проблему и не смог понять поведение, о котором вы говорите (обновление вопроса OP отменяет это)

Редактировать: (удаленный контент для обновления)

Имена параметров изменились между 1,22 и 1,23.

Если ни одна из них не решает вашу проблему, попробуйте загрузить дополнительный код в качестве примера или попытаться скопировать вашу проблему, используя только код, который вы вставили сюда. (Выполнено OP)

Я также обнаружил, что порядок опций, похоже, иногда меняет дело. Например:

astyle --indent=tab --style=ansi test.cpp

не совпадает с:

astyle --style=ansi --indent=tab test.cpp

Указание секунды "--style = ansi" фактически отменяет "--indent = tab".

Я не удивлюсь, если это может быть вашей проблемой.

... Но, поиграв с этим в течение 20 минут, я убежден, что это astyle bug .

Изменить, чтобы включить ссылку на ошибку : ошибка Спасибо Markh44

2 голосов
/ 28 августа 2009

@ Катскул, ты прав, это ошибка.

В конце концов я нашел это:

http://sourceforge.net/tracker/index.php?func=detail&aid=1713990&group_id=2319&atid=102319

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...