CodeRush
—
плагин
для
рефакторинга
и повышения производительности, разработанный компанией
. Плагин расширяет изначальную функциональность
Microsoft
Visual Studio
версий .NET 2012, 2013, 2015, 2017, 2019, 2022
Содержание
Обзор
CodeRush использует ситуативный
статический анализ кода
(выявление ошибок на лету без необходимости компиляции), поддерживает дополнительные возможности для выявления и коррекции ошибок, автозавершение кода, навигацию, поиск, подсветку синтаксиса, форматирование, создание и оптимизацию кода, выполняет более 180 автоматических
улучшений
, упрощенное
модульное тестирование
при помощи
NUnit
,
XUnit
,
и
, а также прочие возможности.
Возможности
Ниже представлен список из некоторых возможностей CodeRush
:
Инструменты визуализации кода
: выделение блока кода при помощи ключевых слов
#region
и
#endregion
, позволяя их сворачивать и разворачивать; подсказки (указывают, какая строка будет выполнена следующей) по выполнению потока кода к ключевым словам (
continue
,
break
,
throw
,
return
для C# и
Raise
,
Return
,
Exit Sub
,
Exit Do
для Visual Basic); иконки, отмечающие область видимости (Protected Internal, Internal, Protected, Private) и тип члена (Field, Method, Property, Class, Struct, Interface), форма быстрого поиска по нажатию кнопки Ctrl, подсветка синтаксиса.
Инструменты продвинутого выделения кода
: выделение сразу логическими блоками кода по нажатию Num + или Ctrl+W; быстрое комментирование выделенных блоков кода; инверсия выделения; встраивание ключевых слов («try/finally» или «if/else», например) в выделенный блок.
Инструменты работы с буфером обмена
: умное вырезание и копирование (при нажатии клавиш копирования или вырезания при курсоре, установленном на ключевом слове, происходит автоматическое выделение всего логического блока кода, относящегося к этому ключевому слову, и его вырезание/копирование); интеллектуальная вставка с возможность настройки автозамены кода; готовые шаблоны кода.
Инструменты навигации и поиска
: продвинутый поиск по коду, облегчающий поиск нужных обработок выбранных методов/функций, маркеры для цветового выделения интересуемого фрагмента кода; быстрое переключение между маркерами; быстрая навигация, позволяющая по введенной части наименования быстро перейти к нужному фрагменту кода.
Шаблоны кода
: умные шаблоны кода, позволяющие при вводе определённых сокращений автоматически подставлять стандартные фрагменты текста (например, «mb[» для объявления метода, возвращающего массив булевых значений); интеллектуальное объявление классов и их членов, позволяющее сочетанием клавиш автоматически подстанавливать объявление типов/переменных/классов и т.д., а также выполнять автоматическую замену типа «Left» на «Right», «Top» на «Bottom» и т. д.; связанные идентификаторы, позволяющие менять сразу несколько идентификаторов, редактируя лишь один из них (то есть реализация принципа «меняешь один — меняешь все»); текстовые поля для удобства редактирования кода; автоматическое добавление ссылки на используемое пространство имён; маркеры для быстрого переключения между редактируемыми блоками кода.
Запуск модульных тестов
: возможность выполнения модульных тестов разными способами с поддержкой платформ
NUnit
,
XUnit
,
и
, а также динамически генерируемые тесты; возможность расширения поддержки путём добавления новых тестовых платформ.
Расширяемость
: регистрация пользовательских типов для использования в шаблонах; настройка обработки выделенного фрагмента кода; настройка шаблонов; настройка плагинов; поддержка сообществом разработчиков плагинов.
Дополнения
CodeRush поставляется с API для разработчиков, позволяющим создавать сторонние
плагины
, расширяющие базовую функциональность CodeRush
, как например:
Class Cleaner
Visual Studio Spell Checker
Documentor
Method Preview
Enterprise Library Configuration Tool Launcher
Commenter
Copy Project и другие
Награды
Данная разработка неоднократно получала награды в различных журналах, конференциях и веб-сайтах
. Среди них:
Best of TechEd08
.
Лучшее дополнение 2009 по версии читателей журнала ASP.NET Pro (ASP.NET Pro Magazine 2009 Readers Choice Awards)
.