Вкратце о каждом из продуктовых обновлений:
- ReSharper Ultimate 10 — ReSharper Build для повышения эффективности сборки, непрерывное тестирование, профилирование со шкалой времени внутри Visual Studio, больше средств контроля за стилем кода, поддержка NUnit 3.0, полная поддержка C99, новые проверки, исправления и рефакторинги для C++, улучшенная поддержка JavaScript и TypeScript (в том числе регулярные выражения и синтаксис JSX/TSX), декомпиляция в IL-код.
- IntelliJ IDEA 15 — новые возможности в отладчике, улучшенный пользовательский интерфейс, новые встроенные инструменты и интеграции, дополнительно улучшенная помощь при написании кода, поддержка Kotlin «из коробки».
- PhpStorm 10 — улучшенная поддержка языка PHP, повышенное удобство редактирования, отладки, анализа кода и многие другие мощные возможности.
- WebStorm 11 — поддержка TypeScript 1.6, Flow и Angular 2, интеграция с Yeoman и другие усовершенствования по всем направлениям.
- PyCharm 5 — добавлен ряд классных возможностей, в том числе полная поддержка Python 3.5, интеграция с Docker, визуализация параллелизма потоков и многое другое.
- RubyMine 8 — удобное управление gems благодаря gemset-ам Rbenv и улучшениям Bundler, повышение скорости отладки и многое другое.
- AppCode 3.3 — поддержка Xcode 7, обобщенных типов Objective-C и многих особенностей Swift 2.
- CLion 1.2 — поддержка Google Test, более эффективная работа с CMake, повышение производительности отладчика C++, улучшенная работа с VCS и многое другое.
- 0xDBE 1.0 Preview — наша IDE для баз данных почти готова. Попробуйте ее и поделитесь вашими впечатлениями — это очень поможет нам довести ее “до кондиции” к выпуску в конце этого года.
Начиная с сегодняшнего дня, все перечисленные продукты предоставляются только по новой модели лицензирования, то есть по подписке.
Если у вас есть действующая подписка на обновления, вам необязательно переходить на новую модель немедленно. Вы можете свободно пользоваться обновлениями продуктов, пока не истечет срок действия подписки на обновления. А после этого вы сможете перейти на новую модель и воспользоваться нашим специальным предложением для существующих клиентов.
Кроме того, JetBrains Toolbox предоставляет важный новый вариант лицензирования — особый план «Все продукты», позволяющий использовать любые из перечисленных выше продуктов в зависимости от текущей необходимости.
Ознакомиться с ценами и условиями вы можете по адресу jetbrains.com/store.
В течение этой недели мы будем публиковать отдельные подробные статьи о вышеупомянутых релизах.
Ваша команда JetBrains.
Комментарии (200)
drbald
02.11.2015 20:09Начиная с сегодняшнего дня, все перечисленные продукты предоставляются только по новой модели лицензирования, то есть по подписке.
Если у вас есть действующая подписка на обновления, вам необязательно переходить на новую модель немедленно. Вы можете свободно пользоваться обновлениями продуктов, пока не истечет срок действия подписки на обновления. А после этого вы сможете перейти на новую модель и воспользоваться нашим специальным предложением для существующих клиентов.
Означает ли это, что, если у меня сейчас есть подписка (по старой модели), то я смогу пользоваться 10-й версией только до окончания срока подписки, а потом всё откатится до 9-ки, если не перейти на новую модель?dovzhikova
02.11.2015 20:17+3Не совсем так, если у Вас сейчас есть активная подписка, то Вы сможете пользоваться последней версией, выпущенной до окончания этой подписки сколь угодно долго. Однако, если Вы захотите пользоваться версией, выпущенной уже после того, как текущая подписка истечет, то это можно будет сделать, перейдя на новую модель.
drbald
02.11.2015 20:23+1Спасибо, понял.
Фраза «предоставляются только по новой модели лицензирования» означает, новые пользователи не смогут их купить по старому типу подписки. Но, если подписка уже, есть, то всё в порядке: эта версия доступна и ничего не откатится.
putnik
02.11.2015 21:07Персональная лицензия позволяет использовать две копии одновременно (десктоп и ноут)?
Starche
02.11.2015 21:23+2Насколько я знаю, лишь бы один ключ не был одновременно запущен в одной локальной сети более чем с одного девайса.
anastasiak2512
02.11.2015 21:26+1Для персоналок такое ограничение снято. Да и раньше эта проблема не возникала при использовании JetBrains account.
Daffodil
02.11.2015 21:15+4Дорого, продукты сырые. Покупал лицензию на Clion, оказалось что по качеству она пока сильно проигрывает бесплатным IDE (Я сравниваю с Netbeans и Eclipse). Баги самые разнообразные, от ошибок парсера раскрашивающего проект в красный цвет, до неработающего дебаггера на некоторых linux системах. Нет поддержки элементарных вещей, вроде Makefile-проектов (хотя интеграция с CMake очень радует).
Двойственные чувства: с одной стороны хочется поддержать отечественного производителя, а с другой приходится быть beta-тестером за свои же деньги.anastasiak2512
02.11.2015 21:23+1А можно подробнее про ошибки парсера и дебаггер? Или все в трекере заведено?
Makefiles планируем, но чуть позже. Изначальный выбор пал на CMake, как первую проектную модель (и по нашим исследованиям самую популярную для кросс-платформенных проектов). Остальные — чуть позже. Но тоже будут)Daffodil
02.11.2015 21:48Да, всё в трекере. Оценка чисто субъективная: у всех IDE есть свои проблемы, возможно я просто привык к проблемам Netbeans/Eclipse и поэтому их не замечаю.
По моему опыту в небольших проектах рукописные Makefile используют намного чаще чем CMake. Думаю IDE должна все-таки иметь встроенную проектную модель, независимую от билд-системы. А так получается что Clion только для CMake-проектов, остальное делаем в Netbeans (хотя он тоже CMake поддерживает).
Для примера, Netbeans для меня сейчас полностью закрывает разработку для встроенных систем: От написания linux-драйверов ( после небольшой настройки работает практически всё: навигация по исходникам linux-kernel, сборка, отладка на эмуляторе и прототипной плате ) до разработки графического интерфейса на Qt.anastasiak2512
02.11.2015 22:42+1Спасибо за подробный ответ.
Мы в начале долго думали выбирали между «своей» проектной моделью и какой-то известной. Остановились на CMake. Причины вот тут пытались описать (на английском). Но, конечно, Makefiles следующие на очереди.gurinderu
03.11.2015 15:44Анастасия, а примерно в каким приоритетах стоит поддержка c11?
Уже полтора года прошло, а воз и ныне там https://youtrack.jetbrains.com/issue/CPP-116anastasiak2512
03.11.2015 17:01Вы правы в том, что мы давно не смотрели в эту сторону. Пока что более приоритетными кажутся доделки по C++11 и общие доделки по C++. Еще раз глянем в самый ближайший раз, как будем планировать новый релиз, но пока не могу ничего обещать. Спасибо за напоминание)
gurinderu
03.11.2015 17:51Буду рад, если кто-нибудь из команды отпишется в тикете после вынесения решения.
anastasiak2512
03.11.2015 17:53Мы стараемся публиковать roadmap ближайшего релиза здесь.
Может, вы сможете поделиться, что именно из С11 самое необходимое и нужно сделать в первую очередь? Можно прямо в тикете.
merhalak
03.11.2015 09:14Продукты JetBrains распространяются, учитывая EAR. Похоже, это совсем не отечественная контора, не так ли? (EAR указан в лицензионном соглашении).
Caravus
02.11.2015 21:18-7Я долго думал зачем нужен новый тип лицензии, тут вдруг понял:
http://imgur.com/eLgEZpV
FanKiLL
02.11.2015 21:25-1Раньше юные падаваны и школьники могли хотя бы с привыкать к вашей среде пока в универ не пойдут или на работу. Теперь им это уже не светит. Хотя персональные лицензии и не так дороги. Но те кто для себя использовал на халяву и не хотел/мог платить раньше, перейдут на что то ещё.
А перфекционистам вообще беда, я например привых что Idea у меня для java и больше я туда ничего из плагинов для языков не ставлю. WebStorm понятно js, css + плагин для GO. RubyMine для рельсов.
Теперь придется раскошелится на 3 продукта, ну или нашпиговать idea плагинами.artspb
02.11.2015 21:45+1Теперь придется раскошелится на 3 продукта, ну или нашпиговать idea плагинами.
Почему бы не обратить внимание на «Все продукты»?FanKiLL
02.11.2015 21:53Примерно на 90 басков дороже выходит. А PyCharm, CLion, PHPStorm мне точно не понадобятся, не говоря уже о AppCode.
А если только Idea взять и нашпиговать плагинами и не болеть хернеё как я, то на все 190. Про цены для компаний я молчу, с компаний надо драть и проверять если они работают под лицензией. А вот частники наоборот подсаживались пока обучались, или не попадут на работу, где и скажут хочу Idea или PHPStorm.artspb
02.11.2015 22:04+1Поделитесь, а как Вы считали? У меня вот что получилось. Предположим, Вам нужны IDEA, RubyMine и WebStorm.
У Вас есть лицензия на все три продукта: 89 + 53 + 35 = 177. Все продукты стоят 199, разница — 22 не в Вашу пользу.
У Вас нет ни одной лицензии: 149 + 89 + 59 = 297. Все продукты стоят 249, разница — 48 в Вашу пользу.
Получается, что если у Вас уже есть лицензии на все 3 продукта, то да, Вы теряете $22. Во всех остальных случаях (когда лицензии у Вас есть только на некоторые из продуктов или вообще нет) набором брать выгоднее.
AlexP11223
02.11.2015 22:56+5Что-то не очень понял каким образом раньше «юные падаваны и школьники» могли, и что для них изменилось.
FanKiLL
02.11.2015 23:04-11Раньше они запускали keygen после бесплатных 30 дней и жили спокойно. Теперь только по подписке, ключ будет проверятся на сервере JetBrains и если нет записи об ключе, попался.
Но думаю скоро найдутся умельцы и с заменой в Hosts можно будет всё активировать и всё будет как раньше. Или кейгены будут идти с втроеным мини сервером который заменит сам Host, ответит что ключ правильный и всё.
Если таким образом обходили защиту игровых серверов и прочего то и тут смогут.gorohoroh
03.11.2015 00:16+20Есть мнение, что юным школьникам и студентам полагается бесплатная лицензия на все.
Есть также другое мнение, согласно которому использовать keygen-ы западло.FanKiLL
03.11.2015 00:24-10В компании западло и противозаконно.
Для личного использования Иваном из Самары или Новосибирска, с ограниченным бюджетом семейным, почему бы и нет. Студентам да полагается. Но полностью не вкурсе, помоему не все учебные заведения выдают такую корочку или ещё там какая то преграда, что по этой программе не все могли получить, что хотели.gorohoroh
03.11.2015 00:31+2Чтобы студенту (или преподавателю, кстати) получить лицензию по этой программе, достаточно зарегистрироваться с e-mail-ом в домене его ВУЗа (или ISIC-ом). Вроде бы это не очень сложно.
123150
03.11.2015 00:53+9Студенту можно просто отправить скан студенческого
Кстати, огромная благодарность им от меня за такой способ
r00tGER
03.11.2015 09:33+2Речь идет о рабочем инструменте. Если инструмент в руках «Иванова из Самары» себя не окупает, зачем его тогда вообще использовать.
Для ограниченного бюджета или не коммерческих проектов есть альтернативные инструменты, либо Community Edition.
dom1n1k
03.11.2015 02:41То есть без интернет-соединения оно не фунциклирует что ли?
anastasiak2512
03.11.2015 11:27+3Функционирует. Проверяет лицензию на сервере время от времени. Расстраивается только, если нет подтверждения в течение месяца. При этом для организаций есть лицензионный сервер, который можно поставить, а для индивидуальных лицензий — возможность таки получить ключ, если уж совсем никак не доступна сеть.
mukizu
02.11.2015 23:35+9Пардон, а чем юным падаванам и прочим школьникам/бедным студентам не угодила Community Edition? Только не говорите, что ее возможностей не хватает этим категориям граждан.
FanKiLL
02.11.2015 23:39А RubyMine, а WebStorm, PHPStorm в особености. А в Community Edition плагины для этих языков не поставишь.
Уже второй человек спрашивает очевидные вещи. Не заходил сюда год, и не зря.mukizu
03.11.2015 08:08+1Действительно, как-то не ходил по всем их продуктам, почему-то был уверен, что коли есть PyCharm CE, то и остальные должны быть.
justmara
02.11.2015 21:30-8Оу, новые волшебные способы заставить Visual Studio тормозить на любом железе! Всё, как мы любим!
gorohoroh
03.11.2015 00:18+6Тут есть варианты:
1. Сообщить нам, в JetBrains. Мы умеем фиксить тормоза и считаем нужным это делать, если они возникли из-за нас (а тут, поверьте, есть варианты).
2. Никому, кроме хабра, ничего не говорить и не пользоваться, раз тормозит.justmara
03.11.2015 01:19Это тормоза, которые в принципе невозможно победить. Студия обвешивается
свистоперделкамидополнительным функционалом, который дёргается на каждый чих, что-то крутится в фоне, что-то при открытии проекта… В результате отзывчивость UI просто катастрофически проседает (это у меня рабочий i7+32gb+ssd). Я не буду сейчас вспоминать по адский ад, который творился в R#8 (это было давно и с тех пор вы, конечно, многое поменяли/поправили), но в компании есть лицензии, так что я по мере выхода новых версий ставлю их «пощупать» и через неделю сношу с недоумением. Выглядит коряво (ну совсем неродные интерфейсные элементы); редактор кода (в котором проводишь 95% времени) начинает ощутимо тормозить; функционал либо дублирует уже (за эти годы) появившийся в VS из коробки, либо легко заменяется небольшим набором экстеншнов, которые бесплатны и работают в разы быстрее.
Ну т.е. я честно каждый раз делаю попытку понять, почему вокруг каждый второй говорит "без решарпера ваще не могу работать" и не нахожу ответа.
Для меня важно, чтоб не тормозило открытие файлов, чтоб табы переключались быстро, чтоб всякие подсказки типа IntelliSense выскакивали без задержек в секунду и более… Т.е. стабильность и плавность постоянно используемого функционала важнее, чем странный комбайн, который после установки требует несколько дней только на то, чтоб отключить все ненужные функции, выскакивающие где не надо. И ещё и денег за это просит.
Так что мой выбор "не пользоваться".
А вот где, кому и что мне говорить — не вам мне указывать.AlexP11223
03.11.2015 08:14+3Никогда не замечал тормозов при открытии файлов, табов, подсказок, тоже i7+32gb+ssd. В основном только при открытии проекта, иногда после пересборки.
xenohunter
03.11.2015 12:37У меня на работе был i5+8Гб+SSD, и тормозило крайне редко. И то, там проект был весьма большой, огромное количество невалидного кода, каких-то хаков из начала 2000-х. Сейчас на личном ноутбуке (i7+16Гб+SSD) всё летает.
a553
03.11.2015 13:15-1Пфф. У вас видимо проект недостаточно большой. i7 3770k, 16 ГБ, 550 MB/s SSD под проект и систему (2 MLOC, ~40 проектов было загружено) + RAM под кеш решарпера. R# всё ещё адски тормозит, в конкретно этом релизе Code Completion я ждал полторы минуты. :D Приходится огромную часть функциональности R# отключать.
Завидую людям, у которых не тормозит. Потому что у меня так многие симптомы, описанные justmara, вполне повторяются.semmaxim
04.11.2015 13:46+1Разделите проект. Выгружайте неиспользуемые в данный момент проекты.
Не важно, что вы используете. Если солюшн достаточно большой, то он будет тормозить и на совершенно голой студии — с решарпером тормоза просто настанут раньше. Тут нужно качественно менять подход к разработке.a553
04.11.2015 14:07Это он уже разделён и половина проектов выгружена. И нет, студия без решарпера практически не тормозит (на таком-то железе). Разумеется, я могу собрать всё и потом выгрузить все проекты кроме того, над которым работаю. Но это достаточно неудобно.
На самом деле, в решарпере с выключенным Solution-wide analysis тормозят вполне конкретные вещи — это Code Completion/IntelliSense, Find Usages, что угодно в TypeScript коде и ещё несколько багов. Поэтому я эти фичи решарпера стараюсь не использовать. Остальное более-менее компенсируется мощным железом и ожиданием прогрузки проектов (вот тут как раз студия тормозит сама — без решарпера солюшен может минуту открываться).
Так что мне кажется это проблемы конкретно в алгоритмах, используемых в этих фичах. Я уже писал в тех багрепортах про скалирование — студия при любом количестве открытых проектов у меня вполне исправно открывает подсказки до того, как я завершу печатать «read». Решарпер уже на средних проектах за мной сильно не успевает. С Find Usages похожая проблема, видимо вы там делаете текстовый поиск какой-то. Здесь CodeLens references справляется на порядки лучше, что бы там controlflow про них ни говорил.
a553
04.11.2015 14:18+1Кстати, если вы сможете вынести всякие кеши результатов анализа и БД для поиска либо в кеш, либо в отдельный процесс, то это позволит использовать гигабайты свободной оперативной памяти, и ситуация заметно улучшится хотя бы на мощном железе.
У Adobe продуктов такой режим есть — «используй сколько угодно памяти, только будь побыстрее» )
gorohoroh
03.11.2015 15:42+6ОК. Я отчего-то предположил, что вы заинтересованы в решении возникших у вас проблем с решарпером, хотя по факту это не так. Прошу прощения.
narma
03.11.2015 06:56+1Кстати говоря, idea 15 стала быстрее работать по первым ощущениям, nice work!
a553
03.11.2015 13:20+1Ну вот явно ваши тормоза в виде Code Completion фиксить отказались. От безысходности я даже видео о небольшом проекте, в котором не работает Code Completion, записал. Ради интереса, в свежей 10 версии включил R# IntelliSense, Color Identifiers и Enhanced Tooltip (без него тултипы совсем уж неюзабельны). Через 10 секунд печатанья в моём стандартном «большом» проекте Code Completion перестал реагировать, а спустя полторы минуты сделал всё, что от него требовалось, загадив всё напечатанное за эти полторы минуты. Смешно, да грустно.
umputun
02.11.2015 21:36А IDEA 15 для которой нет совместимого с ней питона, это действительно называется «обновленная версия»? Или просто забыли обновить до конца? Или я что-то совсем не так понял? Или теперь стабильные версии это как раньше были EAP?
Я искренне не понимаю, как новая, видимо стабильная версия продукта, может прийти без одного из «встроенных» плагинов.umputun
02.11.2015 21:51поправка самому себе — свежий плагин для питона таки есть, он просто не обновлялся от версии 4.чего.то.там то 5 пока я не переустановил его. Так что все не так плохо как казалось.
leschenko
02.11.2015 22:24Зря я обновился. Как мне теперь откатиться на 9?
В UWP+PCL все стало подчеркнуто красным:
В версии 9.* (не помню в какой именно) был подобный баг, только ссылались на модуль версии 4.0.10.0. В последней из 9.* бага не было. Сейчас все по новой. Опять придется удалять решарпер и ждать, ориентировочно 2 месяца, пока баг не пропадет.
Неужели связка UWP+PCL настолько редкая что ваши тестировщики даже не тестировали ее?gorohoroh
03.11.2015 00:19+5UWP мы фиксили в предрелизных версиях, но, видимо, не дофиксили. Через пару недель будет апдейт, в который, скорее всего, войдут фиксы по этой части.
Извините за потраченное время.FanKiLL
03.11.2015 00:30-2Как вы уважительно отвечаете Евгению и другим простым смертным, прям загляденье...))
Хотя он и написал, что всё нормально уже.gorohoroh
03.11.2015 00:34+5Ну хочется как-то сориентировать человека, какие у нас планы. Все ж не его вина, что на его проектах решарпер ведет себя не вполне адекватно.
leschenko
03.11.2015 01:43Пока потерплю на 9 версии. Все равно с R# никуда не слезу, да и бонусов от 10 версии пока не вижу особых.
Через пару недель попробую еще раз.
kekekeks
04.11.2015 01:59Обычная PCL с Profile7 — те же проблемы.
gorohoroh
04.11.2015 02:04Только в 10, или в 9.2 тоже были? Реквест есть?
kekekeks
04.11.2015 02:07Реквеста нет, есть код на гитхабе — github.com/Perspex/Perspex. Откройте, например, RelativePoint.cs и увидите кучу подчёркнутого с руганью на неподключенную mscorlib. При использовании откомпилированных библиотек всё нормально. В 9.2 наблюдалась ровно противоположная картина, солюшн по ссылке работал нормально, при использовании dll из нугета — жалобы на библиотеки.
gorohoroh
04.11.2015 02:25ОК, спасибо, посмотрим, что там случилось.
kekekeks
04.11.2015 02:27Кстати, кого можно пнуть на предмет лицензии для опенсорса? @grokys (лидер проекта) подал заявку ещё в сентябре, ни ответа ни привета.
gorohoroh
04.11.2015 15:09Обязательно посмотрю, что случилось. Стивен может также проверить, нет ли чего в спаме — к сожалению, во многих случаях причина неполучения лицензий именно в этом.
gorohoroh
04.11.2015 15:50Знаете, не увидел никаких следов подачи заявки на лицензии от Стивена. Вы точно уверены, что он её подавал?
gorohoroh
03.11.2015 00:21+2Её тестировали. Но, очевидно, не увидели чего-то, что надо было увидеть. Было бы странно оправдываться, но все же замечу, что PCL — это ад. Особо впечатлительным разработчикам решарпера PCL, я уверен, снятся в кошмарах.
leschenko
03.11.2015 01:49Возможно юнит тесты проходят и даже покрытие кода больше 100%. Однако во вновь созданном PCL для Win8.1+WP8.1 решарпер активно лезет в какую-то системную сборку, версии 4.0.20.0 вместо 4.0.10.0. В результате, вся страница красная.
Раньше был аналогичный баг: вместо 4.0 -> 4.0.10.0. Скорее всего фикс был простым костылем.
huko
02.11.2015 23:01+1Если купить подписку только на 1 месяц, что случится через 31 день? IDE откажется запускаться, верно?
vaniaPooh
02.11.2015 23:04400 Мб для MacOS… А зачем туда запихнули JDK, который весит половину от этого?
enDal
02.11.2015 23:15+4Потому что
1. Java 1.6 устарела, испытывает проблемы с отрисовкой под 10.10 и после 10.11 не будет доступна совсем
2. Java 1.8 от Oracle плохо отображает шрифты и имеет ряд других проблем, исправления к которым пока не удалось полностью интегрировать в код официальной JavaBVadim
03.11.2015 02:02Шрифты как-то пожирнели. OS X El Capitan. Idea 14 с JDK 1.8 от Oracle. Шрифты казались оптимальными. Сейчас поставил Idea 15. Там всё кажется жирным. MBP 13" Retina в нативном разрешении.
Слева Idea 15, справа Idea 14.
enDal
03.11.2015 08:56Вы можете поэкспериментировать с настройками Preferences | Appearance & Behaviour | Appearance | Antialiasing. Скорее всего нужно выбрать Greyscale
BVadim
03.11.2015 15:43Действительно, помогло, спасибо. С оракловским JDK 1.8 эта настройка ничего не меняет. Точнее какое-то изменение происходит, но глазом его уловить очень сложно.
enDal
03.11.2015 16:02Не все наши изменения попали в 1.8u60, так что можно говорить о том, что оракловская 1.8 не совсем умеет subpixel antialiasing.
Jofr
03.11.2015 16:18У меня еще и цвета совсем другими стали (значительно контрастнее), и с алиасингом странное творится.
Мой любимый шрифт source code pro c grayscale стал смотреться отвратительно, а установка subpixel не влияет на него совершенно. В баги писать, или просто где-то что-то перегрузить?enDal
03.11.2015 17:12В 1.6 использовался устаревший способ отрисовки, который делал все более бледным.
Есть некоторое количество запросов про Source Code Pro, но не очень похожих, лучше всего написать со скриншотами было/стало.Jofr
03.11.2015 17:16Мне нравилось более бледным :( Придется потратить n-цать часов, чтобы настроить. Фон-то хоть можно перекрасить?
Запрос про шрифт отправил, спасибо.
zag2art
04.11.2015 14:10Было такое же с WebStorm — решилось переустановкой WebStrom с предустановленным пропатченным JDK.
symbix
03.11.2015 17:25У меня в Капитане Java 1.8 намного лучше отображает шрифты — все нативно и без проблем (ну, если не считать за проблему необходимость правки JVMVersion в Info.plist). А вот с bundled JDK есть три выбора в настройках — фиговенько, отвратительно и никак.
Дистрибутивы без bundled JDK, кстати, на месте. Те же имена файлов, только без суффикса "-custom-jdk-bundled".
Впрочем, у меня целиком слетел syntax highlight (сначала подсвечивает правильно, через полсекунды все сбивается) — так что откатился.enDal
03.11.2015 17:31Было бы здорово увидеть скриншоты :) Какая у вас IDE?
Впрочем, у меня целиком слетел syntax highlight
— это в каком языке?symbix
03.11.2015 17:39PhpStorm. Syntax Highlight слетал на PHP, но, возможно, и с другими языками проблема.
10-ку я уже снес. Мне пока и 9-ки более чем, до реального внедрения PHP7 еще долго. Так что рыться в багтрекере было лениво — просто откатился. Подозреваю, что я не один такой, и такие баги уже заведены.artspb
03.11.2015 19:41Подозреваю, что я не один такой, и такие баги уже заведены.
На самом деле, нет — мы о такой проблеме не слышали. Вас не затруднит создать тикет в нашем трекере?
anastasiak2512
03.11.2015 17:36В новых релизах даже в билдах с забандленной JDK есть свитчер JDK, в котором можно выбрать любую JDK, установленную в системе. В Find Action начните набирать Switch IDE boot JDK.
anastasiak2512
03.11.2015 17:40Хотя коллеги подсказывают, что он работает не во всех IDE. Но предполагаю, что это пофиксится в самое ближайшее будущее.
Azilot
02.11.2015 23:33Пытаюсь купить подписку на протухший в августе PyCharm. Вроде как должно быть на 2 года с текущего момента.
shafirov
03.11.2015 22:11Два года с даты окончания upgrade подписки. Она, кстати, может быть в будущем.
Если подписки нет или она давно закончилась будет с сегодняшнего дня, но только один год.
a553
03.11.2015 04:42Эх, Postfix Templates добавили, а R# IntelliSense юзабельным не сделали :(
А вот за чуть-чуть поправленные в hi-dpi диалоги — большое спасибо, теперь хотя бы Extract Method работает.
dShell
03.11.2015 04:44А как будет происходить переход с подписки на подписку через год? И менее чем через год?
Через скорее всего можно как ап- так и даунгрейднуться?
А если на полугоде пользования одной средой (ultimate) понадобится подписка на что-то еще как быть?
На месяц отдельно покупать — тут вроде чистый кейс.
А если на год — они не синхронизируются, и потом в бандл уже не собрать?
Спасибоanastasiak2512
03.11.2015 11:29Есть варианты всевозможных «переездов» с одной лицензии на другую. Подробнее про непосредственно Ваш случай можно узнать у сейлзов.
hurricup
03.11.2015 10:38А нет ли планов в связи с новой системой лицензирования сделать одну платформу с разными плагинами, каждый из которых лицензируется отдельно? Чтобы не ставить 5 отдельных приложений, которые, как я понимаю, имеют общую базу.
anastasiak2512
03.11.2015 11:31+1Все же не все имеют общую базу — IntelliJ-based продукты и ReSharper — это совсем разные вещи. Про IntelliJ-based — сейчас в виде плагинов к IntelliJ IDEA не доступны только AppCode (по причине своей одноплатформенности и завязки на Xcode toolchain) и CLion (продукт еще очень молодой, плагин есть в планах, но пока ресурсов на него не выделить).
hurricup
03.11.2015 11:35Да, с CLion, ReSharper и AppCode в принципе понятно. Но, если я не ошибаюсь, IDEA-U + Python plugin не то же самое, что PyCharm. Т.е. возможностей там меньше.
Borz
03.11.2015 11:46+2аналогично и с PhpStorm. Но, насколько я понял, это отличия сугубо в настройках — то, что в PhpStorm идёт «из коробки», в IDEA докидывается через плагины только со слегка иным внешним видом и требующими донастройки «под себя»
artspb
03.11.2015 12:16то, что в PhpStorm идёт «из коробки», в IDEA докидывается через плагины
Например?Borz
03.11.2015 12:26+1например, когда работал с PhpStorm, то был Command Line Tools для Zend Framework, который в PhpStorm был предустановлен, а в IDEA требовалась установка двух плагинов: PHP и Command Line Tool Support
artspb
03.11.2015 12:54Да, так и есть. Релевантные только для разработки на PHP плагины (вроде поддержки WP или Behat) в IDEA нужно ставить дополнительно к PHP-плагину.
anastasiak2512
03.11.2015 11:46+1Питоновская часть функционала вся должны быть здесь: plugins.jetbrains.com/plugin/631?pr=idea
Если что-то конкретное не находите, то можем уточнить у команды. Возможно, это случайность)hurricup
03.11.2015 11:56Нет, мне казалось именно такова была задумка. Лайт-поддержка в IDEA и серьезная только в отдельном продукте. Значит я ошибся. Спасибо за пояснение.
anastasiak2512
03.11.2015 11:57Там есть еще один плагин (Python Community — plugins.jetbrains.com/plugin/7322?pr=idea_ce) — он соответствует фичам PyCharm Community Edition. Возможно, на него смотрели.
mukizu
03.11.2015 12:01+1IDEA-U + Python — сколько пользуюсь — все что анонсируют для PyCharm появляется и в плагине. Сейчас в новой версии функционал плагина и чарма совпадают.
Разница по сути только в том, что в Idea куча всего в интерфейсе остается, чего нет в чарме (было бы вообще круто, если бы можно было среду настраивать под «окружение», то есть если я работаю с Django проектом, можно было выбрать упрощенный вариант интерфейса.)
Borz
03.11.2015 11:43а тут коллега говорит, что и для 0xDBE могут быть отличия
anastasiak2512
03.11.2015 11:470xDBE пока еще не существует как отдельный продукт. Как отрелизим, так будет более четкое понимание, наверное.
sefus
03.11.2015 10:43А я правильно понял, что в IntelliJ IDEA нет теперь плагина для PHP, чтобы получить функционал PhpStorm? Или это просто не указали на этой странице.
murr
03.11.2015 11:01+4К сожалению, качество IDE на основе идеи упало ниже плинтуса. Всевозможные глюки, отваливающиеся куски функциональности, подвисания на не очень слабых машинах (ssd, i5, 16 гб ОЗУ) просто достали. Пользовался продуктами jetBrains еще со времен Idea 3, последние годы использовал RubyMine и AppCode. У жены тоже был RubyMine. Постоянные проблемы и косяки нас просто достали, поэтому мы переехали на vim и atom. Говорю в основном про мак. С какого-то момента мне стало стыдно рекомендовать продукты на базе idea, потому что люди ставят триал и начинают спрашивать «а почему у меня рефакторинги не работают», «а почему на моей машине такие фризы», «что за артефакты в редакторе при работе с двумя мониторами» и т.д.
По поводу «а есть ли баг в багтрекере?». Спасибо, нет. В вашем багтрекере черт ногу сломит, а после того, как один мой баг провисел полтора года, и делать его начали только после нытья на Хабре, я перестал репортить баги.
Ребята, вспомните свою работу над производительностью для RubyMine 4, вы же могли сделать продукт, который летал на моем стареньком macbook air. Про тормознутость ваших продуктов ходят легенды, достаточно открыть любой тред на реддите.
hurricup
03.11.2015 11:51+8Странное отношение к багрепортам.
Любой разработчик физически не может исправить все что ему репортят. Приходится выбирать наиболее приоритетные баги в первую очередь. И приоритетность разработчика может не совпадать с приоритетностью каждого конкретного пользователя.
Баг репорт создается в 2 клика, где там можно ногу сломить? Просто интересно.
Багрепорт это минимум, который может сделать юзер для улучшения используемого продукта. Никто не обязан этого делать, но искренне не понимаю — почему нет, если это занимает пару минут?
Фидбеки и правка багов это массовый процесс, в котором мы как юзеры можем принять посильное участие. Это не Ваше личное одолжение разработчику, в ответ на которое он должен быстро все исправить (даже если делов там на 2 строчки). На вход мы даем некую массу репортов, на выходе получаем некую массу фиксов. Как то так.
И да, возможно, вот кто-то тоже «забил» на репорт вашего полуторалетнего бага, и он стал недостаточно приоритетным и пролежал полтора года. Все взаимосвязано.murr
03.11.2015 16:02+4> Баг репорт создается в 2 клика, где там можно ногу сломить? Просто интересно.
Ногу там сломить во время поиска по ключевым словам, многие из моих репортов закрыли с пометкой «дубликат», а ведь я честно пытался найти проблему в трекере. Вы немного лукавите про 2 клика, собрать шаги для воспроизведения ошибки не так и просто. К примеру, проблема, которая возникала в последние 2 месяца использования RubyMine на двух разных машинах (macbook pro 2014 и air 2012): при каком-то стечении обстоятельств, при запущеной IDE машина намертво виснет, помогает только полный ресет. Сколько времени нужно потратить, что бы отдебажить эту проблему и создать багрепорт?
Не стоит забывать, что речь идет о платном продукте, а не об опенсорсном. Если при чистой установке приложения в нем не работают основные фичи (я уже приводил пример с рефакторингами, наблюдал у двух разных людей, а это, на минутку, затрагивает даже обычный rename), то это проблема не пользователей, а QA продукта.
И можно сколько угодно рассуждать про репорт багов, но это только одна (и не самая серьезная) из проблем IDE, которую я описал.hurricup
03.11.2015 16:17+1Вы сказали " В вашем багтрекере черт ногу сломит", но описанный пример — сложный баг, и трудо- и время-затраты на описание бага, при чем тут трекер?
Никто никому ничего не должен, вы правы. Мы платим деньги — хотим готовый продукт, а не возможность поучаствовать в его создании.
Мне просто показалась странной указанная Вами мотивация не писать баги: «мой баг не пофиксили, вот и небуду ничего репортить, вам же хуже». Похоже на простую обиду от непонимания как работает система в целом, что я и попытался объяснить в своем посте.
Насчет дубликатов — пусть сами разбираются/улучшают систему. Я пришел, у меня есть баг. Если их авто-подбор не показал мне что баг есть, я его завожу. Без поиска «как бы не обидить их дубликатом». Аналогично, был случай когда тестировщик не подтвердил мой баг, поскольку я его плохо сформулировал или он неверно понял мой супер-английский :) Я не стал подробно описывать и объяснять, ибо тут уже стало жалко времени. Но свой, скажем так, гражданский долг, считаю выполненным.
Идеалов не бывает. Проблемы есть всегда. Никакое QA не способно найти все, что найдут пользователи. Лично я видел это на многих масс-продуктах — Windows, игры Blizzard и тут. Таков технологический процесс. Главное, чтобы баги правились.
Unrul
03.11.2015 11:48R# C++ 10.0 тормозит так, что невозможно работать, иногда виснет так, что не работают клавиши и скролл, пришлось откатываться на 9.2. Скоро, видимо, придётся переходить на QtCreator. Preformance report отправил, если что.
avolver
03.11.2015 11:52+2Всё-таки новая версия phpStorm (10) работает заметно шустрее на моём i5 под linux без SSD, нежели phpStorm 9*.
Учитывая дописанные в .vmoptions строки:
-Dawt.useSystemAAFontSettings=lcd -Dawt.java2d.opengl=true
gubber
03.11.2015 12:07Если у меня сейчас есть действующая лицензия на IntelliJ Idea 14. И я хочу купить «весь пакет». Сколько мне это будет стоит и на как долго?
artspb
03.11.2015 12:14$199 стоит подписка два года (1 + 1 в подарок). Покупать сейчас не обязательно, можно дождаться, пока подойдет срок текущей лицензии.
HaruAtari
03.11.2015 14:22topka Подскажите, а обновляться IDE-шки будут автоматически или как сейчас надо будет самому скачивать и устанавливать новую версию?
Borz
03.11.2015 14:40а он же и сейчас через Patch обновляется в платной версии. В Community Edition когда как — когда patch предложит, когда целиком скачать — но помогает, если отказаться, то потом может предложить patch скачать.
topka
03.11.2015 20:18+1Текущая политика такая: минорные обновления и багфиксы (изменение 2й или 3й цифры в версии) имеют патч с автообновлением, а мажорные обновления (изменения 1й цифры версии) нужно качать полностью заново с сайта.
Случается, что патч отсутствует но мы стараемся чтобы такое не происходило.ollisso
04.11.2015 13:43В идеале — всё же сделать чтобы при обновлении мажорных версий — пхпшторм тоже качал сам файл.
Даже если фактически получится что он просто по прямой ссылке скачивает тот же инсталятор и запускает его — лучше так, потому что очень не удобно лезть на сайт, выбирать там пакет, ждать пока скачается, запускать и тп.
=> для вас меньше конверсия при переходе на новую версию.
2. Очень не удобно что при смене мажорной версии — надо повторно вводить все свои регистрацианные данные (аккаунт и пароль). Почему оно не может подхватывать данные автоматически?
Punk_UnDeaD
03.11.2015 16:13спасибо за возможность удалённо редактировать файлы на сервере
я джва года ждал эту фичу
vba
03.11.2015 17:00Класс, скажите а почем приблизительно планируете продавать IDE для DB? Хотя бы приблизительно, а то зачем зря себя демкой искушать если в конце концов финальный продукт не по карману. Заранее благодарю.
Lapteuh
03.11.2015 20:08А чего буфер обмена в pycharm поломали. С течением времени он просто перестает выполнять свою функцию! Копирование-вставка работают только внутри IDE. (Windows)
topka
03.11.2015 20:21Напишите детали в трекер пожалуйста
Lapteuh
03.11.2015 20:25Вот это, очень похоже!
topka
03.11.2015 20:28Ясно. Если есть что добавить — это может нам помочь. Или как минимум стоит проголосовать
Спасибо!FanKiLL
03.11.2015 22:14А можете в личку написать процент недобора перешедших на след. версию по сравнению с другими например с 13 на 14.
Просто я как минимум вижу несколько крупных торрентов, которые в день релиза сразу пользовались и качали новую версию, естественно чего лукавить с кейгеном, но для личного пользования.
Но эти юзеры слали багрепорты и тоже приносили пользу как в тестировании продукта так и в его распространении и рекомендациях вашего продукта. Сейчас, трекеры молчат и люди разочарованы. Или от таких юзеров профит был маленький?enDal
04.11.2015 00:55Может быть, не совсем в тему отвечу, но за активное участие в EAP программе можно получить лицензию и перейти на светлую сторону силы
FanKiLL
04.11.2015 01:10Не спорю, но меня интересовали цифры. Скажем честно проверку на сервере обойти сложно, так что юзеры уже линяют. Вот меня интересовало, стоило ли терять этих пользователей, да сейчас они не платили, но они слали баг репорты, разрешали собирать статистику использования и прочее. Чем тупо отрубить им доступ к продукту.
Хотя в будущем, пойдя на работу они уже будут привязаны к их IDE. Или показывая где то на локальных митапах где то за МКАДом светили публике их IDE и задавали тренд.
А то такое впечатление, что мотивировалось всё как с музыкальными лейблами о недополученной прибыли, а в конце и прибыли не получили, но ещё и халявную рекламу, статистику и баг репорты потеряли… Или я просто не так мыслю? Просто мне кажется компания ничего не теряла от таких пользователей, а только приобретала если подумать. И переводя на подписку, не просчитать вариант с такой категорией юзеров глупо. А я уверен они вкурсе об этой категории юзеров. Если в IDE отслеживается сколько раз я нажал какой нибудь «хоткей», думаю что используется без лицензии тоже отправлялось вместе со сбором статистики.
И я не вайню и куплю idea свою, мне просто интересен этот момент в плане бизнеса.anastasiak2512
04.11.2015 03:57Пока что сложно подсчитать “недобор”, так как переход на новую версию у наших пользователей может традиционно занимать ощутимое время.
Что же касается модели в целом. Мы, конечно, все это учитывали с точки зрения бизнеса, всех плюсов и минусов. Поверьте, у нас было много увлекательных и жарких дискуссий внутри компании)
Стоит отметить, что ни статистика по использованию фич, посылаемая пользователем по желанию, ни баг репорты в трекере, ни запросы в саппорт, насколько я знаю, к лицензии не привязаны.
Как показывает опыт, тем, кто активно занимается евангелизмом наших продуктов, мы с радостью дарим бесплатные лицензии, потому что нам, как Вы справедливо заметили, это выгодно. А кто-то из таких людей сам идет и покупает, так как считает, что таким образом выражает благодарность компании за хороший продукт. Часто кстати, именно такие люди “первопроходцы” в покупке апдейтов)
А еще много полезного фидбека идет от EAP-ов, то есть с абсолютно легально бесплатного билда. Как уже заметили, особо активным мы тоже дарим лицензии. Да и просто активный пользователь, который выдает нам много фидбека и много с нами взаимодействует по каким-то проблемам, зачастую получает бесплатную лицензию.
Мы также стараемся поддерживать те группы, которые не могут себе позволить наши лицензии — стартапы получают 50% скидку, open source проекты — бесплатные лицензии, как и студенты.
Как-то получилось много и не уверена, что смогла ответить на Ваш вопрос) Но надеюсь, что смогла прояснить хоть что-то.FanKiLL
04.11.2015 12:51Да нет, вы конечно не предоставили цифры, но полностью ответили на поставленный вопрос.
Главное, что вы про эту категорию пользователей знаете и перед таким релизом вы учли их.
Вы хороший евангелист и маркетолог, вы так филигранно заканчиваете предложение, каким нибудь способом как получить лицензию. Просто мастерски. Без шуток и сарказма.
Вы назвали кучу методов как получить лицензию, но вы не учли отношение пользователя к полученной лицензии чисто психологически.
Получив лицензию хоть и халявную легальным способом, отношение к продукту уже будет более серьёзное, не будет вау эффекта при рассказе другу, чего это ты на нетбинсе или эклипсе сидишь, смотри как тут круто и начнёт тыкать его мордой в тёмную тему и так далее… Зная что если что, друг скажет оки хочу так же, он без проблем даже по окончанию 30 бесплатных дней, сделает так что друг останется, кинув ему сгенерированную лицензию.
А получив лицензию по какой то программе как стартапер или котрибютор в опенсорс, друг скажет да продукт крутой, но он стоит столько то, а что бы получить бесплатно тебе надо… И через 10 минут лекции как получить продукт бесплатно, друг думает, а нафик мне и на эклипсе хорошо.
Я описал только 1 тип пользователя. Есть ещё такие которые, например начинают учить андроид, они знают про андроид студию основанную на idea, они в курсе что им нафик не нужно круче.
Но они идут на торрет и качают Ultimate Edition и пичкают плагинами для разработки на android. Он не будет пользоваться интеграцией с Spring и автодополнение sql ему не к чему и прочие плюшки. Вот он хочет не огрызок а полноценную IDE, чисто психологически.
Это второй тип, а их много. Всех их объединяет одно, они в любом случае на данном этапе времени не купили бы лицензию, они безобидны и не приносят компании негатива.
Но это потенциальные пользователи, это бесплатные распространители (когда записывают видео для ютуба, где он круто за 10 минут делает бложек), это статистика и репорты приходящая от них.
Вот, что я хотел донести. Но я рад, что по вашим словам вы это уже знали и даже были споры по этому поводу перед релизом. Спасибо вам за такой полноценный и содержательный ответ. И спасибо, что прочитали, я ещё тот писака, лью много воды и возможно примеры не совсем подходящие… Но так уж я пишу.
Ах да ещё если будете считать такого рода пользователей, начните через 30 дней после релиза, потому что многие сейчас обновляются даже зная что ключей нет, берут 30 бесплатных дней, в надежде что за это время всё появится. Так что так статистика будет точнее.topka
04.11.2015 14:55Спасибо за мысли и примеры. Вы, в целом, всё правильно говорите. Мы сейчас находимся в некоторого рода переходном режиме, очень много всего поменялось. Не поменялось только наше желание делать лучшие продукты для программистов.
Мы определили большое количество разных метрик чтобы понимать какой эффект дают различные изменения и будем внимательно за ними следить. И про 30 дней вы тоже правы, мы это всегда учитываем.FanKiLL
04.11.2015 15:28Спасибо, что услышали. Удачи вам и побыстрее и с лёгкостью пройдите этот переходный период.
anastasiak2512
04.11.2015 23:31Спасибо на добром слове. И за мысли/комментарии. Их, поверьте, очень интересно читать.
А метрики по текущему положению дел нам сейчас и самим очень и очень интересны)
Borz
04.11.2015 20:57подтверждаю.
Начинал с «ломанной» 10-й версии, потом купил 12-ю, потом на EAP, а спустя некоторое время получил ключ как участник EAP и вот уже несколько лет этими ключами и пользуюсь.
ЗЫ: а чтобы не было так сладно, скажу, что не ожидал, что вы с этим багом выпустите релиз.FanKiLL
04.11.2015 21:33+1Ну вы собственно и олицетворяете таких пользователей про которых я говорил.
Так же само и они, начнут с ломаной, придут на работу — на работе им дадут лицензию, дома EAP почему нет.
Только если убрать промежуток с keygen'ом как не печально, но всё ломается, ибо никто кота в мешке не возьмет за 10к. И не говорите про 30 дней, нормальный программист даже не будет тратить время на мучения изучить новые хоткеи ради того, что бы через 30 дней опять откатится на свой редактор.
Фишка с триалом тут увы не работает, ибо триал период у всех разный, в плане обучаемости и находчивости.
Мне кажется IDE такой вид продукта, который надо распространять немножко по другому чем обычный софт и в плане евангелизма тоже. И торренты немного выполняли это действо, как не удивительно.
По мне что бы первое сделал это пару циклов видео на ваших IDE обучающих тому или иному языку. Можно и короткие видео выпускать но на постоянной основе, например прикрутить Devise к Ruby on Rails. Ну а дальше зависит от IDE и свободного программиста для записи видео. Главное что бы звук и картинка была хорошей, а информация полезной и нужной. Я подписан на канал JetBrains, даже включено уведомление на email о новых видео и единственное видео которое мне понравилось, это как девушка делала GEM на Ruby. Короткое, продуктивное видео, с хорошей подачей и хорошим контентом.
Остальные видео про плюшки той или иной ide, но информация в них не воспринемается так как не делается ничего полезного.
Вру было ещё видео на 50+ минут, Spring 4.0 and IntelliJ IDEA 13. К сожалению не могу оставлять ссылки, через тег из-за кармы, можно так скопировать. https://www.youtube.com/watch?v=84UD9Xk_Jkw
Но лучше конечно делать по 10-15 минут, так больше народу посмотрит. Ещё и на просмотрах ютубовских заработать можно:)) Ну это шутка)
Athari
03.11.2015 22:53+1Учитывая количество новых фич в решарпере для C# (немногим более нуля), несмотря на крутое число 10 в версии, я начинаю понимать, почему JetBrains так хочет перевести всех на подписку. :) То, что мой тривиальный баг в Stack Trace Explorer, который я репортил 2.5 года назад, наконец-то заметили — это, конечно, прогресс, но интегрирование плагина и поддержка свежих библиотек как-то не слишком впечатляюще звучит…
a553
04.11.2015 04:19Ага, я тоже об этом писал.
Athari
04.11.2015 04:27Дык где же улучшения «старых забытых фич»? :)
gorohoroh
04.11.2015 15:27Ну вот вы сами сказали про Stack Trace Explorer, в нем масса всего починилось.
Немодальный Rename на очереди — он мог попасть в 10, но не успел. Будет в одном из следующих релизов.
Дерево новое внедряем в Unit Test Sessions, Errors in Solution и прочие деревянные места. Пока не без проблем, дальше будет лучше.
gorohoroh
03.11.2015 23:44Фич в любом релизе, если его подготовка заняла не годы, будет не сильно более нуля, не правда ли?
Впрочем, расскажите, какой набор фич вас бы впечатлил. Может, какой-нибудь из прошлых релизов решарпера припомните, который вам понравился?leschenko
03.11.2015 23:58На мой взгляд новый решарпер нужен при выходе новой студии. Дальше частые минорные обновления. Особенно частые в начале, пока новая версия сырая. А она всегда сырая поначалу.
Сейчас же переход с 9.2 на 10 пользы много не принес. Т.е. его вполне можно было назвать 9.2.1. В нем нет ничего такого (внешне. про внутренности не знаю) что могло бы обосновать увеличение мажорной версии.gorohoroh
04.11.2015 01:52Вы троллите, наверное, да?
В десятке есть ReSharper Build, он один катит на мажор. Остальные наиболее значимые изменения (continuous testing и полный цикл timeline-профилирования в студии) — они, справедливости ради, в dotCover-е и dotTrace-е, соответственно.
А частые обновления, конечно, будут. Уже знаем, что надо обязательно и быстро фиксить пропадающий Output в Unit Test Sessions, красный код в новейших UWP-тулах и проверку лицензий. Через неделю-другую будет хотфикс, в середине декабря еще один апдейт, и так далее.leschenko
04.11.2015 13:31Нет, не троллю, все написанное мной было абсолютно серьезно. И чтобы не говорить за всех, я специально написал «на мой взгляд».
Я пользуюсь только R# для C#. dotCover, dotTrace мне по лицензии не положено.
Есть ли R# Build в обычной версии (не Ultimate) не успел заметить (пришлось откатиться до 9.2) и сейчас сходу не нашел этой информации.
Таком образом мне лично (не всем на свете, а лично мне), как человеку пишущему для Windows 10, R# 10 принес только проблемы.
За обновления с хотфиксами заранее спасибо. Очень жду. Думаю что после 2-3 обновлений решарпер снова начнет приносить удовольствие от использования.gorohoroh
04.11.2015 15:43ReSharper Build в обычной версии есть. Если интересны подробности, пожалуйте на вебинар на следующей неделе, будем рассказывать и показывать, что это, зачем, с чем работает, а с чем (пока) не умеет.
Жаль, конечно, что с UWP проблемы. Вот реквест, который, похоже, отражает происходящее у вас (а если не отражает, то, наверное, стоит создать другой). Вчера воспроизвели, фиксим.
Athari
04.11.2015 00:31Начнём с того, что меня впечатлило бы, если бы кто-то обратил внимание на мои фичереквесты: атрибуты для своих markup extension в XAML, форматирование препроцессорных директив и прочее. Баг с рефакторингом кода с dynamic висит давно опять же. Ну ладно, положим, что это никому не нужная экзотика (хотя форматирование директив 5 лайков набрало).
Но есть же популярные запросы: переименование проекта, предупреждение о недиспознутых локальных переменных, улучшение извлечения метода, извлечение алиасов, нормальная интеграция с нюгетом из коробки, рефакторинг цепочки конструкторов…
Да всё же в трекере: youtrack.jetbrains.com/issues/RSRP?q=sort+by%3A+votes+desc+State%3A+Open%2C+Reopened%2C+Submitted+Type%3A+Feature%2C+Improvementgorohoroh
04.11.2015 02:21Понятно, спасибо.
Я вижу, у вас в основном реквесты про XAML. Мне сейчас не очень понятно, насколько интенсивно его поддержка в решарпере будет развиваться в ближайшем будущем — это, наверное, лучше ControlFlow лучше знает.
Популярные запросы мне лично хотелось бы, чтобы получали еще больше внимания. С другой стороны, многие из них реализуются внутри или в виде плагинов, другие мы по разным причинам делать не хотим или не можем и стараемся объяснять, почему.
По поводу некоторых популярных реквестов, что пребывают в открытом и нетронутом состоянии, есть серьезные вопросы. Например, мы так и не поняли, откуда (если судить по голосам) ажиотажный спрос на поддержку LESS/Sass/CoffeeScript — технологий, которые, судя по другим данным, никогда не отличались особой популярностью среди дотнетчиков. Анализы про disposables, насколько я понимаю, либо слишком тяжелы, чтобы выполнять их налету, либо неточны.
А форматирование директив неплохо бы пофиксить уже, да.
ControlFlow
04.11.2015 04:19Мне всегда нравится, что программисты вне IDE-индустрии всегда намного лучше знают как делать IDE, вот только работают почему-то по другую сторону. IDisposable инспекции знают все как сделать, а кто потом будет тысячи false positive разбирать и объяснять юзерам почему мы задиспузили их Stream предложив задиспоузить локальный StreamReader? Алиасы извлекать чтобы люди по всему миру делали больше 'using UsersList = Dictionary<int, MultiDictionary<User, ExtraData<Dictionary<int, string>, decimal>>>;', а потом через релизы помогать людям избавлять их через инлайн или сохранять во всех рефакторингах (что КРАЙНЕ сложно)? И как поддерживать любые кастомные биндинги в XAML (в котором просто дохрена всего работает в сугубо рантайме) с кастомно вычисляемыми дата-контекстами тоже все знают… эх
Что не так с нугетом? Nuget-плагин давно включен в поставку, из фич добавляем ссылки на целые пакеты, а не бинарные сборки. Не поддерживаем сборки из nuget-пакетов как единое целое в фиче «Remove unreferenced code», что-то еще?Athari
04.11.2015 06:08Ну да, с IDisposable всё не так просто, придётся пройтись по нескольким сотням классов и развесить какие-нибудь атрибуты… :) Вообще, можно не заморачиваться и проверять только объекты, которые создаются и никуда не передаются. На классы, у которых реализация интерфейса фиктивная/бесполезная, навесить атрибуты. Со StreamReader не понял — вы создаёте несколько ридеров на Stream и не диспозите их?
Давайте с алиасами не преувеличивать, у них есть и нормальные применения, а использовать решарпер для превращения кода в месиво можно уже сейчас. Решарпер и сеттер делать приватным предлагает, и «else» повсеместно удалять, я уж молчу про настройки форматирования по умолчанию, которые выстраивают код в выровненный справа кривой столбик. Если юзер постарается, то с помощью «Import static members» можно импортировать все статические классы и перечисления. Схлопнуть цепочку вложенных if в пятискобочный однострочник с тернарными операторами при молчаливом удалении всех комментариев тоже никто не помешает. Что угодно во зло можно использовать. :)
Вот при рефакторинге поаккуратнее обращаться с алиасами не повредит. Верю, что сложная фича, но вручную потом всё исправлять несколько напрягает…
Ладно, абсолютно любые кастомные биндинги — это, положим, нереально. Но ведь можно переделать определение поведения строковых свойств с суффиксов классов markup extensions ("*Binding") на атрибуты («BindingPathAttribute», «ResourceKeyAttribute»)? Это уже покроет множество случаев, а текущая реализация всё равно делает конкретные предположения о том, относительно чего вычисляется строковое свойство в конструкторе класса с суффиксом Binding.
С XAML в отрыве от WPF всё как-то печально. Пишу либу, в которой XAML используется — так весь код подсвечивается…
Ну вот оно в нугете и отсутствует. Я ж не сам придумал, у фичи 10 лайков стоит.ControlFlow
05.11.2015 21:38Ну камон, это самая известная проблема StreamReader'ов, что он диспоузит underlying стрим. Конечно же люди юзают несколько ридеров/райтеров с одним стримом. «Никуда не передаются» — любой вызов instance-члена на таком объекте (иначе зачем он вообще?) — это передача этого ссылки на этот объект через `this`, что может продлить его время жизни. Атрибутами пользуются минимум пользователей, нет возможности автоматизировать проверку применений таких атрибутов. Ну правда, умножьте ваш взгляд на проблему IDisposable на порядок и вы приблизитись к истине. Или напишите плагином и покажите нам как надо.
У алиасов только одно нормальное применение — разрешать конфликты коротких имен. Остальное — это извращения «структурно-типизированных» программистов, экономящих декларации типов.
Что не так с приватными сеттерами? Чем акцессор отличается от члена класса, которому можно «уменьшить» уровень доступа?
Убивание `else` снижает уровень нестинга — мне тоже несколько лет потребовалось чтобы понять и принять, что это все же во имя добра. Может быть и к вам придет.
Форматирование по умолчанию — если бы вы у нас работали, то конечно бы смогли угадать такое количество столбцов в документе, которое устраивалось бы абсолютно всех. Но вы почему-то все еще не работаете у нас :(
«Import static members» — это не суджешшен, не инспекция, это контекстное действие. Маленький рефакторинг. Структурное редактирование кода. Оно делает что делает не потому что оно может сделать ваш код лучше или нет. Оно лишь автоматизирует ваше намерение сделать что-то.
Комментарии уже много лет не знаем как научиться сохранять при произвольных трансформациях, но вы конечно бы решили эту проблему. Для всех тысяч экшенов и фиксов. И рефакторингов.
Нет, нельзя переделать на «BindingPathAttribute». Чтобы этот атрибут прочитать, нужна семантическая модель. А сама поддержка property-path работает гораздо раньше, на этапе парсинга. Но вы конечно придумали бы как все отрефакторить на двухфазное построение синтаксических/семантических моделей.
ЭхAthari
06.11.2015 11:14Что не так с приватными сеттерами?
Оговорился, имел в виду приватные геттеры. Исправлением свойства, которое извне только изменяется, решарпер считает write-only свойство.
class Program { static void Main () { var foo = new Foo { Bar = "bar" }; } class Foo { public string Bar { get; set; } // Quick fix: Make 'get' accessor private public void Baz () => Bar.ToString(); } }
Привет, CA1044.
Убивание `else` снижает уровень нестинга — мне тоже несколько лет потребовалось чтобы понять и принять, что это все же во имя добра. Может быть и к вам придет.
Так не уменьшает же.
// Original ConsoleColor? Foo1 () { if (Console.CursorVisible) { Console.WriteLine("Bar"); return Console.BackgroundColor; } else { Console.WriteLine("Baz"); return Console.ForegroundColor; } } // "Fixed" ConsoleColor? Foo2 () { if (Console.CursorVisible) { Console.WriteLine("Bar"); return Console.BackgroundColor; } Console.WriteLine("Baz"); return Console.ForegroundColor; }
Был чистый код с двумя очевидными альтернативными ветками. Стало непонятно что с «уменьшенным» нестингом на две строчки и убитым единообразием веток.
У алиасов только одно нормальное применение — разрешать конфликты коротких имен. Остальное — это извращения «структурно-типизированных» программистов, экономящих декларации типов.
Может, вы живёте в идеальном мире, а жизнь заставляет пользоватьсяReadOnlyDictionary<MySuperAwesomeClassName, IJustLoveGivingLongNamesToMyClasses>
. Наследоваться от словаря предлагаете?
Плюс иногда ради наглядности бывают позывы указывать происхождение типа или алиасить примитивные типы. Хотя решарпер с автоматическим перемещением всего в using от первого отучает, конечно, а второе убивается рефакторингами. Но вот сорцы .NET под завязку забиты чудесами вроде этого:
using DataContractDictionary = System.Collections.Generic.Dictionary<System.Xml.XmlQualifiedName, DataContract>; using SchemaObjectDictionary = System.Collections.Generic.Dictionary<System.Xml.XmlQualifiedName, SchemaObjectInfo>; using BOOL = System.UInt32; using WORD = System.UInt16; using Float = System.Single; using SR = MS.Internal.PresentationCore.SR; using SRID = MS.Internal.PresentationCore.SRID;
Уже три наглядные причины использования алиасов.
Всего в сорцах дотнета 3073 алиаса. В Microsoft работают программисты-извращенцы, да?
«Import static members» — это не суджешшен, не инспекция, это контекстное действие.
Как и извлечение алиаса.
Форматирование по умолчанию — если бы вы у нас работали, то конечно бы смогли угадать такое количество столбцов в документе, которое устраивалось бы абсолютно всех. Но вы почему-то все еще не работаете у нас :(
Я имею в виду вот такие чудеса форматирования:
class Program { static void Main () { LoremIpsumLoremIpsumLoremIpsum(() => { LoremIpsumLoremIpsumLoremIpsum(() => { var a = Foo() + FooBarBaz( 1, 2) + FooBarBaz( 3, 4) + 4 + 5; }) }) } }
Лень перенастраивать решарпер, но при настройках по умолчанию он форматирует код примерно так. Форматирование эффектно переглючивает при достижении правой границы, и решарпер начинает переносить на каждом пробеле, тщетно пытаясь втиснуться в ограничения. С тернарными операторами, отформатированными в виде «true ?\n\t1 :\n\t2;», тоже чудеса происходят.
Комментарии уже много лет не знаем как научиться сохранять при произвольных трансформациях, но вы конечно бы решили эту проблему. Для всех тысяч экшенов и фиксов. И рефакторингов.
Я так понимаю, вариант оставить все пропавшие комментарии кучкой хоть где-нибудь — не рассматривается, потому что не круто? По сути, в текущей ситуации абсолютно любое решение будет лучше. Даже попапчик «при рефакторинге вот эти комментарии куда-то пропали, вставьте куда-нибудь сами». При неглобальных рефакторингах комментарии можно просто кучкой сверху изменяемого блока сложить.
Как у вас рефакторинги организованы — не очень представляю, но, думаю, не должно быть принцпиальной сложности пройтись по всем изменяемым нодам до и после рефакторинга и сравнить, какие ноды комментариев исчезли. Это же текст, его можно взять и сравнить.
Нет, нельзя переделать на «BindingPathAttribute». Чтобы этот атрибут прочитать, нужна семантическая модель. А сама поддержка property-path работает гораздо раньше, на этапе парсинга. Но вы конечно придумали бы как все отрефакторить на двухфазное построение синтаксических/семантических моделей.
Окей, а как тогдаXamlItemsControlAttribute
работает? Он же влияет на логику распарсивания путей в биндингах.
ruslanys
05.11.2015 14:16+2Куда делась великолепная сова из заставки Intellij IDEA 15 Preview?! :'(
А еще в 15 версии не исправлена ошибка связанная со Spring-Boot аннотацией @EnableJPARepositories…Borz
05.11.2015 15:09А как она у вас проявляется, а то у меня ошибки нет вот уж месяц как
ruslanys
05.11.2015 15:27У меня вот в 14 версии этот баг исправлялся, если я указывал аннотацию @EnableJpaRepositories. В 15 даже это не помогает :(
Borz
05.11.2015 15:35+1попробуйте "@Qualifier" указать рядом с "@Autowired", либо переменную обзовите правильно.
Ещё, как предположение — у вас Application находится точно выше по иерархии пакетов, чем DoctorRepository? Потому что при аннотации "@SpringBootApplication" аннотацию "@EnableJpaRepositories" уже не обязательно указывать — она автоматом сканирует вглубь пакетов
скриншот из 15-й EAP версииruslanys
05.11.2015 15:36Если насильно на интерфейсы-репозитории указывать аннотацию @Repository, то все в порядке, даже без аннотаций вроде @ComponentScan/@EnableJpaRepositories. Но использовать эту аннотацию на интерфейсы, на мой взгляд, сомнительная идея…
Borz
05.11.2015 15:38А без аннотации @Repository работает за пределами IDEA? Надо проверить будет — привык уже явно указывать репозитарии…
ruslanys
05.11.2015 15:43+1Работает, конечно. Мало того, в официальной документации Spring Data указано, что нет необходимости в таких аннотациях. Ну и вообще, аннотации стереотипов Spring обычно указываются на классы, реализующие интерфейсы.
И, кстати, 14 IDEA прекрасно обнаруживала такие репозитории с аннотацией @EnableJpaRepositories…
lui
Вижу, что вы уже добавили поддержку async/await для WebStorm'а.
Значит ли это, что новый PhpStorm тоже это уже поддерживает?
msd
так точно
msd
даже немного уточню: поскольку в этот раз все продукты выпустились одновременно рассинхронизации в фичах не должно быть.
mukizu
Это касается и плагинов? (python для Idea, например)
msd
да
lui
Спасибо за ответ.
Придется продлевать подписку :)