Есть ли жизнь без Resharper-а?

    Давно пользуюсь таким замечательным продуктом как Resharper. Пользовался бы и дальше, если бы не щедрость Microsoft и странное поведение продавца от JetBrains.
    Таким образом есть студия 2013 и заканчивается пробная лицензия от Resharper-8. Решил попробовать, можно ли жить в студии (для начала Ultimate редакции) без решарпера. Кроме того, как не удивительно, некая часть разработчиков пользуются только не большим набором возможностей решарпера. Нельзя ли их перевести на встроенные фичи или бесплатные инструменты, что бы бухгалтерию зря не напрягать.
    Исследование вопроса под катом.



    Да, я видел, что на хабре уже сравнивали некоторые возможности Reshaper и Studio, а Resharper 8 содержит еще кучу чего-нибудь вкусного и интересного.
    Но надеюсь дополнительный опыт сравнение будет не лишним, а полезным.

    Итак, можно ли обойтись без Reshaper 7 в студии VS2013 (Ultimate). Начнем с навигации. В качестве кошки выбраны исходные коды nunit.

    Допустим надо найти определение типа AddinManager.
    ReShaper:
    Go to Everything / Type… (Ctrl + N)
    image

    чисто Studio
    Inline Navigate To… (Ctrl+,)


    или Navigate To...


    Совсем не плохо! — удивился я сам себе.

    Следующий популярный, для меня, сценарий, это нахождение всех наследников интерфейса. Поищем их для интерфейса IService.
    ReShaper:
    Derived Symbols


    Теперь поищем чисто студией:
    первый шаг (ищем тип в solution explorer):


    далее правый клик и Derived Types:


    В запасе есть еще более визуальный, но менее быстрый Code Map:


    Т.е. наследников искать можно без особых проблем (хотя судя по всему чуть более медленно).

    И самый наверно популярный сценарий «поиск ссылок на метод»: поищем где вызывается метод InitializeService.

    Resharper:
    Find Usages:


    Studio (по клику на «12 references» над самии методом):

    Этот способ показывает не только вызов, но и реализации, что конечно же не так прекрасно как в resharper.

    Итак, краткий анализ показывает, что базовые (из моего опыта) сценарии навигации могут быть более или может быть менее покрыты студией. Кроме того, я настолько привык к решарперу, что не мог себе представить работы без него (даже на уровне навигации). Данный опыт сломал этот «страх жизни без решарпера». Теперь можно потрогать студию и за более сложные сценарии (рефакторинг, запуск nunit тестов).

    Спасибо,
    Игорь.
    Поделиться публикацией

    Комментарии 46

      0
      А можно еще поинтересоваться насчет:
      1. Переименования с учетом строковых упоминаний (например XAML).
      2. Introduce variable/field.
      3. Extract/Inline method/parameter.
      4. Implement/Override method.

      Вообще разработчики VS конечно стараются увеличить удобство работы в Студии, но пока они в роли догоняющих :(
        0
        Я не сомневаюсь, что решарпер может многое, что еще не умеет студия, и этим исследованием я занялся не от «хорошей жизни».
        Начал со сравнения навигации: судя по всему можно жить. Теперь я продолжу сравнивать другие фичи, которые используется в моей команде.
          +5
          Подозреваю, что в роли догоняющих они вполне себе умышленно. Заработай сам, дай заработать партнерам.
            +1
            Да, я слышал такое от сотрудников MS.
              +2
              довольно логично, если не кидаться в крайности
          +3
          Ну самый сложный и пожалуй частый кейс, это все же рефакторинг. И вот тут студия просела.
          Сам я не пользуюсь решарпером, так как слишком медленный и прожорливый, по крайней мере, таким он был пару лет назад.
          Если студия догонит в этом направлении, то популярность R# пошатнется.
          Сам я успел пощупать VS 2013 и остался доволен новыми фичами. И почему их не было в 2012? 0_0
            +14
            День добрый!
            Попробуйте, пожалуйста, новую версию — ReSharper 8. Если вы последний раз пробовали ReSharper пару лет назад, то должны быть приятно удивлены — скорость работы существенно увеличилась по сранению с прошлыми версиями, особенно двухлетней давности.

            Будем благодарны за отзывы!
            Спасибо!
              –25
              WTF???
                +22
                Немного непонятно ваше «недоумение»… Вы пожаловались на то, что пару лет назад ReSharper был очень прожорливым. Я, как представитель команды ReSharper, советую вам попробовать новую версию — она должна быть значительно быстрее. Следовать моему совету или нет — уже ваше дело, но в любом случае спасибо!
                  –23
                  Мое недоумение выражена тем, что мне толкают продукт в хабре. Для таких вещей сеть личка и почта, как мне казалось.
                  Вы пожаловались на то, что пару лет назад ReSharper был очень прожорливым.
                  Я описал одну из причин, почему я отказался от него,
                  а пожаловался я на то что в Студии нет таких возможностей рефакторинга.
                    +28
                    Ни в коем случае не «толкаю вам продукт». Вы публично сказали о «тормознутости двухлетней версии», я публично ответил о том, что 8-ая версия в разы быстрее и менее прожорливее чем, скажем, ReSharper 5 и посоветовал проверить этот факт самому, не более.

                    Вообще, общение в комментариях «на тему» — достаточно обычная практика. Мои комментарии и ответы на разные вопросы/замечания можно найти даже в ветке ReSharper 8 на рутрекере — и никто, вроде, не жалуется :-)

                    Прошу прощения, если по каким-то причинам я вас чем-то задел или обидел.
                      +2
                      Красава :) Так его :)

                      p.s. Извиняюсь за сленг, он ради шутки :)
              +5
              О «тормозах» решарпера я позабыл несколько лет назад, когда поменял PIV на I5-750, x64 и 8Gb+ RAM. В такой конфигурации практически не ощущается влияния решарпера на скорость работы студии, остаются одни плюсы.
              +4
              По-моему вы перечислили не более 5% возможностей ReSharper'a. Без них можно прожить без проблем. А также и без оставшихся 95%. Но, как говорится, зачем так жить? Рефакторинг, дополнительная подсветка, LINQ подсказки (+ свои паттерны), слежение за стилем и качеством кода (в компании очень полезно), менеджер тестов и тонна маленьких вещей, которые раскрываются только в течении ежедневной работы на протяжении многих месяцев.
                +1
                По двум главным причинам: не адекватное поведение продавца решарпера и желание получше познакомиться с фичами VS2013. За несколько дней я узнал о студии, то чего не надо было искать годами :).
                  +1
                  Вы нигде не упомянули, в чем же именно заключается неадекватность и странное поведение продавца ReSharper'a?
                  PS. А фичи можно в любом продукте узнать за час-два, достаточно внимательно почитать документацию, хотя бы заголовки, чтобы знать, какие области перекрываются с вашими требованиями.
                    +1
                    Будем благодарны, если вы опишите неадекватность продавца в деталях. Разберемся!
                      +4
                      Наша фирма использует решарпер много лет. и вот на днях (после выхода 8-ой беты), мой коллега случайно заказал еще небольшое количество лицензий (через посредника как водится). через пару дней вышер релиз 8. Как оказалось, полученные лицензии не годятся для 8. неприятно конечно, но сами себе виноваты. до этого момента все было более менее нормально, хотя и не приятно.

                      Тем не менее я начал общаться с jetbrains и после пару-тройку писем получил шикарное предложение: купить еще раз (!) это небольшое количество лицензий для 8-ки с 5% скидкой (которая актуально аж 2 недели!). я может чего то не понимаю, но на мой взгляд, это уже издевательство.
                        0
                        Та же история. За мгновение до выхода 8-й версии успели купить несколько лицензий на «семерку» :(
                          0
                          может им пора понять, что рискуют потерять часть репутации.
                            +1
                            Большое спасибо за разъяснения.
                            К сожалению, я не компетентен на все 100% по вопросам лицензирования/продаж, поэтому завтра передам соответствующим людям вашу ституацию.

                            От себя лично — приношу извинения за неудобства.
                              +1
                              Вашему терпению можно только поразиться!
                              Респект!
                                +1
                                Добрый день,
                                С вами (и с JustERR, и с constructor — а точнее с контактами, которые вы мне дали) должны были связаться наши Sales с вариантами решения проблемы.

                                Для остальных (возможно, кто-то столкнулся с похожей ситуацией) — проблема заключалась в том, что лицензии были куплены через reseller'а, и в результате некоторых «косяков» были предприняты ошибочные действия по продаже/апгнрейду лицензий.
                                Если кто-то еще столкнулся с подобной ситуацией — напишите пож-та мне в личку или напрямую на sales@jetbrains.com — мы постараемся вам помочь.

                                Спасибо за понимание!
                              0
                              Вроде бы они обещают поменять лицензии на 8 в этом случае. Попробуйте обратиться в то место где купили.
                        +2
                        Я бы немного изменил — перечислили не более 5% возможностей навигации ReSharper'а. Улучшения в 8-ой версии были упомянуты в отдельном блог-посте, помимо уже «устоявшихся фич». Чего стоит только клавиатурные combo с использованием Camel Humps в навигации, типа этого:
                        image

                        Я могу ошибаться, но по-моему у Студии и близко подобного нет.
                          0
                          К таким вещам как использование Camel Humps привыкаешь, что даже про них забываешь. А ведь без них я бы не прожил :)
                            0
                            вот вот. я тоже так привык, что понадобилось устроить специальную проверку, можно ли соскочить с «иглы решарпера» :)
                          +1
                          в моей повседневной деятельности, навигация занимает гораздо более чем 5%
                          0
                          А студии поиск по первым буквам работает? К примеру поиск класса/файла — RepositoryLink, можно свести к набору ReLi.
                            0
                            судя по всему, только звездочку можно использовать. что конечно же не дает несколько увеличивает уровень «шума» :)
                              0
                              Работает. Но у меня стоят некоторые дополнения, может из-за них.

                              Ну и в дополнение к последнему пункту статьи: чем автора не устроил View Call Hierarchy в студии?
                                0
                                я не понял как он рабоет :(
                              0
                              Именно по первым буквам, и писать их надо заглавными, т.е. что бы найти RepositoryLink, надо набрать RL (Rl уже не сработает).
                              0
                              судя по всему, только звездочку можно использовать. что конечно же не дает несколько увеличивает уровень «шума» :)
                                +3
                                Не представляю как можно вообще работать в студии без решарпера :-).
                                  +1
                                  А для всего остального есть Roslyn =)
                                    0
                                    А «Go To Definition», способный переходить из проекта на VB.NET в проект на C# (и обратно, всё в рамках одного солюшена) не появился, случайно? Для меня это самая киллер-фича решарпера, без остальных смогу прожить.
                                      0
                                      Что вы имеете в виду? Если переход по символам в кросс-языковых солюшенах — то работает давно. Только что проверил переход из VB-кода к типу, написанному на C#.
                                      +1
                                      > Давно пользуюсь таким замечательным продуктом как Resharper-ом
                                      Это видно :-D
                                      Хабр не поддерживает Resharper?
                                        0
                                        подправил. спасибо.
                                        +5
                                        После решарпера, открыв «голую» студию, чувствую себя неопытным junior'ом :)
                                          +1
                                          Наверное, так же чувствует себя Железный Человек, когда снимает с себя «интерактивный экзоскелет» :)
                                          –4
                                          Жизнь без Resharper-а не только есть, но и процветает. Resharper — бесполезная медленная приблуда. Минусуйте.
                                            0
                                            Скажите, пожалуйста, как включить отображение количества ссылок? Я про строчки мелким серым шрифтом типа «12 references».
                                              0
                                              Насколько я понимаю это фича включена в Ultimate версию.

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое