Повышение продуктивности работы в VS.NET

    Поюзал хабрапоиск и не нашёл упоминания о такой полезной штуке как DevExpress IDETools.


    devexpress


    Что это такое и с чем это едят?


    Это добротный набор плагинов для увеличения возможностей и интерактивности, а значит и потенциальной продуктивности работы в Visual Studio 2002/2003/2005/2008 (C#, VB, ASP, C++). Ни для кого не секрет, что среда разработки от Microsoft не является идеалом и часто уступает в удобстве продуктам других компаний и открытым проектам. Мне например до сих пор не понятно, почему куча проверенных и удобных фишечек известных мне из Java IDE таких как Jbuilder и IntelliJ до сих пор не появляются в Visual Studio.NET. Я погуглил. И нашёл сей замечательный коммерческий (об этом позже) продукт, который как раз и добавил то, чего мне не хватало для привычного удобства…

    Этот пакет состоит из отдельно доступных модулей: DXCore, CodeRush и Refactor!.
    Я немного расскажу о каждом из них:

    DXCore


    Это, как понятно из названия — ядро. Набор библиотек позволяющий подключать(интегрировать) самодельные плагины в VS. Сам по себе данный продукт бесплатен и доступен для скачивания с сайта разработчика. В IDETools он служит основой, так как другие два модуля как раз и базируются на нём. Кстати, на том же сайте и у Гугла можно найти бесплатные плагины от народных умельцев.

    CodeRush


    CodeRush
    Модуль рассчитан на ускорение написания кода. Дополнение включает в себя не только кучи готовых темплейтов, но и возможности быстрой навигации по коду, дополнительные возможности буфера обмена и выделения кода, улучшения визуализации кода.

    Refactor!



    И опять таки название как бы намекает нам, что это — модуль рефакторинга, то есть работы над уже существующим кодом. Это расширенная версия встроенного в VS рефактора. Очень удобен для проектов а ля копипаста и для реструктуризации и оптимизаций. В нём полно опций для автоматической замены, инкапсуляции, вложении и разбивки кода — более 150 возможностей для доработки и обработки.

    Итого


    Мне очень понравилось работать с данными утилитами. Заразил всех на работе и теперь шеф думает о покупке лицензий. Как я и говорил — проект коммерческий и стоит более 200 долларов за лицензию. Однако помимо полноценного траила, стоит упомянуть и то, что платными версиями являются PRO компоненты и многое из рефакторинга продолжит работать и после окончания 30 дневного срока, продолжая улучшать пользовательский интерфейс и возможности.

    При работе со старыми проектами на C# постоянно пользуюсь подсветкой not disposed переменных (а так же не используемых функций), авто импортом namespace, добавление using, заменами string на StringBuilder



    Из минусов могу отметить то, что со всеми включенными опциями код становиться слишком пёстрым и явно увеличивается нагрузка на процессор. В любом случае там много, что можно отключить.

    Для лучшего ознакомления есть видео урокии конечно cheat sheet.

    Советую!

    Share post

    Comments 38

      +1
      У DevExpress еще есть много неплохих компонентов для .NET, значительно упрощающих разработку.
        0
        Угу, у них целая коллекция готовых компонентов и контролов. Но мне хочется подчеркнуть именно удобство и ускорение работы с кодом — с кодом который вы пишете для себя и сами. И совсем не важным становиться чем является ли ваш проект: веб, мобайл, вин аппликацией или библиотекой — воистинну универсальный адд-он.
        +4
        а Resharper вы пробовали? если да, то сравнить можете?
          +1
          Нет, Resharper мы не выбрали из-за более высокой цены 350 у.е. против 250 у DevExpress. Судя по описанию функционал у них похожий, но сравнивать не могу, так как знаком только с IDETools.
            0
            Resharper C# Edition стоит $249
            или вам нужна поддержка еще и Visual Basic?
              0
              Нам нужна поддержка всего. Я бы ещё и от J# не отказался — есть тут клиент с таким требованием…
              Кстати, если мне не изменяет память то на VB Refactor вообще бесплатный.
                +1
                J# мертв — интересно что за проект под который он нужен?
                  0
                  Требование одного университета — они там на одном из факультетов очень любят J# и хотят, чтоб проект тоже был на нём. Возможно для более лёгкой интеграции и поддержки «своими руками».

                  Вообщем то, что клиент имеет бубен и танцевать надо имено под него — ни для кого не новость (тот же IE6 — яркий пример)
                0
                Решарпер не умеет «не C#\VB.NET».
                А еще у них нет бесплатной версии ( Coderush XPress — базовый набор рефакторингов и движок плагинов — бесплатен).
                Он конечно хорош, но у меня с триальным решарпером возникли некоторые проблемы — он поломал маппинг клавиш и своих и студийных. В итоге пришлось снести и ресетнуть настройки клавиш, благо в студии это продумано.
                (А еще ИМХО ЖБ жадины, у них нет поддержки отечественных разработчиков, могли бы русским не по 150 индивидуалку продавать, а подешевле)

                2Хавок — а у вас триал на прошные версии закончился? Можете сравнить — что-нить осталось от прошной по сравнению с экспресс установкой? Т.е. имеет ли смысл ставить именно триал или он после 30 дней не будет отличаться от экспресса.
                  +1
                  не будет
                    0
                    Триал в этой версии (9.2.4) у меня ещё не кончился. В прошлой (8-ой) ставил только Рефактор! и после окончания 70% из того, что я использовал осталось. Кроме того помогли бесплатные плагины.
                    Когда закончится триал на этот раз (и если шеф не купит лицензию), то обязательно поставлю РеШарпер, чтоб сравнить.
                0
                К плюсам адд-она от DevExpress могу добавить постоянные обновления ( раз в месяц-два добавляют новые возможности и теплейты) и обилие информации на сайте разработчика для начинающих — все возможные видео туториалы и описания.
                  +1
                  Я юзал решарпер, юзаю сейчас CodeRush + Resharper Pro!.. Имхо решарпер более интуитивно понятен для новичка и больше приспособлен для работы с мышью. Кодраш наоборот, практически все можно сделать клавиатурой, и у него сниппетов больше и также они легче в использовании, также у него намного больше настроек, что позволяет его сделать гибче. У решарпера code analysis лучше, но не намного, так же мне понравилась такая штука как naming convensions. Ну а все остальное очень похоже или такое же, но мне удобнее и быстрее работать с CodeRush, так как стараюсь обходится клавиатурой.
                    +1
                    Наверное refactor pro! ;)
                      0
                      Да точно, опечатка вышла, CodeRush + Refactor Pro!:)
                  +1
                  resharper рулит по любому
                    +1
                    а откуда такая информация?
                      0
                      Оттуда, что он сканирует все подключенные проекты к солюшену. И если набрать имя класса/структуры/енума то он предложит на выбор подключить пространство имен с данным классом.
                        +1
                        студия по Ctrl+. это то же делает, т.ч. это не аргумент :)
                        0
                        Был такой вопрос на stackoverflow.
                            +1
                            Жаль что там отвечали не гуру, а обычные пользователи, мало у кого рейтинг выше 1000
                        0
                        >>до сих пор не появляются в Visual Studio.NET
                        А чего бы им появляться в VS.NET — она закончилась в 2005 году, с выходом Visual Studio 2005.
                          +2
                          Есть еще Visual Assist. Там не так много возможностей по рефакторингу, но у него очень удобный IntelliSense, что особенно удобно когда пишешь на C/C++.
                          • UFO just landed and posted this here
                            0
                            У него есть одна странная бага. В данном куске:

                            var items = from ii_row in this._login.MemoryBase.ItineraryItem
                            where ii_row.Itinerary == id
                            orderby ii_row.TimeOfEntry ascending
                            join oz_row in this._login.MemoryBase.OperatedZone on ii_row.OperatedZone equals oz_row.Id
                            select new {ItemId = ii_row.Id, ZoneId = oz_row.Id, oz_row.Name, ii_row.TimeOfEntry, ii_row.TimeOfLeaving};

                            Ругается на то, что не знает join, on, equals, select, ii_row.Id, ii_row.Name, ii_row.TimeOfLeaving, но знает ii_row.TimeOfEntry. При этом код компилируется и нормально выполняется. И так много где видит одни свойства у объектов и не видит другие свойства у этих же объектов, хотя декларация одинаковая.
                              0
                              Есть вещи, которые стоит отключить. Я лично отключил предупреждение о не декларированных переменных и функциях, о возможности сделать метод статическим, о замене стринга на формат, а так же предупреждение о «слишком длинной функции» — complex code…

                              Как я и предупреждал — если включить всё, то код становиться слишком пёстрым.
                                0
                                Тут вопрос не в пестроте, а в том, что у одной и той же переменной часть свойств видит, часть нет. Ну и плюс нет нормальной работы с LINQ. Resharper хоть и дороже, но он на мой взгляд лучше. Правда последний слегка тормозной =\
                                  0
                                  Я так понимаю вы знакомы и с Resharper и с IDETools. Был бы благодарен за ещё пару слов о плюсах/минусах для сравнения…
                                    0
                                    Resharper кажется стабильнее, у него live проверка синтаксиса, которая выводится в виде пометок в окне открытого файла проекта, при этом(в отличии от CodeRush) эта функция не тормозит, с LINQ получше работает(имхо, конечно). Еще у него можно задавать схемы нэйминга(полезно для команды разных разработчиков).
                                    В остальном вроде они сильно похожи. Разве что у CodeRush нааамного гибче система темплейтов (в Resharper она глюкавит) и он не ТАК тормозит саму Студию(хотя у Resharper с этим недостатком можно мирится, да и команда JetBrains все время подкручивают производительность(это иногда заметно даже на тестовых сборках)).
                                      +1
                                      А какие версии R#/ CR+R! вы сравнивали?
                                      Дело в том, что пройдя по ссылки, что вы дали выше, я обнаружил только пару заметок и сравнение с R# 4 с CR 3, хотя IDETools уже перешагнули 9-ую версию. К тому же сам CR без R! позволяет только ускорить написание с помощью IntelliSense, темплейтов и шорткодов и вообщем то не призван подсвечивать ошибки и перерабатывать написанный код.

                                      Допустим ll + пробел создаст Linked List, а lln + пробел даст Linked List Node. К тому же CR использует IntelliSense для того, чтобы выбрать правильный темплейт в зависимости от того где в коде у вы находитесь и что скопированно в буфер. На пример u + пробел на строке с not disposed объектом вложит этот объект в using, а на пустой строке тот же шорткат создаст uint.
                                    +2
                                    Пару слов буквально про сильные стороны.

                                    Ну я так же знаком и с Visual Assist X.

                                    Самый важный плюс VAX умное автодополнение, порой код пишется почти одной кнопкой Enter, так как он берет за шаблоны строчки «вокруг».

                                    У Решарпера великолепный Smart IntelliSense. Плюс нормальная работа с LINQ и анонимными типами.

                                    У IDETools мне нравится подсветка синтаксиса, отрисовка изменений при рефаторинге.

                                    В итоге остановился на установке DXCore + набора плагинов и на Resharper-е.
                                      0
                                      А какой набор плагинов для DXCore, если не секрет?
                                      И как вы подружили решарпер и DXCore — не появился конфликт горячих клавиш?
                            0
                            Игрался с календарём сейчас и чисто случайно выяснилось, что окончание траила IDETool лечится переводом системной даты на месяц назад.

                            Only users with full accounts can post comments. Log in, please.