- PVSM.RU - https://www.pvsm.ru -
В течение десяти с небольшим лет своего существования ReSharper был ориентирован на .NET-разработчиков, что не удивительно для плагина к Visual Studio. 2 года назад, в чем-то благодаря удачной первоапрельской шутке, мы вплотную занялись поддержкой С++ в ReSharper, и вот совсем недавно был выпущен первый официальный релиз ReSharper C++ [1] — нового продукта специально для разработчиков на C/С++ в Visual Studio. (Тем, кто заждался релиза CLion для кросс-платформенной разработки на C/C++, понадобится еще немного терпения.)
Чем же может быть полезен ReSharper C++? Разберем основные возможности продукта.
Как только вы открываете Visual Studio с плюсовыми проектами, ReSharper C++ начинает анализировать ваши проекты и предлагать исправления для проблем, которые находит, и рекомендовать те или иные улучшения. Например, если вы воспользуетесь типом, не прописав ему заголовок, ReSharper C++ предложит вам сделать это:
Если у вас есть прототип функции, но не хватает ее определения, ReSharper C++ предложит сгенерировать тело функции либо в этом же, либо в отдельном файле:
Если вы решите воспользоваться функцией printf()
, ReSharper C++ проверит аргументы форматирования и предложит фиксы, если найдет проблемы:
ReSharper С++ полностью понимает все макросы, так что анализ он осуществляет именно на том коде, который получится после препроцессинга. Это дает нам ряд уникальных возможностей: например, можно «разворачивать» макросы прямо в коде:
В случае реализации факториала через шаблоны ReSharper C++ может сразу проверить любой static_assert
, написанный с использованием этого шаблона:
ReSharper C++ позволяет очень быстро навигироваться по крупным проектам и искать в них нужный код. Вот некоторые из поддерживаемых возможностей навигации:
Для поиска всех вхождений того или иного символа в ReSharper C++ имеется механизм Find Usages с возможностями предварительного просмотра, группировки и фильтрации.
Следует отметить, что многие команды навигации доступны из контекстного меню, которое открывается по нажатию Alt+Enter:
ReSharper С++ также включает в себя несколько окон для навигации в больших сложных проектах. Одно из этих окон называется File Structure: оно позволяет быстро сориентироваться в структуре текущего файла:
Еще одно окно называется Inheritance Hierarchy, и в нем отображается иерархия наследования типов в виде дерева:
Завершая тему навигации, существуют команды для перехода по элементам класса (Go to Next/Previous Member) и по найденным в файле ошибкам (Go to Next/Previous Issue).
Мы адаптировали систему генерации кода и шаблонов к С++. Это означает, что в ReSharper С++ есть поддержка следующих знакомых пользователям основного ReSharper механизмов:
if
или try-catch
выражение. Эти шаблоны также доступны на любой выделенной части кода при нажатии Alt+Enter:Помимо шаблонов, ReSharper C++ также имеет штатные механизмы генерации кода в меню Generate:
Возможности рефаторинга кода — это своего рода визитная карточка ReSharper. Вот несколько рефакторингов, которые уже есть в ReSharper C++:
Вот видео, в котором показана вышеописанная функциональность в действии:
Для использования ReSharper C++ нужна либо отдельная лицензия [2], либо лицензия ReSharper Ultimate [3].
ReSharper C++ можно скачать отдельно [1] или в составе полного инсталлятора ReSharper Ultimate [4]. В обоих случаях действует 30-дневный пробный период.
Автор: mezastel
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/88530
Ссылки в тексте:
[1] ReSharper C++: https://www.jetbrains.com/resharper-cpp
[2] отдельная лицензия: https://www.jetbrains.com/resharper-cpp/buy
[3] ReSharper Ultimate: https://www.jetbrains.com/dotnet/
[4] ReSharper Ultimate: https://www.jetbrains.com/resharper/download/
[5] Источник: http://habrahabr.ru/post/255151/
Нажмите здесь для печати.