Pull to refresh

Comments 202

Вижу, что вы уже добавили поддержку async/await для WebStorm'а.
Значит ли это, что новый PhpStorm тоже это уже поддерживает?
даже немного уточню: поскольку в этот раз все продукты выпустились одновременно рассинхронизации в фичах не должно быть.
Это касается и плагинов? (python для Idea, например)
Спасибо за ответ.
Придется продлевать подписку :)
Начиная с сегодняшнего дня, все перечисленные продукты предоставляются только по новой модели лицензирования, то есть по подписке.

Если у вас есть действующая подписка на обновления, вам необязательно переходить на новую модель немедленно. Вы можете свободно пользоваться обновлениями продуктов, пока не истечет срок действия подписки на обновления. А после этого вы сможете перейти на новую модель и воспользоваться нашим специальным предложением для существующих клиентов.


Означает ли это, что, если у меня сейчас есть подписка (по старой модели), то я смогу пользоваться 10-й версией только до окончания срока подписки, а потом всё откатится до 9-ки, если не перейти на новую модель?
Не совсем так, если у Вас сейчас есть активная подписка, то Вы сможете пользоваться последней версией, выпущенной до окончания этой подписки сколь угодно долго. Однако, если Вы захотите пользоваться версией, выпущенной уже после того, как текущая подписка истечет, то это можно будет сделать, перейдя на новую модель.
Спасибо, понял.
Фраза «предоставляются только по новой модели лицензирования» означает, новые пользователи не смогут их купить по старому типу подписки. Но, если подписка уже, есть, то всё в порядке: эта версия доступна и ничего не откатится.
Персональная лицензия позволяет использовать две копии одновременно (десктоп и ноут)?
Да, позволяет. Лицензионное соглашение целиком можно почитать здесь
Насколько я знаю, лишь бы один ключ не был одновременно запущен в одной локальной сети более чем с одного девайса.
Для персоналок такое ограничение снято. Да и раньше эта проблема не возникала при использовании JetBrains account.
Дорого, продукты сырые. Покупал лицензию на Clion, оказалось что по качеству она пока сильно проигрывает бесплатным IDE (Я сравниваю с Netbeans и Eclipse). Баги самые разнообразные, от ошибок парсера раскрашивающего проект в красный цвет, до неработающего дебаггера на некоторых linux системах. Нет поддержки элементарных вещей, вроде Makefile-проектов (хотя интеграция с CMake очень радует).

Двойственные чувства: с одной стороны хочется поддержать отечественного производителя, а с другой приходится быть beta-тестером за свои же деньги.
А можно подробнее про ошибки парсера и дебаггер? Или все в трекере заведено?

Makefiles планируем, но чуть позже. Изначальный выбор пал на CMake, как первую проектную модель (и по нашим исследованиям самую популярную для кросс-платформенных проектов). Остальные — чуть позже. Но тоже будут)
Да, всё в трекере. Оценка чисто субъективная: у всех IDE есть свои проблемы, возможно я просто привык к проблемам Netbeans/Eclipse и поэтому их не замечаю.

По моему опыту в небольших проектах рукописные Makefile используют намного чаще чем CMake. Думаю IDE должна все-таки иметь встроенную проектную модель, независимую от билд-системы. А так получается что Clion только для CMake-проектов, остальное делаем в Netbeans (хотя он тоже CMake поддерживает).

Для примера, Netbeans для меня сейчас полностью закрывает разработку для встроенных систем: От написания linux-драйверов ( после небольшой настройки работает практически всё: навигация по исходникам linux-kernel, сборка, отладка на эмуляторе и прототипной плате ) до разработки графического интерфейса на Qt.
Спасибо за подробный ответ.
Мы в начале долго думали выбирали между «своей» проектной моделью и какой-то известной. Остановились на CMake. Причины вот тут пытались описать (на английском). Но, конечно, Makefiles следующие на очереди.
Анастасия, а примерно в каким приоритетах стоит поддержка c11?
Уже полтора года прошло, а воз и ныне там https://youtrack.jetbrains.com/issue/CPP-116
Вы правы в том, что мы давно не смотрели в эту сторону. Пока что более приоритетными кажутся доделки по C++11 и общие доделки по C++. Еще раз глянем в самый ближайший раз, как будем планировать новый релиз, но пока не могу ничего обещать. Спасибо за напоминание)
Буду рад, если кто-нибудь из команды отпишется в тикете после вынесения решения.
Мы стараемся публиковать roadmap ближайшего релиза здесь.
Может, вы сможете поделиться, что именно из С11 самое необходимое и нужно сделать в первую очередь? Можно прямо в тикете.
Проект, привязанный к IDE — зло в чистом виде.
Проект должен собираться в голой консоле с помощью билд системы.
Речь не о проектах привязанных к IDE, а об IDE привязанных к билд-системам. Что в сущности то же самое зло и есть.
В общем ждем блог-поста о разработке linux kernel в Clion 2.0 :)
все-таки сырые «продукты» или «CLion»?

у меня, например, есть претензии к Idea, но назвать этот продукт сырым — невозможно.
Не знаю насчет Idea, могу оценить только Clion, т.к. в основном работаю на C/C++ и HDL.
UFO just landed and posted this here
Раньше юные падаваны и школьники могли хотя бы с привыкать к вашей среде пока в универ не пойдут или на работу. Теперь им это уже не светит. Хотя персональные лицензии и не так дороги. Но те кто для себя использовал на халяву и не хотел/мог платить раньше, перейдут на что то ещё.
А перфекционистам вообще беда, я например привых что Idea у меня для java и больше я туда ничего из плагинов для языков не ставлю. WebStorm понятно js, css + плагин для GO. RubyMine для рельсов.
Теперь придется раскошелится на 3 продукта, ну или нашпиговать idea плагинами.
Теперь придется раскошелится на 3 продукта, ну или нашпиговать idea плагинами.

Почему бы не обратить внимание на «Все продукты»?
Примерно на 90 басков дороже выходит. А PyCharm, CLion, PHPStorm мне точно не понадобятся, не говоря уже о AppCode.
А если только Idea взять и нашпиговать плагинами и не болеть хернеё как я, то на все 190. Про цены для компаний я молчу, с компаний надо драть и проверять если они работают под лицензией. А вот частники наоборот подсаживались пока обучались, или не попадут на работу, где и скажут хочу Idea или PHPStorm.
Поделитесь, а как Вы считали? У меня вот что получилось. Предположим, Вам нужны IDEA, RubyMine и WebStorm.

У Вас есть лицензия на все три продукта: 89 + 53 + 35 = 177. Все продукты стоят 199, разница — 22 не в Вашу пользу.
У Вас нет ни одной лицензии: 149 + 89 + 59 = 297. Все продукты стоят 249, разница — 48 в Вашу пользу.

Получается, что если у Вас уже есть лицензии на все 3 продукта, то да, Вы теряете $22. Во всех остальных случаях (когда лицензии у Вас есть только на некоторые из продуктов или вообще нет) набором брать выгоднее.
У меня все продукты стоят $249
Заголовок спойлера
/>
https://habrastorage.org/files/0ca/cdc/19f/0cacdc19f8ed4051ba49e5c7dbcfd28f.png

Никогда не любил считать чужие деньги. И да те цифры я прикидывал на глаз, а не писал формулу как дешевле купить)) Даже без калькулятора. А Вас прям прорвало.
Всё пересчитал, извиняюсь, вы правы, меня запутала ваша цифра 199 все продукты.
Дорого. Тогда обойдёмся одной idea.
Что-то не очень понял каким образом раньше «юные падаваны и школьники» могли, и что для них изменилось.
Раньше они запускали keygen после бесплатных 30 дней и жили спокойно. Теперь только по подписке, ключ будет проверятся на сервере JetBrains и если нет записи об ключе, попался.
Но думаю скоро найдутся умельцы и с заменой в Hosts можно будет всё активировать и всё будет как раньше. Или кейгены будут идти с втроеным мини сервером который заменит сам Host, ответит что ключ правильный и всё.
Если таким образом обходили защиту игровых серверов и прочего то и тут смогут.
В компании западло и противозаконно.
Для личного использования Иваном из Самары или Новосибирска, с ограниченным бюджетом семейным, почему бы и нет. Студентам да полагается. Но полностью не вкурсе, помоему не все учебные заведения выдают такую корочку или ещё там какая то преграда, что по этой программе не все могли получить, что хотели.
Чтобы студенту (или преподавателю, кстати) получить лицензию по этой программе, достаточно зарегистрироваться с e-mail-ом в домене его ВУЗа (или ISIC-ом). Вроде бы это не очень сложно.
Студенту можно просто отправить скан студенческого
Кстати, огромная благодарность им от меня за такой способ
Не у всех вузов есть почта на собственном домене.
Ну можно и справку из деканата. Опробовано, работает :)
для преподавателя тоже пойдет справка из деканата?
Тут скорее с кафедры, если уж по аналогии. Однако мне кажется что никто таких справок не дает.
А вот скан из трудовой книги вполне себе доказательство.
UFO just landed and posted this here
Речь идет о рабочем инструменте. Если инструмент в руках «Иванова из Самары» себя не окупает, зачем его тогда вообще использовать.

Для ограниченного бюджета или не коммерческих проектов есть альтернативные инструменты, либо Community Edition.
То есть без интернет-соединения оно не фунциклирует что ли?
Функционирует. Проверяет лицензию на сервере время от времени. Расстраивается только, если нет подтверждения в течение месяца. При этом для организаций есть лицензионный сервер, который можно поставить, а для индивидуальных лицензий — возможность таки получить ключ, если уж совсем никак не доступна сеть.
Пардон, а чем юным падаванам и прочим школьникам/бедным студентам не угодила Community Edition? Только не говорите, что ее возможностей не хватает этим категориям граждан.
А RubyMine, а WebStorm, PHPStorm в особености. А в Community Edition плагины для этих языков не поставишь.
Уже второй человек спрашивает очевидные вещи. Не заходил сюда год, и не зря.
Действительно, как-то не ходил по всем их продуктам, почему-то был уверен, что коли есть PyCharm CE, то и остальные должны быть.
Оу, новые волшебные способы заставить Visual Studio тормозить на любом железе! Всё, как мы любим!
Тут есть варианты:
1. Сообщить нам, в JetBrains. Мы умеем фиксить тормоза и считаем нужным это делать, если они возникли из-за нас (а тут, поверьте, есть варианты).
2. Никому, кроме хабра, ничего не говорить и не пользоваться, раз тормозит.
Это тормоза, которые в принципе невозможно победить. Студия обвешивается свистоперделками дополнительным функционалом, который дёргается на каждый чих, что-то крутится в фоне, что-то при открытии проекта… В результате отзывчивость UI просто катастрофически проседает (это у меня рабочий i7+32gb+ssd). Я не буду сейчас вспоминать по адский ад, который творился в R#8 (это было давно и с тех пор вы, конечно, многое поменяли/поправили), но в компании есть лицензии, так что я по мере выхода новых версий ставлю их «пощупать» и через неделю сношу с недоумением. Выглядит коряво (ну совсем неродные интерфейсные элементы); редактор кода (в котором проводишь 95% времени) начинает ощутимо тормозить; функционал либо дублирует уже (за эти годы) появившийся в VS из коробки, либо легко заменяется небольшим набором экстеншнов, которые бесплатны и работают в разы быстрее.
Ну т.е. я честно каждый раз делаю попытку понять, почему вокруг каждый второй говорит "без решарпера ваще не могу работать" и не нахожу ответа.
Для меня важно, чтоб не тормозило открытие файлов, чтоб табы переключались быстро, чтоб всякие подсказки типа IntelliSense выскакивали без задержек в секунду и более… Т.е. стабильность и плавность постоянно используемого функционала важнее, чем странный комбайн, который после установки требует несколько дней только на то, чтоб отключить все ненужные функции, выскакивающие где не надо. И ещё и денег за это просит.
Так что мой выбор "не пользоваться".

А вот где, кому и что мне говорить — не вам мне указывать.
Никогда не замечал тормозов при открытии файлов, табов, подсказок, тоже i7+32gb+ssd. В основном только при открытии проекта, иногда после пересборки.
У меня на работе был i5+8Гб+SSD, и тормозило крайне редко. И то, там проект был весьма большой, огромное количество невалидного кода, каких-то хаков из начала 2000-х. Сейчас на личном ноутбуке (i7+16Гб+SSD) всё летает.
Пфф. У вас видимо проект недостаточно большой. i7 3770k, 16 ГБ, 550 MB/s SSD под проект и систему (2 MLOC, ~40 проектов было загружено) + RAM под кеш решарпера. R# всё ещё адски тормозит, в конкретно этом релизе Code Completion я ждал полторы минуты. :D Приходится огромную часть функциональности R# отключать.

Завидую людям, у которых не тормозит. Потому что у меня так многие симптомы, описанные justmara, вполне повторяются.
Упустил как-то, что речь про ReSharper. Если что, я про WebStorm.
Разделите проект. Выгружайте неиспользуемые в данный момент проекты.
Не важно, что вы используете. Если солюшн достаточно большой, то он будет тормозить и на совершенно голой студии — с решарпером тормоза просто настанут раньше. Тут нужно качественно менять подход к разработке.
Это он уже разделён и половина проектов выгружена. И нет, студия без решарпера практически не тормозит (на таком-то железе). Разумеется, я могу собрать всё и потом выгрузить все проекты кроме того, над которым работаю. Но это достаточно неудобно.

На самом деле, в решарпере с выключенным Solution-wide analysis тормозят вполне конкретные вещи — это Code Completion/IntelliSense, Find Usages, что угодно в TypeScript коде и ещё несколько багов. Поэтому я эти фичи решарпера стараюсь не использовать. Остальное более-менее компенсируется мощным железом и ожиданием прогрузки проектов (вот тут как раз студия тормозит сама — без решарпера солюшен может минуту открываться).

Так что мне кажется это проблемы конкретно в алгоритмах, используемых в этих фичах. Я уже писал в тех багрепортах про скалирование — студия при любом количестве открытых проектов у меня вполне исправно открывает подсказки до того, как я завершу печатать «read». Решарпер уже на средних проектах за мной сильно не успевает. С Find Usages похожая проблема, видимо вы там делаете текстовый поиск какой-то. Здесь CodeLens references справляется на порядки лучше, что бы там controlflow про них ни говорил.
Кстати, если вы сможете вынести всякие кеши результатов анализа и БД для поиска либо в кеш, либо в отдельный процесс, то это позволит использовать гигабайты свободной оперативной памяти, и ситуация заметно улучшится хотя бы на мощном железе.

У Adobe продуктов такой режим есть — «используй сколько угодно памяти, только будь побыстрее» )
ОК. Я отчего-то предположил, что вы заинтересованы в решении возникших у вас проблем с решарпером, хотя по факту это не так. Прошу прощения.
Кстати говоря, idea 15 стала быстрее работать по первым ощущениям, nice work!
Ну вот явно ваши тормоза в виде Code Completion фиксить отказались. От безысходности я даже видео о небольшом проекте, в котором не работает Code Completion, записал. Ради интереса, в свежей 10 версии включил R# IntelliSense, Color Identifiers и Enhanced Tooltip (без него тултипы совсем уж неюзабельны). Через 10 секунд печатанья в моём стандартном «большом» проекте Code Completion перестал реагировать, а спустя полторы минуты сделал всё, что от него требовалось, загадив всё напечатанное за эти полторы минуты. Смешно, да грустно.
 А IDEA 15 для которой нет совместимого с ней питона, это действительно называется «обновленная версия»? Или просто забыли обновить до конца? Или я что-то совсем не так понял? Или теперь стабильные версии это как раньше были EAP?
Я искренне не понимаю, как новая, видимо стабильная версия продукта, может прийти без одного из «встроенных» плагинов.
поправка самому себе — свежий плагин для питона таки есть, он просто не обновлялся от версии 4.чего.то.там то 5 пока я не переустановил его. Так что все не так плохо как казалось.
Зря я обновился. Как мне теперь откатиться на 9?

В UWP+PCL все стало подчеркнуто красным:


В версии 9.* (не помню в какой именно) был подобный баг, только ссылались на модуль версии 4.0.10.0. В последней из 9.* бага не было. Сейчас все по новой. Опять придется удалять решарпер и ждать, ориентировочно 2 месяца, пока баг не пропадет.

Неужели связка UWP+PCL настолько редкая что ваши тестировщики даже не тестировали ее?
Вопрос «как откатиться» успешно решил. Нашел ссылки на предыдущие версии.
UWP мы фиксили в предрелизных версиях, но, видимо, не дофиксили. Через пару недель будет апдейт, в который, скорее всего, войдут фиксы по этой части.

Извините за потраченное время.
Как вы уважительно отвечаете Евгению и другим простым смертным, прям загляденье...))
Хотя он и написал, что всё нормально уже.
Ну хочется как-то сориентировать человека, какие у нас планы. Все ж не его вина, что на его проектах решарпер ведет себя не вполне адекватно.
Пока потерплю на 9 версии. Все равно с R# никуда не слезу, да и бонусов от 10 версии пока не вижу особых.
Через пару недель попробую еще раз.
Обычная PCL с Profile7 — те же проблемы.
Только в 10, или в 9.2 тоже были? Реквест есть?
Реквеста нет, есть код на гитхабе — github.com/Perspex/Perspex. Откройте, например, RelativePoint.cs и увидите кучу подчёркнутого с руганью на неподключенную mscorlib. При использовании откомпилированных библиотек всё нормально. В 9.2 наблюдалась ровно противоположная картина, солюшн по ссылке работал нормально, при использовании dll из нугета — жалобы на библиотеки.
ОК, спасибо, посмотрим, что там случилось.
Кстати, кого можно пнуть на предмет лицензии для опенсорса? @grokys (лидер проекта) подал заявку ещё в сентябре, ни ответа ни привета.
Обязательно посмотрю, что случилось. Стивен может также проверить, нет ли чего в спаме — к сожалению, во многих случаях причина неполучения лицензий именно в этом.
Знаете, не увидел никаких следов подачи заявки на лицензии от Стивена. Вы точно уверены, что он её подавал?
Вот этот номер ему выдало: 07092015/46162
Есть такое. Пропустили, всячески извиняемся. В ближайшее время лицензия придет.
Её тестировали. Но, очевидно, не увидели чего-то, что надо было увидеть. Было бы странно оправдываться, но все же замечу, что PCL — это ад. Особо впечатлительным разработчикам решарпера PCL, я уверен, снятся в кошмарах.
Возможно юнит тесты проходят и даже покрытие кода больше 100%. Однако во вновь созданном PCL для Win8.1+WP8.1 решарпер активно лезет в какую-то системную сборку, версии 4.0.20.0 вместо 4.0.10.0. В результате, вся страница красная.

Раньше был аналогичный баг: вместо 4.0 -> 4.0.10.0. Скорее всего фикс был простым костылем.
Если купить подписку только на 1 месяц, что случится через 31 день? IDE откажется запускаться, верно?
400 Мб для MacOS… А зачем туда запихнули JDK, который весит половину от этого?
Потому что
1. Java 1.6 устарела, испытывает проблемы с отрисовкой под 10.10 и после 10.11 не будет доступна совсем
2. Java 1.8 от Oracle плохо отображает шрифты и имеет ряд других проблем, исправления к которым пока не удалось полностью интегрировать в код официальной Java
Шрифты как-то пожирнели. OS X El Capitan. Idea 14 с JDK 1.8 от Oracle. Шрифты казались оптимальными. Сейчас поставил Idea 15. Там всё кажется жирным. MBP 13" Retina в нативном разрешении.

Слева Idea 15, справа Idea 14.

image
Вы можете поэкспериментировать с настройками Preferences | Appearance & Behaviour | Appearance | Antialiasing. Скорее всего нужно выбрать Greyscale
Действительно, помогло, спасибо. С оракловским JDK 1.8 эта настройка ничего не меняет. Точнее какое-то изменение происходит, но глазом его уловить очень сложно.
Не все наши изменения попали в 1.8u60, так что можно говорить о том, что оракловская 1.8 не совсем умеет subpixel antialiasing.
У меня еще и цвета совсем другими стали (значительно контрастнее), и с алиасингом странное творится.
Мой любимый шрифт source code pro c grayscale стал смотреться отвратительно, а установка subpixel не влияет на него совершенно. В баги писать, или просто где-то что-то перегрузить?
В 1.6 использовался устаревший способ отрисовки, который делал все более бледным.
Есть некоторое количество запросов про Source Code Pro, но не очень похожих, лучше всего написать со скриншотами было/стало.
Мне нравилось более бледным :( Придется потратить n-цать часов, чтобы настроить. Фон-то хоть можно перекрасить?
Запрос про шрифт отправил, спасибо.
Да, в Preferences | Editor | Colors & Fonts
Именно фон что-то не нашел там, но, вероятно, это я подустал. Спасибо большое за помощь!
General | Editor | Default text
Было такое же с WebStorm — решилось переустановкой WebStrom с предустановленным пропатченным JDK.
У меня в Капитане Java 1.8 намного лучше отображает шрифты — все нативно и без проблем (ну, если не считать за проблему необходимость правки JVMVersion в Info.plist). А вот с bundled JDK есть три выбора в настройках — фиговенько, отвратительно и никак.

Дистрибутивы без bundled JDK, кстати, на месте. Те же имена файлов, только без суффикса "-custom-jdk-bundled".

Впрочем, у меня целиком слетел syntax highlight (сначала подсвечивает правильно, через полсекунды все сбивается) — так что откатился.
Было бы здорово увидеть скриншоты :) Какая у вас IDE?

Впрочем, у меня целиком слетел syntax highlight
— это в каком языке?
PhpStorm. Syntax Highlight слетал на PHP, но, возможно, и с другими языками проблема.

10-ку я уже снес. Мне пока и 9-ки более чем, до реального внедрения PHP7 еще долго. Так что рыться в багтрекере было лениво — просто откатился. Подозреваю, что я не один такой, и такие баги уже заведены.
Подозреваю, что я не один такой, и такие баги уже заведены.

На самом деле, нет — мы о такой проблеме не слышали. Вас не затруднит создать тикет в нашем трекере?
В новых релизах даже в билдах с забандленной JDK есть свитчер JDK, в котором можно выбрать любую JDK, установленную в системе. В Find Action начните набирать Switch IDE boot JDK.
Хотя коллеги подсказывают, что он работает не во всех IDE. Но предполагаю, что это пофиксится в самое ближайшее будущее.
Пытаюсь купить подписку на протухший в августе PyCharm. Вроде как должно быть на 2 года с текущего момента.
Два года с даты окончания upgrade подписки. Она, кстати, может быть в будущем.
Если подписки нет или она давно закончилась будет с сегодняшнего дня, но только один год.
10000 р на год. Десять тысяч, Карл!
У вас рублёвых цен нет случайно для жителей рубляндии?
Увы, нет. Рублевые цены определяются посредством конвертации из долларовых.

А правда 10к? Это о каком продукте, интересно?
Ага, IntelliJ IDEA для существующего клиента.
Правда, что почти 10к. Также правда, что это платеж за 2 года, а не за 1: существующие клиенты первый раз платят за один год подписки, а получают два.
Это для тех, у кого нет и не было лицензии, а так хотелось. И сроком на 1 год.
Вы правы.
Прошу прощения.
Я все попутал.
Поздно.
Спасибо.
Все.
Спать.
Купил подписку на Pycharm. Чистая установка. И сразу баг в UI. Тупо панельки нижние в состоянии «unpinned» при клике в код не скрываются. А я уже привык. :(
Эх, Postfix Templates добавили, а R# IntelliSense юзабельным не сделали :(

А вот за чуть-чуть поправленные в hi-dpi диалоги — большое спасибо, теперь хотя бы Extract Method работает.
А как будет происходить переход с подписки на подписку через год? И менее чем через год?
Через скорее всего можно как ап- так и даунгрейднуться?
А если на полугоде пользования одной средой (ultimate) понадобится подписка на что-то еще как быть?
На месяц отдельно покупать — тут вроде чистый кейс.
А если на год — они не синхронизируются, и потом в бандл уже не собрать?
Спасибо
Есть варианты всевозможных «переездов» с одной лицензии на другую. Подробнее про непосредственно Ваш случай можно узнать у сейлзов.
А нет ли планов в связи с новой системой лицензирования сделать одну платформу с разными плагинами, каждый из которых лицензируется отдельно? Чтобы не ставить 5 отдельных приложений, которые, как я понимаю, имеют общую базу.
Все же не все имеют общую базу — IntelliJ-based продукты и ReSharper — это совсем разные вещи. Про IntelliJ-based — сейчас в виде плагинов к IntelliJ IDEA не доступны только AppCode (по причине своей одноплатформенности и завязки на Xcode toolchain) и CLion (продукт еще очень молодой, плагин есть в планах, но пока ресурсов на него не выделить).
Да, с CLion, ReSharper и AppCode в принципе понятно. Но, если я не ошибаюсь, IDEA-U + Python plugin не то же самое, что PyCharm. Т.е. возможностей там меньше.
аналогично и с PhpStorm. Но, насколько я понял, это отличия сугубо в настройках — то, что в PhpStorm идёт «из коробки», в IDEA докидывается через плагины только со слегка иным внешним видом и требующими донастройки «под себя»
то, что в PhpStorm идёт «из коробки», в IDEA докидывается через плагины

Например?
например, когда работал с PhpStorm, то был Command Line Tools для Zend Framework, который в PhpStorm был предустановлен, а в IDEA требовалась установка двух плагинов: PHP и Command Line Tool Support
Да, так и есть. Релевантные только для разработки на PHP плагины (вроде поддержки WP или Behat) в IDEA нужно ставить дополнительно к PHP-плагину.
Питоновская часть функционала вся должны быть здесь: plugins.jetbrains.com/plugin/631?pr=idea
Если что-то конкретное не находите, то можем уточнить у команды. Возможно, это случайность)
Нет, мне казалось именно такова была задумка. Лайт-поддержка в IDEA и серьезная только в отдельном продукте. Значит я ошибся. Спасибо за пояснение.
IDEA-U + Python — сколько пользуюсь — все что анонсируют для PyCharm появляется и в плагине. Сейчас в новой версии функционал плагина и чарма совпадают.

Разница по сути только в том, что в Idea куча всего в интерфейсе остается, чего нет в чарме (было бы вообще круто, если бы можно было среду настраивать под «окружение», то есть если я работаю с Django проектом, можно было выбрать упрощенный вариант интерфейса.)
а тут коллега говорит, что и для 0xDBE могут быть отличия
0xDBE пока еще не существует как отдельный продукт. Как отрелизим, так будет более четкое понимание, наверное.
Сейчас отличий нет. В момент релиза 0xDBE они не появятся.
А я правильно понял, что в IntelliJ IDEA нет теперь плагина для PHP, чтобы получить функционал PhpStorm? Или это просто не указали на этой странице.
Плагин на месте, наверное, что-то со страницей.
К сожалению, качество IDE на основе идеи упало ниже плинтуса. Всевозможные глюки, отваливающиеся куски функциональности, подвисания на не очень слабых машинах (ssd, i5, 16 гб ОЗУ) просто достали. Пользовался продуктами jetBrains еще со времен Idea 3, последние годы использовал RubyMine и AppCode. У жены тоже был RubyMine. Постоянные проблемы и косяки нас просто достали, поэтому мы переехали на vim и atom. Говорю в основном про мак. С какого-то момента мне стало стыдно рекомендовать продукты на базе idea, потому что люди ставят триал и начинают спрашивать «а почему у меня рефакторинги не работают», «а почему на моей машине такие фризы», «что за артефакты в редакторе при работе с двумя мониторами» и т.д.

По поводу «а есть ли баг в багтрекере?». Спасибо, нет. В вашем багтрекере черт ногу сломит, а после того, как один мой баг провисел полтора года, и делать его начали только после нытья на Хабре, я перестал репортить баги.

Ребята, вспомните свою работу над производительностью для RubyMine 4, вы же могли сделать продукт, который летал на моем стареньком macbook air. Про тормознутость ваших продуктов ходят легенды, достаточно открыть любой тред на реддите.

Странное отношение к багрепортам.

Любой разработчик физически не может исправить все что ему репортят. Приходится выбирать наиболее приоритетные баги в первую очередь. И приоритетность разработчика может не совпадать с приоритетностью каждого конкретного пользователя.

Баг репорт создается в 2 клика, где там можно ногу сломить? Просто интересно.

Багрепорт это минимум, который может сделать юзер для улучшения используемого продукта. Никто не обязан этого делать, но искренне не понимаю — почему нет, если это занимает пару минут?

Фидбеки и правка багов это массовый процесс, в котором мы как юзеры можем принять посильное участие. Это не Ваше личное одолжение разработчику, в ответ на которое он должен быстро все исправить (даже если делов там на 2 строчки). На вход мы даем некую массу репортов, на выходе получаем некую массу фиксов. Как то так.

И да, возможно, вот кто-то тоже «забил» на репорт вашего полуторалетнего бага, и он стал недостаточно приоритетным и пролежал полтора года. Все взаимосвязано.
> Баг репорт создается в 2 клика, где там можно ногу сломить? Просто интересно.
Ногу там сломить во время поиска по ключевым словам, многие из моих репортов закрыли с пометкой «дубликат», а ведь я честно пытался найти проблему в трекере. Вы немного лукавите про 2 клика, собрать шаги для воспроизведения ошибки не так и просто. К примеру, проблема, которая возникала в последние 2 месяца использования RubyMine на двух разных машинах (macbook pro 2014 и air 2012): при каком-то стечении обстоятельств, при запущеной IDE машина намертво виснет, помогает только полный ресет. Сколько времени нужно потратить, что бы отдебажить эту проблему и создать багрепорт?

Не стоит забывать, что речь идет о платном продукте, а не об опенсорсном. Если при чистой установке приложения в нем не работают основные фичи (я уже приводил пример с рефакторингами, наблюдал у двух разных людей, а это, на минутку, затрагивает даже обычный rename), то это проблема не пользователей, а QA продукта.

И можно сколько угодно рассуждать про репорт багов, но это только одна (и не самая серьезная) из проблем IDE, которую я описал.
Вы сказали " В вашем багтрекере черт ногу сломит", но описанный пример — сложный баг, и трудо- и время-затраты на описание бага, при чем тут трекер?

Никто никому ничего не должен, вы правы. Мы платим деньги — хотим готовый продукт, а не возможность поучаствовать в его создании.

Мне просто показалась странной указанная Вами мотивация не писать баги: «мой баг не пофиксили, вот и небуду ничего репортить, вам же хуже». Похоже на простую обиду от непонимания как работает система в целом, что я и попытался объяснить в своем посте.

Насчет дубликатов — пусть сами разбираются/улучшают систему. Я пришел, у меня есть баг. Если их авто-подбор не показал мне что баг есть, я его завожу. Без поиска «как бы не обидить их дубликатом». Аналогично, был случай когда тестировщик не подтвердил мой баг, поскольку я его плохо сформулировал или он неверно понял мой супер-английский :) Я не стал подробно описывать и объяснять, ибо тут уже стало жалко времени. Но свой, скажем так, гражданский долг, считаю выполненным.

Идеалов не бывает. Проблемы есть всегда. Никакое QA не способно найти все, что найдут пользователи. Лично я видел это на многих масс-продуктах — Windows, игры Blizzard и тут. Таков технологический процесс. Главное, чтобы баги правились.
R# C++ 10.0 тормозит так, что невозможно работать, иногда виснет так, что не работают клавиши и скролл, пришлось откатываться на 9.2. Скоро, видимо, придётся переходить на QtCreator. Preformance report отправил, если что.
Спасибо за репорт. Если в нем видна причина, то будем фиксить.
Разработчики утверждают, что пофиксили проблему, о которой вы сообщали. Фикс должен быть в апдейте 10.0.1, что ожидается под конец предстоящей недели.
Всё-таки новая версия phpStorm (10) работает заметно шустрее на моём i5 под linux без SSD, нежели phpStorm 9*.
Учитывая дописанные в .vmoptions строки:

-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true


Если у меня сейчас есть действующая лицензия на IntelliJ Idea 14. И я хочу купить «весь пакет». Сколько мне это будет стоит и на как долго?
$199 стоит подписка два года (1 + 1 в подарок). Покупать сейчас не обязательно, можно дождаться, пока подойдет срок текущей лицензии.
0xDBE будет доступен в этой лицензии?
Да: мы планируем релиз 0xDBE на середину ноября, и она, конечно, попадает в All Products.
А уже.
Мы просто вчера забыли добавить на него ссылку. Спасибо, что напомнили.
topka Подскажите, а обновляться IDE-шки будут автоматически или как сейчас надо будет самому скачивать и устанавливать новую версию?
а он же и сейчас через Patch обновляется в платной версии. В Community Edition когда как — когда patch предложит, когда целиком скачать — но помогает, если отказаться, то потом может предложить patch скачать.
Текущая политика такая: минорные обновления и багфиксы (изменение 2й или 3й цифры в версии) имеют патч с автообновлением, а мажорные обновления (изменения 1й цифры версии) нужно качать полностью заново с сайта.

Случается, что патч отсутствует но мы стараемся чтобы такое не происходило.
Спасибо большое за ответ.
В идеале — всё же сделать чтобы при обновлении мажорных версий — пхпшторм тоже качал сам файл.
Даже если фактически получится что он просто по прямой ссылке скачивает тот же инсталятор и запускает его — лучше так, потому что очень не удобно лезть на сайт, выбирать там пакет, ждать пока скачается, запускать и тп.
=> для вас меньше конверсия при переходе на новую версию.

2. Очень не удобно что при смене мажорной версии — надо повторно вводить все свои регистрацианные данные (аккаунт и пароль). Почему оно не может подхватывать данные автоматически?
UFO just landed and posted this here
Класс, скажите а почем приблизительно планируете продавать IDE для DB? Хотя бы приблизительно, а то зачем зря себя демкой искушать если в конце концов финальный продукт не по карману. Заранее благодарю.
Присоединяюсь к вопросу.
Цена планируется не выше стоимости других IDE, типа PyCharm или PhpStorm
А чего буфер обмена в pycharm поломали. С течением времени он просто перестает выполнять свою функцию! Копирование-вставка работают только внутри IDE. (Windows)
Ясно. Если есть что добавить — это может нам помочь. Или как минимум стоит проголосовать
Спасибо!
Создать новую запись для pycharm?
А можете в личку написать процент недобора перешедших на след. версию по сравнению с другими например с 13 на 14.
Просто я как минимум вижу несколько крупных торрентов, которые в день релиза сразу пользовались и качали новую версию, естественно чего лукавить с кейгеном, но для личного пользования.
Но эти юзеры слали багрепорты и тоже приносили пользу как в тестировании продукта так и в его распространении и рекомендациях вашего продукта. Сейчас, трекеры молчат и люди разочарованы. Или от таких юзеров профит был маленький?
Может быть, не совсем в тему отвечу, но за активное участие в EAP программе можно получить лицензию и перейти на светлую сторону силы
Не спорю, но меня интересовали цифры. Скажем честно проверку на сервере обойти сложно, так что юзеры уже линяют. Вот меня интересовало, стоило ли терять этих пользователей, да сейчас они не платили, но они слали баг репорты, разрешали собирать статистику использования и прочее. Чем тупо отрубить им доступ к продукту.
Хотя в будущем, пойдя на работу они уже будут привязаны к их IDE. Или показывая где то на локальных митапах где то за МКАДом светили публике их IDE и задавали тренд.

А то такое впечатление, что мотивировалось всё как с музыкальными лейблами о недополученной прибыли, а в конце и прибыли не получили, но ещё и халявную рекламу, статистику и баг репорты потеряли… Или я просто не так мыслю? Просто мне кажется компания ничего не теряла от таких пользователей, а только приобретала если подумать. И переводя на подписку, не просчитать вариант с такой категорией юзеров глупо. А я уверен они вкурсе об этой категории юзеров. Если в IDE отслеживается сколько раз я нажал какой нибудь «хоткей», думаю что используется без лицензии тоже отправлялось вместе со сбором статистики.
И я не вайню и куплю idea свою, мне просто интересен этот момент в плане бизнеса.
Пока что сложно подсчитать “недобор”, так как переход на новую версию у наших пользователей может традиционно занимать ощутимое время.

Что же касается модели в целом. Мы, конечно, все это учитывали с точки зрения бизнеса, всех плюсов и минусов. Поверьте, у нас было много увлекательных и жарких дискуссий внутри компании)

Стоит отметить, что ни статистика по использованию фич, посылаемая пользователем по желанию, ни баг репорты в трекере, ни запросы в саппорт, насколько я знаю, к лицензии не привязаны.

Как показывает опыт, тем, кто активно занимается евангелизмом наших продуктов, мы с радостью дарим бесплатные лицензии, потому что нам, как Вы справедливо заметили, это выгодно. А кто-то из таких людей сам идет и покупает, так как считает, что таким образом выражает благодарность компании за хороший продукт. Часто кстати, именно такие люди “первопроходцы” в покупке апдейтов)

А еще много полезного фидбека идет от EAP-ов, то есть с абсолютно легально бесплатного билда. Как уже заметили, особо активным мы тоже дарим лицензии. Да и просто активный пользователь, который выдает нам много фидбека и много с нами взаимодействует по каким-то проблемам, зачастую получает бесплатную лицензию.

Мы также стараемся поддерживать те группы, которые не могут себе позволить наши лицензии — стартапы получают 50% скидку, open source проекты — бесплатные лицензии, как и студенты.

Как-то получилось много и не уверена, что смогла ответить на Ваш вопрос) Но надеюсь, что смогла прояснить хоть что-то.
Да нет, вы конечно не предоставили цифры, но полностью ответили на поставленный вопрос.

Главное, что вы про эту категорию пользователей знаете и перед таким релизом вы учли их.
Вы хороший евангелист и маркетолог, вы так филигранно заканчиваете предложение, каким нибудь способом как получить лицензию. Просто мастерски. Без шуток и сарказма.
Вы назвали кучу методов как получить лицензию, но вы не учли отношение пользователя к полученной лицензии чисто психологически.
Получив лицензию хоть и халявную легальным способом, отношение к продукту уже будет более серьёзное, не будет вау эффекта при рассказе другу, чего это ты на нетбинсе или эклипсе сидишь, смотри как тут круто и начнёт тыкать его мордой в тёмную тему и так далее… Зная что если что, друг скажет оки хочу так же, он без проблем даже по окончанию 30 бесплатных дней, сделает так что друг останется, кинув ему сгенерированную лицензию.

А получив лицензию по какой то программе как стартапер или котрибютор в опенсорс, друг скажет да продукт крутой, но он стоит столько то, а что бы получить бесплатно тебе надо… И через 10 минут лекции как получить продукт бесплатно, друг думает, а нафик мне и на эклипсе хорошо.

Я описал только 1 тип пользователя. Есть ещё такие которые, например начинают учить андроид, они знают про андроид студию основанную на idea, они в курсе что им нафик не нужно круче.
Но они идут на торрет и качают Ultimate Edition и пичкают плагинами для разработки на android. Он не будет пользоваться интеграцией с Spring и автодополнение sql ему не к чему и прочие плюшки. Вот он хочет не огрызок а полноценную IDE, чисто психологически.

Это второй тип, а их много. Всех их объединяет одно, они в любом случае на данном этапе времени не купили бы лицензию, они безобидны и не приносят компании негатива.
Но это потенциальные пользователи, это бесплатные распространители (когда записывают видео для ютуба, где он круто за 10 минут делает бложек), это статистика и репорты приходящая от них.
Вот, что я хотел донести. Но я рад, что по вашим словам вы это уже знали и даже были споры по этому поводу перед релизом. Спасибо вам за такой полноценный и содержательный ответ. И спасибо, что прочитали, я ещё тот писака, лью много воды и возможно примеры не совсем подходящие… Но так уж я пишу.

Ах да ещё если будете считать такого рода пользователей, начните через 30 дней после релиза, потому что многие сейчас обновляются даже зная что ключей нет, берут 30 бесплатных дней, в надежде что за это время всё появится. Так что так статистика будет точнее.
Спасибо за мысли и примеры. Вы, в целом, всё правильно говорите. Мы сейчас находимся в некоторого рода переходном режиме, очень много всего поменялось. Не поменялось только наше желание делать лучшие продукты для программистов.

Мы определили большое количество разных метрик чтобы понимать какой эффект дают различные изменения и будем внимательно за ними следить. И про 30 дней вы тоже правы, мы это всегда учитываем.
Спасибо, что услышали. Удачи вам и побыстрее и с лёгкостью пройдите этот переходный период.
Спасибо на добром слове. И за мысли/комментарии. Их, поверьте, очень интересно читать.
А метрики по текущему положению дел нам сейчас и самим очень и очень интересны)
подтверждаю.
Начинал с «ломанной» 10-й версии, потом купил 12-ю, потом на EAP, а спустя некоторое время получил ключ как участник EAP и вот уже несколько лет этими ключами и пользуюсь.

ЗЫ: а чтобы не было так сладно, скажу, что не ожидал, что вы с этим багом выпустите релиз.
Ну вы собственно и олицетворяете таких пользователей про которых я говорил.
Так же само и они, начнут с ломаной, придут на работу — на работе им дадут лицензию, дома 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 минут, так больше народу посмотрит. Ещё и на просмотрах ютубовских заработать можно:)) Ну это шутка)
Учитывая количество новых фич в решарпере для C# (немногим более нуля), несмотря на крутое число 10 в версии, я начинаю понимать, почему JetBrains так хочет перевести всех на подписку. :) То, что мой тривиальный баг в Stack Trace Explorer, который я репортил 2.5 года назад, наконец-то заметили — это, конечно, прогресс, но интегрирование плагина и поддержка свежих библиотек как-то не слишком впечатляюще звучит…
Дык где же улучшения «старых забытых фич»? :)
Ждём и надеемся! Диалоги вон поправили )
Ну вот вы сами сказали про Stack Trace Explorer, в нем масса всего починилось.

Немодальный Rename на очереди — он мог попасть в 10, но не успел. Будет в одном из следующих релизов.

Дерево новое внедряем в Unit Test Sessions, Errors in Solution и прочие деревянные места. Пока не без проблем, дальше будет лучше.
Фич в любом релизе, если его подготовка заняла не годы, будет не сильно более нуля, не правда ли?

Впрочем, расскажите, какой набор фич вас бы впечатлил. Может, какой-нибудь из прошлых релизов решарпера припомните, который вам понравился?
На мой взгляд новый решарпер нужен при выходе новой студии. Дальше частые минорные обновления. Особенно частые в начале, пока новая версия сырая. А она всегда сырая поначалу.
Сейчас же переход с 9.2 на 10 пользы много не принес. Т.е. его вполне можно было назвать 9.2.1. В нем нет ничего такого (внешне. про внутренности не знаю) что могло бы обосновать увеличение мажорной версии.
Вы троллите, наверное, да?

В десятке есть ReSharper Build, он один катит на мажор. Остальные наиболее значимые изменения (continuous testing и полный цикл timeline-профилирования в студии) — они, справедливости ради, в dotCover-е и dotTrace-е, соответственно.

А частые обновления, конечно, будут. Уже знаем, что надо обязательно и быстро фиксить пропадающий Output в Unit Test Sessions, красный код в новейших UWP-тулах и проверку лицензий. Через неделю-другую будет хотфикс, в середине декабря еще один апдейт, и так далее.
Нет, не троллю, все написанное мной было абсолютно серьезно. И чтобы не говорить за всех, я специально написал «на мой взгляд».
Я пользуюсь только R# для C#. dotCover, dotTrace мне по лицензии не положено.

Есть ли R# Build в обычной версии (не Ultimate) не успел заметить (пришлось откатиться до 9.2) и сейчас сходу не нашел этой информации.

Таком образом мне лично (не всем на свете, а лично мне), как человеку пишущему для Windows 10, R# 10 принес только проблемы.

За обновления с хотфиксами заранее спасибо. Очень жду. Думаю что после 2-3 обновлений решарпер снова начнет приносить удовольствие от использования.
ReSharper Build в обычной версии есть. Если интересны подробности, пожалуйте на вебинар на следующей неделе, будем рассказывать и показывать, что это, зачем, с чем работает, а с чем (пока) не умеет.

Жаль, конечно, что с UWP проблемы. Вот реквест, который, похоже, отражает происходящее у вас (а если не отражает, то, наверное, стоит создать другой). Вчера воспроизвели, фиксим.
Начнём с того, что меня впечатлило бы, если бы кто-то обратил внимание на мои фичереквесты: атрибуты для своих 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+Improvement
Понятно, спасибо.

Я вижу, у вас в основном реквесты про XAML. Мне сейчас не очень понятно, насколько интенсивно его поддержка в решарпере будет развиваться в ближайшем будущем — это, наверное, лучше ControlFlow лучше знает.

Популярные запросы мне лично хотелось бы, чтобы получали еще больше внимания. С другой стороны, многие из них реализуются внутри или в виде плагинов, другие мы по разным причинам делать не хотим или не можем и стараемся объяснять, почему.

По поводу некоторых популярных реквестов, что пребывают в открытом и нетронутом состоянии, есть серьезные вопросы. Например, мы так и не поняли, откуда (если судить по голосам) ажиотажный спрос на поддержку LESS/Sass/CoffeeScript — технологий, которые, судя по другим данным, никогда не отличались особой популярностью среди дотнетчиков. Анализы про disposables, насколько я понимаю, либо слишком тяжелы, чтобы выполнять их налету, либо неточны.

А форматирование директив неплохо бы пофиксить уже, да.
Мне всегда нравится, что программисты вне IDE-индустрии всегда намного лучше знают как делать IDE, вот только работают почему-то по другую сторону. IDisposable инспекции знают все как сделать, а кто потом будет тысячи false positive разбирать и объяснять юзерам почему мы задиспузили их Stream предложив задиспоузить локальный StreamReader? Алиасы извлекать чтобы люди по всему миру делали больше 'using UsersList = Dictionary<int, MultiDictionary<User, ExtraData<Dictionary<int, string>, decimal>>>;', а потом через релизы помогать людям избавлять их через инлайн или сохранять во всех рефакторингах (что КРАЙНЕ сложно)? И как поддерживать любые кастомные биндинги в XAML (в котором просто дохрена всего работает в сугубо рантайме) с кастомно вычисляемыми дата-контекстами тоже все знают… эх

Что не так с нугетом? Nuget-плагин давно включен в поставку, из фич добавляем ссылки на целые пакеты, а не бинарные сборки. Не поддерживаем сборки из nuget-пакетов как единое целое в фиче «Remove unreferenced code», что-то еще?
Ну да, с IDisposable всё не так просто, придётся пройтись по нескольким сотням классов и развесить какие-нибудь атрибуты… :) Вообще, можно не заморачиваться и проверять только объекты, которые создаются и никуда не передаются. На классы, у которых реализация интерфейса фиктивная/бесполезная, навесить атрибуты. Со StreamReader не понял — вы создаёте несколько ридеров на Stream и не диспозите их?

Давайте с алиасами не преувеличивать, у них есть и нормальные применения, а использовать решарпер для превращения кода в месиво можно уже сейчас. Решарпер и сеттер делать приватным предлагает, и «else» повсеместно удалять, я уж молчу про настройки форматирования по умолчанию, которые выстраивают код в выровненный справа кривой столбик. Если юзер постарается, то с помощью «Import static members» можно импортировать все статические классы и перечисления. Схлопнуть цепочку вложенных if в пятискобочный однострочник с тернарными операторами при молчаливом удалении всех комментариев тоже никто не помешает. Что угодно во зло можно использовать. :)

Вот при рефакторинге поаккуратнее обращаться с алиасами не повредит. Верю, что сложная фича, но вручную потом всё исправлять несколько напрягает…

Ладно, абсолютно любые кастомные биндинги — это, положим, нереально. Но ведь можно переделать определение поведения строковых свойств с суффиксов классов markup extensions ("*Binding") на атрибуты («BindingPathAttribute», «ResourceKeyAttribute»)? Это уже покроет множество случаев, а текущая реализация всё равно делает конкретные предположения о том, относительно чего вычисляется строковое свойство в конструкторе класса с суффиксом Binding.

С XAML в отрыве от WPF всё как-то печально. Пишу либу, в которой XAML используется — так весь код подсвечивается…

Ну вот оно в нугете и отсутствует. Я ж не сам придумал, у фичи 10 лайков стоит.
Ну камон, это самая известная проблема StreamReader'ов, что он диспоузит underlying стрим. Конечно же люди юзают несколько ридеров/райтеров с одним стримом. «Никуда не передаются» — любой вызов instance-члена на таком объекте (иначе зачем он вообще?) — это передача этого ссылки на этот объект через `this`, что может продлить его время жизни. Атрибутами пользуются минимум пользователей, нет возможности автоматизировать проверку применений таких атрибутов. Ну правда, умножьте ваш взгляд на проблему IDisposable на порядок и вы приблизитись к истине. Или напишите плагином и покажите нам как надо.

У алиасов только одно нормальное применение — разрешать конфликты коротких имен. Остальное — это извращения «структурно-типизированных» программистов, экономящих декларации типов.

Что не так с приватными сеттерами? Чем акцессор отличается от члена класса, которому можно «уменьшить» уровень доступа?

Убивание `else` снижает уровень нестинга — мне тоже несколько лет потребовалось чтобы понять и принять, что это все же во имя добра. Может быть и к вам придет.

Форматирование по умолчанию — если бы вы у нас работали, то конечно бы смогли угадать такое количество столбцов в документе, которое устраивалось бы абсолютно всех. Но вы почему-то все еще не работаете у нас :(

«Import static members» — это не суджешшен, не инспекция, это контекстное действие. Маленький рефакторинг. Структурное редактирование кода. Оно делает что делает не потому что оно может сделать ваш код лучше или нет. Оно лишь автоматизирует ваше намерение сделать что-то.

Комментарии уже много лет не знаем как научиться сохранять при произвольных трансформациях, но вы конечно бы решили эту проблему. Для всех тысяч экшенов и фиксов. И рефакторингов.

Нет, нельзя переделать на «BindingPathAttribute». Чтобы этот атрибут прочитать, нужна семантическая модель. А сама поддержка property-path работает гораздо раньше, на этапе парсинга. Но вы конечно придумали бы как все отрефакторить на двухфазное построение синтаксических/семантических моделей.

Эх
Что не так с приватными сеттерами?

Оговорился, имел в виду приватные геттеры. Исправлением свойства, которое извне только изменяется, решарпер считает 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 работает? Он же влияет на логику распарсивания путей в биндингах.
Куда делась великолепная сова из заставки Intellij IDEA 15 Preview?! :'(

А еще в 15 версии не исправлена ошибка связанная со Spring-Boot аннотацией @EnableJPARepositories…
А как она у вас проявляется, а то у меня ошибки нет вот уж месяц как
У меня вот в 14 версии этот баг исправлялся, если я указывал аннотацию @EnableJpaRepositories. В 15 даже это не помогает :(



попробуйте "@Qualifier" указать рядом с "@Autowired", либо переменную обзовите правильно.
Ещё, как предположение — у вас Application находится точно выше по иерархии пакетов, чем DoctorRepository? Потому что при аннотации "@SpringBootApplication" аннотацию "@EnableJpaRepositories" уже не обязательно указывать — она автоматом сканирует вглубь пакетов

скриншот из 15-й EAP версии
image
Если насильно на интерфейсы-репозитории указывать аннотацию @Repository, то все в порядке, даже без аннотаций вроде @ComponentScan/@EnableJpaRepositories. Но использовать эту аннотацию на интерфейсы, на мой взгляд, сомнительная идея…
А без аннотации @Repository работает за пределами IDEA? Надо проверить будет — привык уже явно указывать репозитарии…
Работает, конечно. Мало того, в официальной документации Spring Data указано, что нет необходимости в таких аннотациях. Ну и вообще, аннотации стереотипов Spring обычно указываются на классы, реализующие интерфейсы.

И, кстати, 14 IDEA прекрасно обнаруживала такие репозитории с аннотацией @EnableJpaRepositories…
завёл баг, хотя интересный момент — расхождение примеров из документации и guides.
Спасибо за инициативу!!!
Подскажите, пожалуйста. Я хочу странного. У меня сейчас есть 2 активных лицензии — PyCharm и PhpStorm. И не так давно отвалившаяся лицензия RubyMine.
Можно ли как-нибудь вместо всего этого зоопарка получить акционную лицензию на IntelliJ IDEA Ultimate?
Sign up to leave a comment.