Доступна для скачивания ранняя версия ReSharper 9
Как многие могли заметить, в мире .NET сейчас происходят значительные изменения. Появление Roslyn, C# 6, ASP.NET vNext, Visual Studio »14» и других технологий вдохновляют ReSharper на новые шаги в своем развитии и поддержке различных языков и платформ.В связи с этим мы приглашаем всех присоединиться к программе раннего доступа для ReSharper 9. В этом посте мы обсудим основные фичи новой версии.
TL; DR в ReSharper 9 добавлена поддержка VS »14», C# 6 и регулярных выражений, улучшена поддержка JS/TS и глобальных изменений (bulk fixes), добавлен новый редактор для форматирования кода и новые возможности навигации, а также все наши .NET продукты переезжают на новую общую платформу.
Поддержка C# 6Мы уже публиковали обзорный блог-пост о поддержке C# 6, так что вот список тех вещей, которые на текущий момент поддерживает ReSharper 9 (мы помним, что C# 6 еще не зарелизился, и конечный фичесет пока что тяжело угадать): Поддержка оператора условного доступа (?.) дает нам возможность писать цепные null-проверки (также известные как монада Maybe). ReSharper не только знаком с этой новой конструкцией, но также поможет вам безболезненно обновить ваш код, заменив или удалив ненужные проверки на null.
Поддержка членов класса, написанных через выражения (expression-bodied members) упрощает процесс создания элементов, основанных на простых однострочных выражениях. Решарпер предоставляет возможность использовать этот новый конструкт, а также поможет трансформировать большие куски уже написанного кода с учетом этой новой парадигмы.
Автосвойства получили новые возможности по инициализации, а также возможность автоматически удалять приватные сеттеры, и тем самым получать действительно немутабельные автосвойства.
Поддержка статических using-ов (наконец-то можно писать Sin вместо Math.Sin), фильтров для исключений и других новых конструкций C# 6.
Глобальные действия и Fix in Scope
В ReSharper 9 расширен механизм глобальных изменений (Fix in Scope), для того, чтобы обширные изменения больших объемов кода проходили легче и проще. В число улучшений вошли: Bulk Import (механизм массового импорта) гарантирует, что импортировав большой кусок кода, ReSharper пройдется по вставленному коду и добавит нужные директивы импорта для всех типов и элементов — включая методы расширения.
Redundant code removal (удаление лишнего кода) теперь существует как отдельная опция, так что если вы стоите курсором на лишнем квалификаторе this., с этого места можно как удалить квалификаторы this. глобально (в рамках файла/папки/проекта/решения), так и удалить все лишние элементы (не только this., но и лишние using директивы, и т.п.) в аналогичных диапазонах применения.
Глобальные изменения для имен позволяют вам быстро импортировать чужой код и массово изменить стили именования методов, полей и т.д. по своему вкусу.
Move to File/Namespace (механизм перемещения кода в другой файл или namespace) теперь гарантирует правильную обработку файлов, содержащих несколько объявлений классов.
Удаление регионов — еще одно глобальное действие, которое дает возможность удалить все использования регионов в рамках файла, проекта или solution.
Улучшения в навигации
Изменения в навигации включают в себя: Универсальный Go to Action — теперь шорткат Alt+Enter предоставляет список общих действий, а также возможность поиска по всем action’ам.
Navigate to Exposing API — новая опция навигации, которая позволяет искать все методы, способные вернуть определенный тип.
Assembly Explorer теперь еще более тесно интегрирован с Решарпером. Он получил собственные возможности навигации в меню Navigate To, а также в студийном Solution Explorer.
Механизм Go to Type теперь помогает при навигации на дженериках, так что если вы стоите на переменной типа List
И еще несколько улучшений Вот еще несколько новых или улучшенных фич: Поддержка VS 14 Возможность частичного отключения подсистем ReSharper«a — теперь отключать поддержку разных функций R# стало проще. Из тех возможностей, что можно отключить — поддержка unit-тестирования, MsBuild/NAnt, CSS, JavaScript, TypeScript, а также Internationalization. Отладка декомпилированного кода теперь доступна и в ReSharper. Конечно, для этих целей можно пользоваться нашим бесплатным декомпилятором dotPeek. Архитектурный инструментарий ReSharper«a теперь поддерживает возможность генерации диаграмм зависимости между типами. Эта форма визуализации помогает понять, какой код зависит от определенного типа, и от чего зависит сам тип. Эта диаграмма интегрирована и с другими инструментами R#. В этом посте я описал основные нововведения, доступные в первой ЕАР сборке — мы, конечно же, будем добавлять новые фичи по мере их готовности. А пока приглашаем всех желающих скачать EAP и самим оценить новые возможности.Нам интересно ваше мнение, поэтому не стесняйтесь писать нам о своих наблюдениях (тут, или в наш баг трекер). Спасибо! ■