Я исправляю большой, старый, грубый проект и хочу осторожно вносить большие изменения, потому что это вызовет проблемы слияния и потому, что старые, грубые участники проекта расстроятся. На данный момент я просто хочу исправить отступ. Брекеты, комментарии... пока оставьте их в покое.
Все инструменты, которые я пробовал (bcpp, uncrustify и GNU indent), имеют свои собственные представления о том, как следует форматировать код, и мне приходится тратить много времени на выяснение того, как их отключить, если их можно отключить. Я также попытался настроить их с помощью графического интерфейса Universal Indent, но они все равно переформатировали то, о чем я не просил.
Мне нужно средство для улучшения кода C, которое по умолчанию ничего не делает . Все функции должны быть включены. В качестве альтернативы мне нужен файл конфигурации для одного из C beautifiers, который отключает все.
Я бы хотел, чтобы был инструмент, который вел себя так, как вы описываете. Мы отказались от использования инструментов форматирования кода в наших проектах, потому что изменения форматирования, которые они применяли, раздражали разработчиков гораздо больше, чем мы раздражали друг друга своими собственными причудами форматирования.
В частности, для отступов в большинстве редакторов есть функции для простого отступа без форматирования, и вы, вероятно, уже настроили его так, как хотите. Если в вашем любимом редакторе есть пакетный режим, то это, вероятно, ваш лучший вариант.
Например, у vim есть функция cindent , которую после настройки по вашему желанию можно вызвать в командной строке какvim MyFile.cpp -c "%normal ==" -c "wq"
Если даже это слишком структурировано, вы можете попробовать использовать макросы retab или super retab .
Улучшитель кода 'gc' будет делать то, что вы хотите, особенно с -no-output-
опцией.
Его можно скачать с: http://sourceforge.net/projects/gcgreatcode/?source=typ_redirect .
Художественный стиль (Astyle) по умолчанию регулирует только отступ.
Он имеет варианты фигурных скобок и комментариев.
Шверн
gc -file-foo.c -no-output-
Ничего не сделал.gc -file-foo.c
переформатировал код как и все остальное (тоже очень странным стилем) и изменил права доступа к файлу на запись (?!) и запилил баннер в файле. Есть что-то, что мне не хватает?пользователь3629249
Шверн
Шверн
пользователь3629249
./GC -no-output- -file-indent.c
для файла indent.c. Он не вносит изменений в файл indent.c, вы можете поместить-no-output-
параметр вGC.cfg
файл, и тогда GC ничего не сделает. Это может быть переопределено параметрами командной строки,пользователь3629249
writefile()
строка 254, измените вызов,chmod()
чтобы второй параметр выглядел примерно так:0666
Шверн