Ответ 1
Попробуйте Художественный стиль:
Художественный стиль - это индентор исходного кода, форматирование и декодер исходного кода для языков программирования C, С++, С# и Java.
Я пытаюсь использовать программу "indent" для отступов программ на С++. Но, похоже, это не работает нормально. Это еще больше заставляет отступать.
Это файл класса. Можете ли вы предложить правильные варианты для нее или другой программы, которая работает?
Спасибо
Попробуйте Художественный стиль:
Художественный стиль - это индентор исходного кода, форматирование и декодер исходного кода для языков программирования C, С++, С# и Java.
в visual studio, CTRL + a, CTRL + k, CTRL + f будет автоматически отступать весь файл, в котором вы работаете.
Многие редакторы, такие как Vim и Emacs, имеют функцию, которая обновляет код в соответствии со своим встроенным стандартом отступа.
В Vim вы можете набрать = с любым движением. (Например, =% на любом разделителе блоков или S-v, чтобы выбрать регион, а затем = для переформатирования.) Команда gq может использоваться для переформатирования комментариев и другого текста.
В Emacs вы можете ввести M-x indent-region
после выбора региона. (Например, с M-< и M->.) Вы также можете переформатировать комментарии с помощью M-x fill-paragraph
.
Другим инструментом для автоматического форматирования кода на С++ является clang-format.
http://www.faqs.org/docs/Linux-HOWTO/C-C++Beautifier-HOWTO.html
Это в ответ на OP и другие плакаты: я работаю под Windows и искал отступ. Это то, что я узнал:
Я попробовал bcpp. Кажется, он довольно старый (более или менее с 1996 года), и вам нужно найти windows exe. Я нашел здесь: http://www.zeusedit.com/zforum/viewtopic.php?t=1067. Тем не менее, я думаю, что это не стоит того, чтобы беспокоиться, так как он может использовать только пространство/вкладку, уровень отступов и преобразование скобок.
Тогда есть Художественный стиль, который является новее и на sourceforge. Он кажется вполне способным, но он не может, например, переформатировать пробелы вокруг имен функций и параметров (например, превратить if ( a ( b ) )
в if (a(b))
.
Мне нравится отступ Cygwin (http://www.cygwin.com/), но он отлично работает только в файлах, разделенных символом новой строки, поэтому вы должны использовать его как msgstr "dos2unix < infile | indent...". Но отступ не будет переформатировать комментарии в коробке...:)
Может быть, комбинация художественного стиля и отступ Cygwin работает лучше всего. Теперь я использую эту командную строку: astyle --style=kr -s3 --break-closing-brackets < infile.cpp | dos2unix | indent --no-tabs --k-and-r-style --indent-level 3 --dont-cuddle-else | unix2dos
. Я доволен, согласен, но, кроме того, он дает очень хороший результат.:)
bcpp, доступный в любом дистрибутиве linux (и, вероятно, для mingw/cygwin, но я его не проверял) является С++ индентор и декоратор. Вы можете параметризовать, как это работает с кодом.
Еще один короткий ключ в Visual Studio 2008:
Ctrl + A, Alt + F8
В netbeans вы можете просто сделать
Alt + Shift + F
Пожалуйста, убедитесь, что плагины установлены для соответствующего языка. Например, для отступов PHP-кода вам нужно выбрать netbeans PHP или установить плагины PHP из репозитория.