Rider программа для программирования
Хорошему специалисту нужен хороший инструмент. Это правило касается и разработчиков ПО. Программисты могут бесконечно спорить о преимуществах разных IDE, но вряд ли кто-то скажет, что предпочитает писать весь код в текстовом редакторе.
Новичков может отпугнуть стоимость набора профессиональных инструментов для разработки, ведь речь идёт о сотнях и даже тысячах долларов. В этой статье мы расскажем, как легально сэкономить эти деньги.
Некоторые компании выдают лицензионное ПО бесплатно — такая возможность доступна студентам и иногда преподавателям. Самые популярные инструменты мы собрали в этой статье. О бесплатных альтернативах дорогостоящего ПО, таких как Octave, мы здесь рассказывать не будем — это тема для отдельного материала.
Примечание Когда мы говорим «студенты», подразумеваем также и школьников: как правило, нужно быть не младше 13 лет и учиться в лицензированном учебном учреждении. Для оформления большинства подписок потребуется ваш студенческий/преподавательский адрес электронной почты, удостоверение ISIC или ITIC. Чтобы не повторяться в каждом пункте, мы расскажем об этих популярных способах верификации в конце подборки.
Навигация
JetBrains
Что предоставляют?
IntelliJ IDEA — одна из самых популярных разработок компании, IDE для JVM. Community версия этой среды разработки доступна и бесплатно. В версии Ultimate компания предлагает такие дополнения:
- интеграцию системы управления версиями Perforce;
- поддержку JavaScript и TypeScript;
- поддержку распространённых фреймворков и технологий, таких как Hibernate, Guice, FreeMarker, Velocity, Thymeleaf, Java EE, Spring, GWT, Vaadin, Play и других;
- инструменты для работы с базами данных и SQL;
- обнаружение повторяющихся участков кода.
Кроме этих двух больших продуктов, JetBrains предлагает студентам и преподавателям такие IDE:
Как получить?
Способ 1. Студенческий/преподавательский адрес электронной почты. Помимо него потребуется сообщить статус (студент/преподаватель), имя и фамилию и страну, в которой находится учебное заведение. У студентов спросят про возраст, для оформления подписки нужно достичь 13 лет. На преподавателей это требование, видимо, не распространяется.
Способ 2. Обладатели удостоверения ISIC/ITIC могут ввести данные своей карточки — серийный номер и отображённое на карте имя. В таком случае ученический адрес личной электронной почты не требуется, подойдёт любой.
Способ 3. Можно попробовать предоставить официальный документ, подтверждающий ваш статус — например, студенческий билет. Нужно будет ввести имя и фамилию, адрес электронной почты (любой, принадлежащий вам), название учебного заведения, его официальный веб-сайт и страну размещения. Также надо подтвердить, что учебное заведение предоставляет услуги среднего или высшего образования и выдаёт дипломы государственного образца, а вы участвуете в образовательной программе длительностью от одного года. Скан или фотография документа должны быть не больше 4 мегабайт, содержать ваше имя, название образовательного учреждения, указания на срок действия документа. Надписи должны быть хорошо читаемы и доступны для перевода с помощью Google Translate. Вместо изображения документа можно предоставить ссылку на информацию.
Способ 4. Если вы оформили подписку на GitHub Student Developer Pack, можно подтвердить свой статус с помощью аккаунта GitHub. Вас автоматически переведут с сайта JetBrains на форму авторизации.
Срок подписки?
Лицензия предоставляется на один год и её можно продлевать — вам пришлют напоминание по электронной почте. Выпускники получают скидку 25% на покупку ПО, входящего в пакет. Скидка действительна в течение года после выпуска.
GitHub
В разделе выше мы упомянули GitHub Student Developer Pack, поговорим о нём подробнее. Студенты могут бесплатно получить почти две дюжины инструментов.
На прошлой неделе, после релизов версии 2020.1, для всех наших десктопных продуктов случилось еще одно большое событие — мы открыли публичный доступ к пробной версии Rider for Unreal Engine. На данный момент это отдельный продукт, версия нашей среды для разработки Rider, но с поддержкой C++ и Unreal Engine.
Так, стоп! Среда разработки на C++. Еще одна?! Давайте разбираться по порядку.
Начнем с небольшой истории. Несколько лет назад мы собрали всех, кто в JetBrains делает инструменты для C++, чтобы обсудить, насколько пользователям тяжело ориентироваться в многообразии наших предложений. Ведь есть и CLion, и ReSharper C++, и поддержка для C++ в AppCode. Через несколько часов обсуждений пришли к таким выводам:
- Хотя универсальный инструмент и выглядит заманчиво, при расширении таргетинга, увеличении количества интегрированных сторонних инструментов, поддерживаемых случаев использования становится очень сложно искать баланс между удобством, интуитивностью интерфейса и обилием возможностей.
- Мир разработки ПО уже давно не имеет четких границ по языкам разработки. Многие проекты мультиязыковые. Важнее — область применения ПО и технологии, которые в ней используются.
Заходя ко многим нашим пользователям из области разработки игр, мы заметили, что у многих студий нет четкого разделения — делать игры только на Unity или только на Unreal Engine. Сегодня у них игра на одной технологии, а завтра — на другой, или одна команда использует Unreal Engine, а другая Unity или вообще свой кастомный движок. При этом понятно, что разработчикам и компаниям в целом очень не нравится “прыгать” между разными средами разработки. И вот тут-то мы и решили, что, если мы смогли сделать Rider успешным для Unity, то мы можем пойти дальше и сделать его успешным в целом для мира игровой разработки. Так родилась идея Rider как универсальной среды разработки для Game Dev.
Из чего состоит Rider for Unreal Engine
Дальнейшее развитие событий довольно очевидно для тех, кто знаком с технологией, на которой построен Rider. Rider состоит из front-end части на базе платформы IntelliJ и back-end части на базе ReSharper. Все языковая поддержка работает на back-end. Поэтому мы просто подключили уже имеющуюся в ReSharper C++ поддержку C++ и Unreal Engine к Rider по той же технологии. Из специфичного пришлось дополнительно реализовать:
- Плагин для выбора Rider как среды разработки в Unreal Editor (Rider Source Code Access) для версий движка 4.22-4.24. Начиная с версии 4.25 эта функциональность уже будет включена в сам движок UE. UnrealLink для Rider и RiderLink для Unreal Editor, которые обеспечивают интеграцию с Blueprints в Rider и в целом отвечают за коммуникацию между Rider и Unreal Editor.
- Отладчик.
Отладчик на основе LLDB
Значительная часть разработки игр происходит сейчас на платформе Windows и в рамках тулчейна от Microsoft. Если посмотреть на то, какие инструменты для отладки существуют для кода, который скомпилирован с помощью компилятора Microsoft Visual C++, то мы увидим:
- В своих собственных инструментах Microsoft использует инструменты отладки на основе vsdebugeng.dll. Лицензия не позволяет использовать эти инструменты в сторонних средах разработки.
- CDB и WinDbg используют dbgeng.dll. И именно этот вариант мы изначально пробовали для написания своего отладчика для MS стека. Но столкнулись с плохой производительностью на больших бинарных файлах с большим количеством файлов символов (.pdb), и, что еще более важно, с частым аварийным завершением приложения.
- Существовали также наработки в LLVM-сообществе по поддержке отладки для тулчейна Visual Studio с помощью LLDB. Ими мы и воспользовались, и буквально года за полтора написали первую версию в общем-то работающего отладчика. Он включает начальную и еще пока сырую поддержку формата NatVis (такие MS-специфичные pretty printers). При этом сейчас Rider for Unreal Engine сам находит NatVis-ы в проекте на Unreal Engine и подгружает их отладчику. Этот же отладчик мы сейчас используем в CLion для тулчейна Visual Studio (он включен по умолчанию в этом случае начиная с версии 2020.1).
Поддержка C++
Повторю — вся функциональность языковой поддержки из ReSharper C++ теперь доступна в Rider for Unreal Engine Preview. Она включает:
В этом году мы начали работать над поддержкой языка для написания шейдеров HLSL в ReSharper C++, и она сразу попала и в раннее превью Rider for Unreal Engine. Поддержка включает в себя подсветку синтаксиса, тултипы с документацией, подсказки имен параметров и типов, действия навигации, автодополнение, поддержка виртуальных путей файлов, и даже рефакторинги.
И наконец, если говорить о поддержке языковых диалектов, Rider for Unreal Engine понимает диалекты файлов .uproject/.uplugin, предоставляя опции автодополнения и тултипов документации.
Интеграция с Blueprints
Файлы Blueprints представляют собой данные в бинарном формате, редактирование которых происходит как правило в визуальном редакторе внутри Unreal Editor. Объекты в этих файлах наследуются от классов на C++, переопределяют проперти из C++ части игры. И вот тут Rider for Unreal Engine является той уникальной средой разработки, которая зачитывает все необходимые файлы Blueprints и показывает эти связи в редакторе кода на C++:
При этом, если поменять, например, значение свойства в редакторе Unreal Engine и сохранить asset, то значение тут же автоматически обновится и в Rider (у нас повешены watchers на изменение asset-файлов):
Без сохранения файлов, мы надеемся, это тоже скоро заработает (подготовка к этому сейчас ведется в плагине UnrealLink).
Вызов поиска использований (Find usages) включает не только использования в коде на C++, но и в файлах Blueprints. Двойной клик по таким использованиям открывает Unreal Editor.
Понимание механизма рефлексии UE4
Рефлексия в Unreal Engine реализована с помощью специальных макросов (UCLASS, UFUNCTION, UPROPERTY и др). Rider знает, что параметры таких макросов — это не просто текст. Парсер языка C++ в ReSharper C++ и Rider умеет действительно “понимать” значение этих макросов, даже не запуская Unreal Header Build tool (то есть еще до того, как реально сгенерируется содержимое файлов .generated.h).
Возвращаясь к механизму рефлексии, стоит сказать, что спецификаторы рефлексии — это в ReSharper C++ и Rider тоже не просто текст. Для них есть автодополнение и подсказки документации:
Подсказки документации доступны и для самих макросов рефлексии.
А еще анализатор кода проверяет использование макросов рефлексии и указывает на связанные с этим ошибки. Например:
- Классы UCLASS должны быть публично унаследованы от UObject или любого его класса наследника. При этом такой родитель должнен быть ровно один.
- Спецификаторы UCLASS должны быть использованы для классов, USTRUCT – для структур.
- Классы UE4 не могут быть объявлены внутри других классов.
- Объекты, сохраненные в полях, не отмеченных UPROPERTY, могут быть собраны сборщиком мусора в любое время.
Поддержка вызовов удаленных процедур (RPC) в действиях навигации и генерации кода
Если рассматривать вызовы удаленных процедур с точки зрения обычного парсера C++, то довольно быстро можно заметить неосведомленность парсера о том, что объявлению функции может соответствовать несколько имлементаций с отличающимися именами (например, суффиксами _Validate и _Implementation ). В ReSharper C++/Rider мы обучили парсер идентифицировать RPC по спецификаторам Client , Server и NetMulticast в параметрах макроса UFUNCTION . Благодаря этому:
- В навигации предлагаются все необходимые варианты имплементации функции.
- Генерация кода умеет создавать функции с суффиксами _Validate и _Implementation или только те из них, которые отсутствуют:
- Рефакторинги кода Rename и Change Signature обновят все необходимые функции и тем самым сохранят ваш код в корректном состоянии.
Знание правил именования Unreal Engine 4
ReSharper C++ и Rider осведомлены об официальных правилах именования в коде Unreal Engine. Эти правила используются средой разработки во всех действиях по работе с кодом, вроде генерации getters и setters или рефакторинге добавления переменной (Introduce Variable). А главное, что существует проверка кода Inconsistent UE4 naming inspections и соответствующее быстрое исправление, которое вызовет рефакторинг Rename и переименует все использования имени, не соответствующего правилам.
Производительность редактора
Мы довольно давно делаем поддержку разработки на Unreal Engine в ReSharper C++ и, конечно, видим, что производительность редактора является основной жалобой. Rider в силу особенностей архитектуры избавлен от многих проблем с производительностью, которые присутствуют в ReSharper (там они есть отчасти из-за ограничений студии на 32-разрядные процессы, в рамках которых происходит работа ReSharper, но не только).
Помимо этого, мы специально настраиваем работу IDE для улучшения производительности на Unreal Engine. Мы сначала индексируем код пользовательской игры, мгновенно включая все умные действия редактора на пользовательском коде. А индексация уже кода самого движка происходит после этого в фоне. Есть и еще несколько дополнительных опций по управлению индексацией:
В результате, те, кто уже начал пользоваться Rider for Unreal Engine, отзываются о производительности редактора очень положительно! А мы уверены, что можем сделать еще лучше.
Видеодемо и еще раз о том, как получить доступ
Эти и многие другие возможности можно посмотреть в действии в демо-ролике (на английском) от нашего девелопер-адвоката:
[Плагин] Как использовать JetBrains Rider для лучшей разработки программ Unity
1. Введение
Во-вторых, установить и взломать
Ссылка для скачивания:
PS: Вы можете напрямую установить следующий пакет на официальном сайте, а затем взломать следующий пакет.
Взломать метод:
Под виндой
- После завершения установки не запускайте
- Войдите в каталог Bin и добавьте абзац после файла .vmoptions: «-javaagent: path / JetbrainsCrack-2.7.jar»
Этот путь является абсолютным местоположением пакета кряков JetbrainsCrack-2.7.jar - Откройте программное обеспечение, выберите «Не импортировать настройки» и нажмите «ОК».
- Нажмите Активировать, выберите Код активации и введите код регистрации ниже.
Тогда вы обнаружите, что активация прошла успешно до 2099 года.
Трещина прошла успешно
Под линуксом
Настройки шрифта
Настройки интерфейса
3. Введение
Единство начинается легко
Редактор управления Unity
Благодаря встроенной двусторонней связи вы можете входить и выходить из режима Play, приостанавливать и выполнять покадрово, не покидая Rider! Панель инструментов содержит кнопки просмотра игры Play, Pause и Step, которые соответствуют тем же кнопкам в редакторе Unity соответственно Кнопки в управлении одинаковы. Маленький значок Unity в строке состояния покажет, подключен ли редактор Unity, обновляется или находится в режиме воспроизведения. Любые изменения, когда Rider находится в режиме редактирования, будут немедленно отправлены в Unity Editor.
Запустите тесты Unity
Rider позволяет запускать тесты, которые взаимодействуют с API Unity, которые могут выполняться кадр за кадром, со всеми операциями в Rider. Конечно, вы также можете просматривать результаты специфичных для Unity тестов, как и обычные тесты - вы можете фильтровать результаты и щелкать по стеку трассировки для навигации по коду.
Логи консоли Unity
Подсказка по коду
Например: Rider предупредит вас не использовать неэффективные сравнения атрибутов строк и тегов и предоставит быстрое решение переписать его для вызова CompareTag.
Аналогично, если вы попытаетесь использовать new в качестве ключевого слова для создания нового экземпляра производного класса MonoBehaviour или ScriptableObject, Rider выдаст предупреждение. Просто нажмите Alt + Enter, и Rider может решить эту проблему для вас.
Простая отладка Unity
С помощью Rider вы даже можете отлаживать код без отладочной информации. Rider автоматически декомпилирует запущенные внешние библиотеки, позволяя отлаживать декомпилированный код, выполнять функции, устанавливать точки останова, а также просматривать и устанавливать локальные и переменные.
Поддержка шейдеров
Rider также добавил поддержку файлов .shader, предоставляя такие функции, как подсветка синтаксиса, свертывание кода и сопоставление скобок. Выделите синтаксическую ошибку детали ShaderLab, добавьте todo (комментарий к списку дел) в To Do Explorer (обозреватель задач), выделите атрибут color и предоставьте перо для выбора цвета для редактирования. Во всем файле (включая блоки Cg / HLSL) можно использовать простое завершение слов.
Просмотр документации Unity
Райдер отображает внешнюю документацию символов Unity. Вы можете щелкнуть значок (Ctrl + Shift + F1, если используется сопоставление клавиатуры Visual Studio) во всплывающем окне «Быстрая документация» или напрямую использовать операцию «Просмотр внешней документации» (Shift + F1), чтобы просмотреть локальную Установленная документация или документация, размещенная в Unity (если не доступна локально).
черты
- Анализ кода и быстрые исправления
Rider обеспечивает более 2500 активных проверок кода и более 1000 автоматических быстрых исправлений для решения обнаруженных проблем по отдельности или в пакетном режиме. Анализ ошибок всего решения будет отслеживать проблемы с кодом и сообщать о любых возможных ошибках, даже неоткрытых файлах. - Кодовая навигация
Вы можете быстро перейти к любому файлу, типу или элементу в базе кода, а также найти настройки и операции. Найти назначение любого символа или перейти от символа к базовому или производному символу, методу расширения или реализации. - реконструкция
Rider обеспечивает более 50 глобальных автоматических рефакторингов, а также предоставляет более 450 небольших контекстных операций для локального преобразования кода. Переименовывайте, извлекайте методы, интерфейсы и классы, перемещайте и копируйте типы, используйте альтернативный синтаксис и многое другое! - Больше контента
также обеспечивает поддержку модульного тестирования, очистку кода, интегрированный контроль версий, локальную историю, сохраненную между отправленными кодами, поддержку NuGet, инструменты базы данных и т. д. Вы можете легко расширить Rider с помощью поддержки Markdown для таких плагинов, как привязка клавиатуры VIM.
Четыре, использовать
Меню редактора Rider: Run → «Присоединить к локальному процессу» Затем выберите текущий запущенный процесс Unity.
Run → “EditConfigurations” → Add new “Mono remote” configuration to seteverything manually.
Это все еще очень удобно.
На данный момент у все большего количества программистов, возникает желание, по тем или иным причинам, найти альтернативу Microsoft Visual Studio. И чаще всего, их выбор падает на программное обеспечение Rider от компании JetBrains. Почему команды разработчиков переключаются с Visual Studio на Rider, каковы его преимущества? Мы подготовили шесть причин почему Rider лучше чем Visual Studio ознакомившись с которыми, вы можете принять решение о переходе на JetBrains Rider.
1) Первое, Rider в отличии от Visual Studio(VS), не зациклился на 32-битных процессах. Даже если у Rider есть процессы, доступные только для back-end, например, SWEA (Solution-Wide Analysis), создание кода будет проходить гладко без каких либо пауз или сбоев. И как отмечает большинство пользователей работавших с Visual Studio и Rider, последний работает гораздо стабильней и быстрее чем VS.
2) JetBrains Rider является кроссплатформенным, он может работать на платформах Windows, Mac или Linux с одинаковой функциональностью и стабильностью. Visual Studio работает преимущественно на платформе Windows. И если есть необходимость перейти на Linux или Mac, то необходимо будет приобретать дополнительные решения: Visual Studio Code (для Linux) и Visual Studio для Mac. Главным недостатком является то что версии Visual Studio для Mac и Linux имеют разный функционал и внешний вид к которому придётся привыкать. Rider, как внешне так и по своим функциям, одинаков на всех платформах, поэтому, если пользователь решит переключиться с Windows на Mac или Linux, он получит уже привычную среду разработки и не будет тратить драгоценное время на обучение.
4) Стоит также упомянуть о том с какими инструментами от JetBrains ранее работали пользователи. Те из них кто не по наслышке знаком с IntelliJ IDEA, WebStorm, DataGrip или другими средами гораздо быстрее перейдут на Rider чем пользователи, работавшие только с Visual Studio.
5) У Rider есть огромное количество функций, унаследованных от платформы IntelliJ:
Поддержка систем контроля версий: помимо Git и Mercurial, Rider работает с CVS и Subversion. Интеграция VSTS доступна через специальный плагин, поддерживаемый компанией Microsoft.
Rider (с помошью DataGrip) поддерживает подключение к базам данных и SQL. Пользователям Visual Studio в большинстве случаев нужно будет использовать ODBC.
Поддержка возможностей для front-end разработки с использованием JavaScript, TypeScript, CSS, HTML, LESS, Sass и т. д. Доступна в Rider благодаря тому, что продукт включает в своем составе, функции специализированного ПО для веб-разработки – JetBrains WebStorm.
В среде разработки Rider также присутствует возможность интеграции со многими трекерами проблем, такими как Team Foundation Server и Visual Studio Team Services. Также он поддерживает JIRA Software, YouTrack и другие решения, а также большое количество высококачественных специализированных плагинов, разработанных для IntelliJ и ReSharper, большинство их которых бесплатные. Visual Studio тоже поддерживает различные плагины, но бесплатными из них являются еденицы.
6) И наконец, последнее преимущество: решения и проекты, с которыми работает JetBrains Rider, полностью совместимы с Visual Studio, и не используют проприетарные форматы. Стоит ли перейти на использование Rider на постоянной основе? Конечно! Но окончательный выбор, всегда остается за вами.
Читайте также: