Подскажите утилитку для форматирования исходников С++
astyle
astyleСпасибо! Похоже на то, что нужно.
Похоже на то, что нужно.если не трудно, отпишись о результатах
интересно знать:
1) как быстро освоил
2) как быстро и точно настроил
3) какие фрагменты кода починила и какие наоборот поломала \ не осилила
4) решил ли свою задачу в итоге
отпишись о результатах1) Скачал, запустил (не выдало help при запуске без опций полез на сайт в Usage. Вычитал нужную мне опцию, запустил на тестовом файле, запустил на всём проекте. Минут 10-15 суммарно.
2) Ещё минут 15 игрался с опциями по поводу работы со скобками. Не нашёл, как сохранить if else в моём любимом стиле. Но это было не критично, так что забил.
3) Все отступы стали как надо. Дополнительные опции отключил, чтобы не трогала ничего.
4) Да, решил.
спасибо, надо будет тоже тогда попробовать
clang-format, очень настраиваемый и с плагином для vim
clang-format, очень настраиваемый и с плагином для vim+1 к clang-format.
Не знаешь есть ли такой плагин для vim, который переформатирует код на лету, а не по запуску команды?
Не знаешь есть ли такой плагин для vim, который переформатирует код на лету, а не по запуску команды?Я себе в вимрц написал вот так:
function! AstyleReformat range
let l:curline = line('.')
let firstline = a:firstline
let endline = a:lastline
exec firstline . "," . endline ."! astyle --style=1tbs -s4lNdk3z2"
call cursor(l:curline, 1)
endfunction
vmap astyle :call AstyleReformat<cr>
nmap astyle :1,$call AstyleReformat<cr>
Для большего автоматизма можно сделать всякие au BufWritePre,InsertLeave …
http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-form... , и делаешь как в нём в самом начале в комментариях сказано. Работает форматирование в визуальном режиме, ещё работает undo с форматированием, как и с любым другим действием.
Хотя если ты имел в виду на лету - совсем на лету, думаю, что такого не бывает, хотя бы потому что код по мере ввода не всегда бывает (на самом деле, почти всегда не бывает) синтаксически корректным.
Берёшь вот этот скрипт Хотя если ты имел в виду на лету - совсем на лету, думаю, что такого не бывает, хотя бы потому что код по мере ввода не всегда бывает (на самом деле, почти всегда не бывает) синтаксически корректным.
Оставить комментарий
solambo
Нужно пройтись по файлам в С++ проекте и заменить отступы из 2 пробелов на табуляцию, при этом не портить выравнивания вроде таких (всё пробелами):