Pull to refresh

IDETools 9.2 и Resharper 4.5 на вкус и цвет

Lumber room
UPDATED
Недавно я писал о плагинах для Visual Studio от DevExpress. Как я и обещал, по окончании триала IDETools я установил триал Resharper 4.5. Поработав недельку с продуктом от JetBrains, я могу дать пару — тройку коментариев о плюсах и минусах.

VS

Плюсы Resharper 4.5:


  • Хотелось бы сразу отметить, что R# работает заметно быстрее (без включения опции проверки всего solution). Это связанно, скорее всего, с кэшем, который Решарпер хранит в папке проекта.
  • Как многие тут говорили — intellisense на более высоком уровне чем у Refactor!.. Вывод я сделал прогнав проект проверенный IDETools в R# — были ещё пара тройка мест, где R# выдал предупреждения и пожелания (помимо naming policy, который мне не подходит и надо менять дефолты).
  • Имея опыт работы с intelliJ и JBuilder R# мне был более интуитивно понятен и прост в использовании, без необходимости смотреть туториалы и читать хинты.
  • Порадовала возможность игнорировать кое какие замечания блоками #pragma. Допустим Assignmenet in conditional statement часто бывает ошибкой, но иногда это всё же осознанный выбор.
  • Ещё один удобный момент — при переименовании или создании переменной/функции варианты имён предложенные программой меня устраивали в 80% случаев, а в IDETools только в 20%.
  • Более понятные подсказки (lookups) к функциям
  • Обрабатывает комментарии и summary, проверяя указанные в них имена переменных и визуально выделяя смысловые блоки (note, todo)


Так что вот те недостатки, которые мне бросились в глаза, сравнивая с IDETools (СRx):


  • Значок с опциями R# появляется в начале строки, что очень не удобно по сравнению с готовым дропдауном уже в нужном месте у DevExpress
  • Нет нормальной интеграции в меню. Такой, которая бы позволила выполнят действия в два клика и автоматически подстраивала меню на правой кнопке ориентируясь на место положения курсора. Этого не хватает после перехода с IDETools
  • DevExpress сделали более визуальную систему, которая при рефакторинге показывает стрелочками и цветами какие изменения будут произведены, что очень хорошо, когда вы хотите воспользоваться какой-нибудь функцией в первый раз или оценить стоит ли вообще что то делать
  • Как я уже упомянул — CodeRush почти вне конкуренции. Возможности написать строку в два-три нажатия на клавиатуре в R# нет. Хотя нормальное обращения с CodeRush требует заучивания шорткатов.
    Изначально в CodeRush больше уже готовых темплейтов, но и сама работа с темлейтами и с написанием кода идёт быстрей. В отличии от Resharper темплейты активируются с 1-3 букв ( и в соответствии с участком кода шорткаты действуют по разному: нажав f + space в условии или возле булеана выдаст не for, а false) Допустим тот же foreach[Tab] в CodeRush будет fr + space при этом если в буфере есть подходящая переменная то, энумератор будет сделан автоматически и autocomplete тоже будет выдавать лишь то, что в scope и enumerable. Ну и к плюсам можно добавить удобную навигацию по коду — закладка для быстро возврата, прыжки по переменной (нажав Tab на переменной вас перекинет к следующему месту её использования), переходы по camelCase (передвижение курсора до следующей большой буквы в названии переменной или класса) и т.д.
  • Возможностей кастомизаций и настройки в IDETools больше, не говоря уже о сторонних плагинах и лёгкой возможности написания собственных дополнений под DXCore
  • Почему то не нашёл в Решарпере возможности выбрать куда поставить новую переменную/функцию. Мне не нравиться, что за один клик я не могу сделать из переменной глобальную константу или засунуть стринг в ресурс
  • Меньше опций оптимизации строковых переменных. В отличии от R#, в IDETools выделив блок, где стрингу несколько раз добавляют данные (допустим в цикле), вы получите опцию заменить string на StringBuilder одним кликом. Ну и конечно провеки строк на null или "" (или и то и другое) автоматически предлагается заменить на string.IsNullOrEmpty (конечно же, учитывая саму структуру условия вам автоматически добавится! если надо). Кстати, вы можете сделать из значения константу (параметр/переменную), и каждый раз когда в коде будет встречаться это же значение (важен scope), вам предложат заменить его на созданную раннее константу.
  • R# всё больше предлагает точечные решения. Допустим Remove Redundant Qualifier в R# уберёт его только на выбранном месте, а IDETools пройдётся по всему коду, где излишне указан тот же namespace qualifier.

Итого:


Мой вывод — оба продукта достойны внимания. R# проще в использовании на первых этапах, а CodeRush эффективней при правильном использовании. Нюх у Решарпера лучше, но в IDETools он приятней (подсказки и разметки в нужных местах). И всё же R# — это альтернатива Refactor!, а функций CodeRush у него почти нет. Можно даже «подружить» их друг с другом. Однако реальной пользы от этого не будет если не приобрести платные (полные) версии программ. Так как то, чего не хватает R# в бесплатной версии CodeRush попросту нет.

Кстати, оба плагина не понимают, что using (SqlConnection ....) надо закрывать после исполнения команд, а не сразу после Open();

P.S.: Cтоит упомянуть и то, что в IDETools есть и freeware плагины, так что можно установить триал и продолжать пользоваться бесплатной частью после окончания пробного периода pro плагинов. Ну и конечно цена R# на 30% выше чем у аналога от DevExpress.
Tags:IDEToolsintellisenseResharperDevExpressCodeRushJetBrainsVisual Studio plugin
Hubs: Lumber room
Total votes 16: ↑14 and ↓2 +12
Views1.5K

Popular right now

Программист Power BI Senior
from 80,000 to 125,000 ₽ТатнефтьКазаньRemote job
Разработчик Unity
from 150,000 ₽ArcaniteRemote job
.NET WPF-разработчик
from 160,000 ₽Exquance SoftwareСанкт-ПетербургRemote job
Инженер-программист
from 50,000 to 100,000 ₽ГК «Мой Рейс»МоскваRemote job
Android разработчик
from 70,000 ₽Magnum Hunt Executive SearchМосква