Другой вопрос.Выравнивание кода C с использованием сценария оболочки
Предположим, у меня есть следующая база кода. Существующий код выглядит следующим образом.
int main() {
/*Commented Added by abc
int abc; */
/* Code Added by abc */
int def;
}
Я бы хотел, чтобы новый код был следующим.
int main() {
/*Commented by abc
int abc; */
/* Added by abc */
int def;
}
Там нет никакого фактического изменения кода делается в приведенном выше примере. Однако комментарии правильны, основываясь на новом добавленном коде. То есть Я искал новую строку кода, добавляемую ABC, и присваивал предыдущие пару строк в соответствии с этим выравниванием строки.
Теперь я работаю над огромной базой кода, и сделать такие изменения кода практически невозможно. пожалуйста, совет о том, как это можно было бы достичь самым простым способом.
Возможно, есть: - http://stackoverflow.com/questions/1609805/code-formatter-beautifier-for-c-on-linux-for-emacs-user ответы охватывают другие платформы, например http: //www.gnu .org/software/indent/ – QuentinUK
Есть инструменты, которые делают это; они не являются сценариями оболочки, а основными программами на C, которые понимают очень сильную синтаксическую синтаксис. Вы указали «indent»; это лишь один из многих. «астайл» - другой; «uncrustify» - это другое; 'cb' (C Beautifier) - это оригинальная (7-я редакция UNIX ™) программа этого типа, но вам будет трудно найти ее и, вероятно, она не захочет, если вы это сделаете. Обратите внимание, что 'vim' часто можно использовать (команда' = '). Кроме того, изменения лучше всего не хранить в исходном коде, а в системе управления версиями, которую вы используете, - вы используете ее, не так ли? –
Правильная вещь здесь - удалить комментарии и использовать VCS. –