(Untitled)

May 12, 2011 21:26

Недавно дотнетовскую публику постигла тяжелая утрата в лице смерти Рефлектора. Ну, то есть он не умер, а стал платным, что, по сути, равносильно для большинства пользователей. А теперь вышел декомпилятор dotPeek производства широко знаменитой в узких кругах фирмы JetBrains, И он явно отхватит 100% отрекшихся пользователей Рефлектора, за исключением ( Read more... )

Leave a comment

takopus May 12 2011, 14:43:01 UTC
JetBrains вообще крутые, в последнее время попадаются мне везде, в разных областях программирования. А IDEA к тому же почти в 3 раза дешевле Powerflasher FDT, с которым довольно неплохо способна конкурировать и во многом обходит его.

Но. IDEA всё-таки глючная, причём глючная неприятным хитрым образом, когда ты совершенно не понимаешь, что за фигня тут происходит, а фигня эта лечится рестартом идеи. Типа, глюки анализатора кода. Или глюки используемого ею компилятора (она может использовать FCSH, который непонятным мне магическим образом подкомпиливает код в процессе работы, в результате сокращая время компиляции с 2 минут до 2 секунд в прямом смысле слова). Или самопроизвольно сбрасывающиеся настройки во глубине (а этих настроек у неё МНОГО). Часть этих проблем можно обойти, например соорудив в качестве билда Ant-файлы с тем же FCSH, но стоящим отдельно. Но большинство не обходятся. Я, например, сижу на IDEA 9, потому что исключительно на моей машине IDEA 10 после мгновенной компиляции 2-3 минуты не может открыть результат в браузере (а это фатально, когда нужно не просто посмотреть, а дебажить в связке с самой идеей).

Сплошная беда, короче. Прости за многабукаф. Я просто два дня бился с ней, чтобы настроить два проекта после переноса SVN'а. Т__Т

Reply

takopus May 13 2011, 12:04:00 UTC
takopus May 13 2011, 12:29:33 UTC
А, да, мне говорили, что JetBrains очень быстро реагируют на баг-репорты. Удивительно встретить представителей в жж и заодно хочу передать привет маме спасибо вам!

Проблема в том, что баг неуловимый. У меня есть, у коллеги нету (этого, зато есть другой). Раскопки в гугле, например, не дали вообще никаких результатов по моей проблеме, которая "не открывается в браузере после компиляции". А у коллеги вот компилируется 2-3 минуты, хотя FCSH точно так же настроен и подключён, там вообще единые настройки проекта и IDEA через SVN организованы.

Есть только три вещи, о которых можно было бы написать с уверенностью, и все они касаются подсветки синтаксиса:
1. arr:Array = str.split(/\x0/); - регулярное выражение здесь подсвечивается как неправильное шестнадцатиричное число.
2. в AS3 есть относительно недокументированный синтаксис function foo(arg:SomeClass!). Вот этот ! после имени класса в аргументах означает, что аргумент не может быть null. Пока компилятору на это плевать, но в будущем, как говорят инсайдеры, он будет кидать ошибку 2007. Тем не менее компилятор вполне понимает этот синтаксис, а вот IDEA, увы, не очень.
3. В конструкции foo({someProp: super.someOtherProp}) ей не нравится super.
Как можно заметить, все три исключительно незначительны. А джиры мне хватает и на работе, чтобы вламываться в баг-трекер ещё куда-то.

А вот фич-реквест один было бы хорошо, кстати. Единственная вещь, которой мне реально не хватает в IDEA после FDT. В оном FDT по Ctrl+Enter можно было скакать по всем подсвеченным местам, которые он знал как решать, причём сразу предлагалось дефолтное решение. Скажем, я написал:
mySprite.addEventListener(MouseEvent.MOUSE_OVER, onOver);
mySprite.addEventListener(MouseEvent.MOUSE_OUT, onOut);
mySprite.addEventListener(MouseEvent.CLICK, onClick);
Все имена обработчиков, разумеется, подсветились красным, потому что обработчиков самих ещё нет. Так вот в FDT, где бы я ни находился в когда, я могу тройным нажатием Ctrl+Enter, Enter создать все три обработчика. В IDEA мне понадобится прыгать по коду, т.е. делать либо лишние клики, либо навигировать клавиатурой.

Но это тоже так, крик души, не более того. Ещё раз спасибо за среду!

Reply

nicity May 16 2011, 14:18:22 UTC
Спасибо за конструктивные комментарии, 3) уже зачинили.

Reply

takopus May 16 2011, 14:32:21 UTC
Вам спасибо!
Я понимаю, что это глупо - писать репорты тут, но колега очень-очень просил, потому всего один маленький: если делать пару геттер + сеттер, при этом сделать им разный уровень доступа, например одному public, а второму protected, то IDEA подсвечивает это как ошибку и поясняет "Flash compiler bug 174646". Коллега говорит, что это уже довольно давно не баг компайлера (со второго, что ли, флекса) и печалит несказанно. Не спрашивайте меня, зачем ему геттер и сеттер с разными степенями приватности. =)
Так или иначе, коллегу запинаю, чтобы он дальше ставил таски в вашем трекере. =)

Reply


Leave a comment

Up