2009-08-26 9 views
6

Używam astyle, która jest świetna do zastosowania standardowego stylu do istniejącego kodu. Jednak zauważyłem, że gdy spotyka to:Astyle formatowanie wielu linii <<

ostringstream myStream; 
myStream << 1 
     << 2; 

to formatuje do tego:

ostringstream myStream; 
myStream << 1 
<< 2; 

Oto mój plik opcji: (wersja 1,23)

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

Czy istnieje sposób, aby ustawić linię "< <" w następnej linii?

Edit:

Próbowałem również w wersji 1.22 z następującym pliku (test.cpp):

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

z następujących opcji (format.txt):

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

i następujący wiersz polecenia:

Astyle --options = format.txt test.cpp

który spowodował to:

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

Odpowiedz

8

Końcowy wniosek jest taki, że to bugzobaczyć dno

Próbowałam replikuj swój problem i nie możesz uzyskać zachowania, o którym mówisz: (aktualizacja tego OP neguje to)

Edit: (skreślony zawartość zaktualizować)

Nazwy parametrów zmieniły się między 1,22 a 1,23.

Jeśli żaden z nich nie rozwiązuje problemu, spróbuj przesłać więcej kodu jako przykład lub w inny sposób spróbuj go skopiować, używając tylko wklejonego tutaj kodu. (Zrobione przez OP)

Zauważyłem również, że kolejność opcji wydaje się mieć znaczenie przy okazji. Np

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

nie jest taki sam jak:

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

Określanie "--style = ANSI" drugi skutecznie neguje --indent = "zakładkę".

Nie byłbym zaskoczony, gdyby to był twój problem.

...Ale po zabawie z tym przez 20 minut jestem przekonany, że to astyle bug.

Edycja zawierać link do błędu: bug Dzięki Markh44

+0

Dzięki za odpowiedź. Używałem v1.23 i te opcje są poprawne dla tej wersji. Dostałem wersję 1.22 i zmieniono opcje tej wersji, ale mam ten sam problem (patrz zaktualizowane pytanie). – markh44

+0

Kolejny błąd występuje w wersji 2.04. Dodaje dodatkowy znak nowej linii na końcu dowolnego pliku. To dość denerwujące, jeśli używasz narzędzia do sprawdzania poprawności kodu w kroku poprzedzającym zatwierdzenie. –

Powiązane problemy