Существует ли автоматический форматировщик кода для C#?[закрыто]
-
09-06-2019 - |
Вопрос
Сейчас в своей работе я в основном имею дело с кодом C#, время от времени добавляя немного Java.Что мне очень нравится в Eclipse (и я знаю, что люди, использующие его ежедневно, любят его еще больше), так это сложное средство форматирования кода, способное преобразовать код в любой стандарт кодирования, который только можно себе представить.Есть ли такой инструмент для C#?Форматирование кода Visual Studio (Crtl+K, Crtl+D) не соответствует требованиям, и StyleCop только проверяет источник, не исправляя его.
Инструмент моей мечты должен запускаться из консоли (для легкого включения в автоматические сборки или перехватчики предварительной фиксации, а также для выполнения в Linux + Mono), иметь конфигурацию на основе текстовых файлов, которую легко хранить в репозитории проекта, и графический редактор правил с предварительным просмотром - просто как это делает форматировщик кода Eclipse.
Решение
Для Visual Studio взгляните на РеШарпер.Это потрясающий инструмент, который определенно необходим.Версии после 4.0 имеют функции форматирования и очистки кода, которые вам нужны.Есть также интеграция плагина со StyleCop, включая файл настроек форматирования.Вы, вероятно, захотите Плагин агента Смита а также для проверки орфографии идентификаторов и комментариев.ReSharper поддерживает файлы настроек форматирования для каждого решения, которые можно проверить в системе контроля версий и предоставить доступ всей команде.Сочетание клавиш для очистки кода: Ctrl+Е С.
В «ванильной» Visual Studio текущий файл можно автоматически отформатировать с помощью Ctrl+K Ctrl+D, и Ctrl+К Ctrl+Ф форматирует выделенный текст.
Что касается инструмента командной строки, который можно использовать с крючками фиксации, попробуйте NАранжировать.Он бесплатен, может обрабатывать целые каталоги одновременно и работает как на Mono, так и на Microsoft.Net.
Некоторые люди также используют Художественный стиль инструмент командной строки, хотя он требует Perl и лучше работает с кодом C/C++, чем с C#.
Другие советы
В дополнение к ответу @Chris Karcher - вы также можете автоматически форматировать весь документ ударив Ctrl+К, Ctrl+Д.
Эти функции форматирования работают с различными форматами файлов и творят чудеса с уродливым HTML.
.NET Foundation только что выпустила свой инструмент форматирования кода на GitHub.
https://github.com/dotnet/codeformatter
Он использует службы компилятора Rosyln для анализа проектных документов и преобразования их в ожидаемые соглашения о форматировании.Они применяют это к очень старому коду CLR, чтобы сделать все проекты согласованными.
Другой вариант: NАранжировать;
- бесплатно
- на основе консоли (так хорошо подходит для фиксации коммитов и т. д., но все равно может использоваться как «внешний инструмент» в VS)
- гибкий файл конфигурации
Для меня, Ctrl+Сдвиг+Ф карты для поиска в файлах.Когда мне нужно отформатировать код, я выделяю его и нажимаю Ctrl+К, Ctrl+Ф.
Я понимаю, что на самом деле это не касается автоматического форматирования, я просто хотел уточнить для тех, кто, возможно, не знает, что эта функция вообще существует в VS.
Я слышал только хорошее о РеШарпер.Это в моем списке к изучению.
Этот инструмент находится рядом (~ 30 $), я попробовал его, и он работает хорошо (с несколькими языками), мне нравится этот инструмент, потому что он не проверяет файл кода для правильной.Я могу опубликовать фрагменты кода из сети, и они будут правильно переведены, независимо от того, находятся ли они в недостающих частях кода.Другие инструменты, которые я пробую, жалуются в этих случаях.Этот инструмент также можно легко интегрировать в редакторы, поскольку он позволяет работать с командной строкой.
Другие инструменты:
http://www.polystyle.com/index.jsp
http://astyle.sourceforge.net/ (Открытый исходный код)
Не напрямую, но я использую Агент Смит плагин для R# для этого.К сожалению, R# не бесплатен.
Также взгляните на Microsoft StyleCop
Я это не пробовал (нашел через Google).Может работать? http://www.semdesigns.com/Products/Formatters/CSharpFormatter.html.Это довольно дешево — 50 долларов США, но пробная версия недоступна.
См. предыдущий вопрос:
Есть ли какой-нибудь инструмент для переформатирования кода C#?
Поиск по запросу [c#] astyle также выявляет еще несколько предыдущих вопросов.
Вот инструмент форматирования кода с открытым исходным кодом, который имеет удивительные возможности.
Я понимаю, что это очень поздний ответ, но, возможно, вас заинтересует это бесплатное дополнение для Visual Studio 2010/2012
Я хочу сделать онлайн: формат свободного кода