JetBrains WebIDE — публичная сборка #701 / немного о ZendCon'09 / кое что о неочевидных возможностях

    И снова «идеальное IDE для PHP» от JetBrains ^) За прошедшее с предыдущей сборки время мы успели обзавестись официальным сайтом, посетить ZendCon'09 и наконец заняться обещанной оптимизацией производительности. Нашлось время и на несколько новых фич. Пока качается билд загляните под кат — кроме обычных подробностей там будет пара слов о ZendCon и о уникальных функциях платформы/WI.




    ZendCon'09


    Перед конференцией были туториалы — для меня стала открытием сессия PHP on IBM I5. IBM объединила усилия с Zend для того чтобы принести PHP на мейнфреймы. Если оставить в стороне экосистему i5, то для всех остальных это тоже может иметь значительные последствия, особенно если IBM поможет развивать ядро языка. В 5.3 уже появились кое-какие оптимизации но судя по прочим более «взрослым» технологиям основная работа еще впереди.

    Кейноут (да и большинство сессий) были очень бодрыйми и оптимистичными — в этом году вышел PHP 5.3, появилась новая ZendStudio (а специально к конференции выпустили и 7.1), продолжается совершенствование всего стека и инструментария Zend, в общем и язык и платформа и сообщество движется вперед :)

    Во время ланчей и пока основной народ был на сессиях мы довольно много общались сотрудниками Zend — и даже впечатлили кое-кого из разработчиков ZendStudio нашими технологиями. В свою очередь нам было интересно послушать о том как они занимаются развитием платформы Eclipse и помогают координировать усилия Eclipse Foundation. Все-таки JetBrains это довольно небольшая компания :) Из инженерых вещей было интересно послушать об работе над языковым ядром, а так же автоматическим профилированием (особенно с точки зрения java-web-разработчика с серьезным стажем)

    Что нового в этой сборке


    Под впечатлением от разговоров с пользователями на ZendCon мы занялись оптимизацией. В качестве «стресс-тестов» мы использовали таких тяжеловесов как ShugarCRM и Magento (хотели попробовать и Битрикс но не нашли версии с открытыми исходными кодами). Буквально первые сеансы профилирования показали что выведение типов производило слишком много «мусора» в памяти, да и могло приводить к зацикливанию (и зависанию) — теперь эти проблемы исправлены. Хочется сразу сказать что это лишь начальная оптимизация и мы планируем серьезно заниматься этим дальше. *Очень* хочется услышать отзывы всех кто проапгрейдился. Если у вас есть конкретные проблемы — пишите любым способом. Я лично обрабатываю весь фидбек.

    Новые фичи:
    • улучшена генерация PHPDOC
    • навигация/поиск использований для глобальных переменных
    • распознавание членов класса на основании имени для тех случаев когда выведение типа не возможно
    • поддержка SFTP
    • автодополнение после ключевого слова new
    • пространства имен отображаются в дереве структуры файла
    • квикфикс (Alt-Enter) для определения неизвестных переменных с помощью var

    Множество багфиксов, детали в блоге и трекере

    К сожалению есть и известные проблемы
    • Наиболее серьезная — деградация: многострочные литералы в этой сборке неверно подсвечиваются как содержащие ошибку WI-494
    • Несколько деклараций namespace XXX; (именно с ";") в одном файле будут ошибочно распознаны как вложенные WI-497
    • переименование переменной удаляет знак $ из имени WI-500

    Постараемся выпустить обновление поскорее. Ждите багфиксов, оптимизации и конечно новых фич :)

    Кое что о неочевидных возможностях WI


    Релиз приближается и мы начали собирать всю информацию о функциях WebIDE в одном месте. Даже если вы уже освоились с редактором рекомендую хотя бы просмотреть список. А здесь расскажу о паре весьма полезных но не совсем очевидных возможностей. Итак, если в вашем проекте PHP используется для генерации XML, JS, CSS, SQL или какого-то иного языка которых поддерживается WebIDE вы можете комфортно работать с помощью следующих функций:

    «Внешний» язык для PHP


    Для каждого файла или папки можно выставить «внешний» по отношению к PHP язык вместо дефолтного HTML через панель Settings|Template Data Languages. Эта настройка запоминается в проектном файле.

    «Внутренний» язык для строкового литерала в PHP


    Внутри литерала нажмите Alt-Enter и выберите «Inject Langugage», а затем требуемый язык. Пока что НЕ запоминается. В будущем можно будет указать что *например* первый строковый параметр функции query() — это SQL (и выбрать диалект)

    Для обоих случаев будет включена полная поддержка языка — включая комплишн и рефекторинг. Используя эти фичи можно получить полную поддержку любой комбинации языков %)



    На этом я заканчиваю и жду любых вопросов и предложений :)
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 200

      –1
      Когда в планах заняться скоростью работы IDE? Понравился редактор, только хочется, чтобы он был очень быстрым :)
        0
        Очень быстрым к сожалению всё равно не получится. :) Но действиетльно очень хотелось бы.
          0
          В топике про это написано — уже начали. Но пока не закончим с фичами для 1.0 — могут быть любые эффекты :)
            +1
            Еще быстрее?!
            Использую этот редактор с первой публичной версии и главное его достоинство — он действительно быстрый! Eclipse по скорости открытия окон, файлов, перемещения между ними и рядом не валялся — интерфейс (не учитывая мест, где еще есть просто открытые баги) очень отзывчивый. Netbeans при сравнительно той же скоростью ответа на работу с файлами серьезно проигрывает в прорисовке дерева проекта в окне проекта при хождении по нему.
            Так что главное чтобы он и _оставался_ быстрым :)
              0
              Спасибо! Но к релизу точно будет ЕЩЕ быстрее :) Потом когда снова начнем обрастать фичами — всякое возможно… Но мы постараемся ;)
                0
                Быстрый? Интересно, какая у вас машины, что у вас он быстрый?
                  0
                  Месяц прошел, что за некропостинг :)

                  Ну и давайте посуществу — какой проект, что тормозит, присылайте CPU snapshot… Разумеется на самом свежем билде. А еще лучше — подождите пару дней следующего чтобы не отрепортить то что уже исправлено…
                    +2
                    Да я пошел искать новую версию IDE, ввел на хабре JetBrains WebID и самый последний пост оказался этот. Ну и вот, не удержался.

                    Теперь по существу:
                    минут 10 назад поставил сборку 92.53, пока еще нареканий нет. Как только появятся — так сразу.

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

                    Изредка случались периоды задумчивости, когда IDE ожесточенно хрустит винтом и думает. Минуты полторы. Потом летит дальше.

                    В целом — выражаю искреннюю благодарность за непотопляемую программу :)
                      +1
                      И вам спасибо на добром слове :)

                      Вы не ленитесь сообщения отправлять — особенно после установки очередного билда :) Мы их ВСЕ обрабатываем и ошибки постепенно исправляем.
                        0
                        Кстати, поиска по настройкам я нигде больше не видел. Это тоже впечатлило.
                          0
                          Ну что вы — мы переняли идею с Mac OS X System Preferences :) Да и не мы одни — вон, в Эклипсе тоже есть… Хотя и не так симпатично сделаны ;)
                            0
                            А вот, вспомнил чего хотелось бы :)

                            Когда кодим, несуществующие файлы
                            (скажем в [script type=«text/javascript» src=«shop.main.js»][/script] (файла нет) подсвечиваются.

                            Хотелось бы иметь возможность перейти к редактированию (если его нет — соответственно созданию) файла по указанному пути. Естественно это касается как JS-ссылок, так и PHP (или иных инклюдов).

                            Может быть такая возможность уже есть (я не нашел пока), но хотелось бы её иметь в контекстном меню по RMB.
                              0
                              По поводу тормозов: 5 часов, полет нормальный, иногда увлекается сборкой мусора и подвисает на секунд десять (к сожалению машина слабая и это заметно)
                                0
                                Еще:
                                В NetBEANS есть подсказка по определенной программистом функции. Она опирается на комментарий перед описанием функции в листинге.

                                Есть ли в JB WebIDE такая возможность?

                                В NetBeans (а до этого в WDS) было очень удобно — Ctrl+Space — набираем имя функции и видим список её параметров, который описали в комментариях.

                                P.S. месяц — это разве некропостинг? :)
                                  0
                                  На всех подсветках инспектора можно нажать Alt-Enter — «создать файл» будет там.

                                  Информация о параметрах — Ctrl-P

                                  Вообще есть полезнейшая вещь Search for Action (Ctrl-Shift-A) — там пишите например «param» и видите все функции и шорткаты.

                                  P.S. билды-то мы еженедельно выпускаем :)
                                    0
                                    На всех подсветках инспектора можно нажать Alt-Enter — «создать файл» будет там.

                                    Я вообще имел в виду возможность перейти к редактированию любого файла, упоминающегося в коде непосредственно по каким-то манипуляциям с его упоминанием. Чтобы не выискивать, где же он лежит в недрах проекта.

                                    Скажем так, пустячок, а приятно.

                                    Возможно, опять же, это уже есть, но я пока не нашел.
                                      0
                                      Переход к любой сущности по ссылке на нее Ctrl-B/Ctrl-Click

                                      П.С. нашей платформе 10 лет — у нас есть все и еще кое-что.
                                      0
                                      Очередной некропостинг ;-)

                                      Возникла ошибка в IDE, попытался отправить фидбэк, мне в ответ:

                                      Report posting failed: ITN returns wrong data. Do you want try again?

                                      Так что скопировал все сообщение об ошибке и кинул в файлик:

                                      rainbow.mwanted.spb.ru/webide_error.html
                                        0
                                        Это потому что ваша версия слишком устарела.
                                        Обновитесь! (воспроизведёте ошибку — отправьте отчет)
                                          0
                                          Месяц — это слишком? :(

                                          build #92.53 (от 23.11.2009)

                                          Кстати, оно сообщает:

                                          WebIDE EAP User: Expiration date 7 января 2010 года… это пугает. Что это значит?

                                          Впрочем повторю ошибку — кину :)
                                            0
                                            Для ЕАП — любой НЕ ПОСЛЕДНИЙ билд — слишком старый.
                                            Очень много всего межу ними меняется, старые отчеты нам слишком часто бесполезны.

                                            Насчет Expiration — интересно кто-нибудь из скачивающих вообще читает то что мы для вас пишем на соответствующих страницах, а?

                                            45 дней для ЕАП — причина выше.
                    0
                    Вот это канешна не очень важно для девелопера но все таки.
                    Посмотрите как офигено интегрируется в систему интерфейс Netbeans. Где бы я его не запускал (Mac/Lin/Win) он всегда выглядит как родной.

                    А вот у эклипсы и WebIDE с этими вещами совсем все не так.
                    Это конечно не центровая фича но хотелось бы приятного внешнего вида :)
                      –1
                      Вы про переключение Look & Feel? или вообще про интерфейс в целом?
                        0
                        Дадад про Look & Feel.
                          0
                          Ну под мак он «переключается» сам, под win — можно сделать youtrack.jetbrains.net/issue/WI-501 (голосуйте), хотя если учесть что все переключается одной клавишей Ctrl-BackQuote (^`)…
                            +1
                            Кстати на счет Look&Feel. Я работаю под MacOS поэтому не могу пройти мимо обсуждения этого :)
                            Пусть это для среды разработки и не главное, но все же стоит отметить, что Netbeans в версии 6.5 (если не ошибаюсь) сделал серьезный шаг вперед по приятности интерфейса. Тонкие изящные линии. Оформление табов файлов сверху и закладок сервисных окон снизу — просто прелесть. Совпадение цветовой гаммы практически идеально везде. На этот счет «родная» маковская тема у WebIDE с синим цветом табов, кнопочками со скруглёнными углами (прошлый век дизайна), закладками файлов, цвет которых никак не вписывается в основную тему MacOs, в общем со всем этим она выглядит белой вороной.
                            Хотя опять же — это не главное и не суть важно, но раз уж заговорили.
                              0
                              К сожалению это очень субъективно — у нас много разработчиков сидит под Maс OS X и часть точно думает абсолютно противоположное. Но я передам ваш фидбек :)
                              0
                              Ну вопщем то вы правы но я немножко не об этом.
                              Показываю скриншоты:

                              Сравните тулбар WI: pic.im/dXP и NB: pic.im/dXO
                              Сразу, как говорится видно кто местный.
                              Обратите внимание как выглядят табы и иконки «закрыть».
                              В последнем билде NB, скришоты которого мне уже не очень захотелось делать в пол-первого ночи добавлена подсветка активного таба системным цветом.
                              Иконки папок (да и вообще все иконки) совсем не похожи на системные.
                              Меню настроек выполнено совсем не в мак-стиле. Пример правильного в Firefox ну и в Netbeans тоже.

                              Вопщем то с интерфейсом мака WebIDE сейчас связывает только наличие меню вынесенного отдельно да стили кнопок и бордера окна. А это же далеко не все.

                              Спасибо :) И простите если слишком много хвалил NB. :))
                                0
                                В общем и целом могу вам сказать что мы сосредоточены на *редакторе кода*.

                                Более того, к сожалению, в большинстве случаев подобное сравнение слишком поверхностно: например наши табы (и некоотрые другие элементы) окрашиваются в выбранный цвет области видомости (Settings|File Colors, Settings|Scopes). Так что все сложенее чем выглядит на первый взгляд ;)

                                У нас просто гораздо больше функциональности — как и причин того что все решено именно так. Мы раза в 2 старше нетбинс (и у нас множество преданных пользователей на маке): мы уже 9 лет производим лидирующее (и при этом единственное коммерческое) IDE для Java (и еще несколько очень популярных продуктов, загляните на офсайт) — и у нас есть собственное видение и набор приоритетов. И мы НЕ стоим на месте ;)

                                Так что думаю вам стоит поработать немного подольше — и если останетесь и освоитесь — мы с удовольствием примем конкретные детальные советы о том что же можно улучшить ;)
                                  0
                                  >> В общем и целом могу вам сказать что мы сосредоточены на *редакторе кода*.
                                  Ну я там в начале так и сказал что Look and Feel вообше не самое главное для программиста :)

                                  >> например наши табы (и некоотрые другие элементы) окрашиваются в выбранный цвет области видомости (Settings|File Colors, Settings|Scopes).
                                  Вот это как раз и не маковый стиль. Маковый стиль это конкретные цвета из системной палитры а не из настроек. Хоть это как раз многим и не нравится.
                                    0
                                    Ну я бы сказал что среди десятков тысяч наших клиентов на маке сидит менее половины :) Более того — мы www.jetbrains.com/company/history.jsp будем постарше OS X en.wikipedia.org/wiki/Mac_OS_X#Versions вообще, а уж сколько интерфейсов и цветовых решений она сменила…
                            0
                            и в гном плохо интегрируется =\ намного приятней, когда всё родное. да и удобней, тут, например, globalmenu не работает. В остальном буду пробовать, но очень бы хотелось лучшего интерфейса
                              0
                              а как кодировку для проекта (для одно определенного проекта, а не общую) установить?
                                0
                                а еще горячие клавиши перестали работать почти сразу =0
                                  0
                                  Напишите пожалуйста подробнее о вашей системе если повторится…
                                  0
                                  File|Settings|File Encodings
                                  В нижней половине можно хоть для каждой папки выбрать кодировку
                              0
                              А меня вод под Вин например родная виндовс тема абсолютно не устраивает, а вот та что в Веб ИДЕ по умолчанию в Вин стоит наоборот очень нравится.
                              +2
                              Вы меня всё больше и больше радуете
                                0
                                Чем именно? Вы уже эту сборку попробовали?
                                  +1
                                  признаюсь честно, руки не дошли. но запал, подход и цели ­— радуют)
                                0
                                Скачаю, попробую вместе в Magento (проект с количеством файлов порядка 10000 — это не шутка). Если будет быстрей, чем NetBeans, буду очень рад и стану использовать вашу WI.
                                  0
                                  Если будет писать про конкретные проблемы (тормозит когда делаю ЭТО) — поможете WI стать быстрее :)
                                  +1
                                  Несколько вопросов:
                                  1. Почему все поле редактора активно? Т. е. удаляя лишние пробелы все равно могу курсор спозиционировать в любом месте кода.
                                  2. Опять же — многострочные литералы.
                                  3. При вызове Inject Langugage появляется только Disable 'Inject Langugage'.
                                    0
                                    Судя по всему вы впервые попробовали Web IDE
                                    1) File|Settings|воспользуйтесь поиском по слову caret
                                    2) что значит «опять же»?
                                    3) нажмите Enter а не стрелку вправо!
                                      +1
                                      Впервые.
                                      1. Отлично.
                                      2. Сильно мешает в моем коде. Но сорри, не заметил в посте.
                                      3. Отлично!
                                      Теперь появился предендент, на идеальную IDE.
                                        0
                                        По поводу п.2 — отлично сознаем и скоро выпустим обновление.
                                        0
                                        Огромное спасибо за «1»! Уже давно работаю в Idea, и эта фича с произвольным расположением курсора меня жутко бесила. Но сейчас, видимо, моим страданиями пришел конец. Надо будет на работе попробовать поискать эту настройку.
                                          +1
                                          Гм… Она там давно… как и множество других опций :) и даже поиск есть :)))
                                      +1
                                      Официальный сайт — это хорошо! Но скажите, отчего у вас все сайты строго одно(англо)язычные? Ну то есть, понятно, что основной рынок — «там», но всё же?
                                        0
                                        Сайт международный и язык соответствующий. У нас есть клиенты практически во всех странах мира, включая некоторые страны африканского континента.
                                          0
                                          Что сайт международный — понятно. Но для компании, в которой практически весь персонал — российский, и которая на российском рынке достаточно активно себя продвигает (вот хоть бы и на Хабре) — странно не иметь русскоязычного сайта.

                                          Это так, в порядке оффтопика.
                                            0
                                            Вы явно не читали предыдущие топики. Повторюсь: эти посты — моя личная инициатива как разработчика собственно поддержки языка PHP. Я собираю фидбек — для ускорения цикла разработки — в обмен на возможность получить самый интеллектуальный инструмент разработки.

                                            На этом прошу эту тему закрыть — или направить в соответстующий отдел ;)
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                          0
                                          Не забывайте про фидбек :)
                                          0
                                          С выходом каждой новой сборки я постепенно перехожу из разряда потенциальных покупателей в фанаты :)

                                          Теперь о проблемах:

                                          1. Code Folding для блока из одной строки кода — глупость. Вот о чем я говорю:
                                          dl.getdropbox.com/u/1335604/wi700_problem1.gif
                                          Да-да, не все обрамляют однострочные блоки в фигурные скобки :)
                                          Если вдруг не ясно: на скриншоте после сворачивания в одном месте, одна под другой, оказываются две кнопки: развернуть свернутый участок и свернуть вышестоящий развернутый. При нажатии, свернется верхний, т.е. раскрыть нижний участок можно лишь двойным щелчком по строке «…»

                                          Проблема тянется с первых публичных сборок.
                                          В идеале вообще иметь возможность настроить минимальное количество строк, которые можно свернуть (допустим, для блоков меньше 10 строк не отображать элементы сворачивания вообще). Немного раздражает рябь стрелочек на полях, да и две иконки сворачивания — сверху и снизу, по-моему, лишние — хватило бы ± в начале блока. Хотя, конечно, это субъективно.

                                          2.
                                          define(«DOC_ROOT», "../");
                                          require(DOC_ROOT. «include.php»); // ← строка подсветится Cant reslove target

                                          Тут либо не подсвечивать, либо подставлять значения констант.

                                          3. Где поддержка XSLT?

                                          4. Ну и совсем субъетивно и, простите, без аргументов: мне не нравится ваш интерфейс!
                                            0
                                            промахнулся мимо кнопки и ответил ниже…
                                              0
                                              Не нужно убирать иконку сворачивания снизу, мне в прошлом месяце пришлось ковыряться в коде IPB форума, без этой кнопочки я бы наверное утонул в их коде. У них там блоки километровые, без этой кнопочки полчаса от конца блока к началу крутить придется.
                                                +1
                                                Быть может, убирать не стоит, да. Но хотя-бы дать возможность убрать ее самому.
                                                Блоки в хорошем коде обычно не так невелики, чтобы расползаться на несколько экранов, а навигацию по большим классам, если по каким-то причинам они находятся в одном файле, можно осуществлять с помощью панели «Structure».
                                                  0
                                                  Крутить не нужно — блоки можно коллапсить с клавиатуры. И выбирать. И прыгать в начало-конец.

                                                  Но и про убирание стрелочек речь пока не идет. Сделаем более аккуратную свертку в «плотном» коде.
                                                0
                                                Спасибо.

                                                1 и 2 — известные проблемы:
                                                1) youtrack.jetbrains.net/issue/WI-318
                                                2) youtrack.jetbrains.net/issue/WI-178

                                                К сожалению более серьезные проблемы отодвигали исправление этих, но в ближайшее время мы ими займемся.

                                                3) что именно вы не можете найти/сделать? (Только что проверил — плагин запаковать не забыли :)
                                                4) жаль :( А какая ОС?
                                                  +1
                                                  3, Ой-ой! Беру слова обратно.
                                                  Дело в том, что при попытке открыть xslt файл мне выдавался диалог с выбором типа файла (xslt не сопоставлен почему-то, отсюда и проблема), в котором не было xslt. Посмотрел plugins — там тоже не нашел упоминания xslt.

                                                  Сейчас открыл как XML и все понял, Вы распознаете неймспейсы и даете по ним autocomplete, прекрасно. Работает, кстати, действительно здорово. Чесслово, лучше visual studio.

                                                  4. Windows7, но не суть важно. Недовольство интерфейсом действительно чисто субъективное и, хочу подчеркнуть, эстетическое, а не функциональное. Т.е. он удобен, но не нравится внешне.
                                                    0
                                                    3. Мы очень рады :) Еще есть поиск по XPath (Search|...)

                                                    4. Окей, понятно :) Такие пользователи тоже есть и мнения у них такие же противоречивые…
                                                  +2
                                                  Еще. Отдельное спасибо за новый маркер «new» :)
                                                  Но я продолжу свои претензии к autocomplete, как и ранее я подразумеваю autopop, без необходимости нажатия ctrl+space.

                                                  1. Было бы хорошо видеть дописывание для ключевых слов там, где они ожидаются и/или неизбежны. Как-то:
                                                  c[тут]lass Test1 e[тут]xtends Test2 i[тут]mplements [тут¹]ITest

                                                  ¹ — здесь Вы показываете только интерфейсы — отлично, но приходится жать ctrl+space.

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

                                                  А также, хотелось бы дополнения в неизбежных ситуациях, как-то выбор класса после ключевого слова extends, выбор интерфейса после ключевого слова implements и т.д.

                                                  Другими словами, разбирая приведенный мною выше пример, в идеале:

                                                  c[lass ]Test1 e[xtends ]T[est2] i[mplements ²]I[Test]

                                                  ² — т.е. после дописывания [mplements ] (с пробелом) сразу выпадает выбор интерфейсов, как неизбежная ситуация.

                                                  2. Хотелось бы, чтобы маркером autocomplete был любой первый символ в выражении, не являющимся white-space (для дописывания как ключевых слов, так и глобальных ф-ций php).
                                                    +1
                                                    Насколько я знаю, принципиальная позиция разработчиков — автокомплит только по нажатию кнопки, без всякий самовыпадений.
                                                      0
                                                      Ну как же — есть настройка autopop, и autocomplete по маркерам ($, ->, new) есть и работает (с задержкой по-умолчанию 1с).
                                                        0
                                                        А это скорее исключение…
                                                          0
                                                          Если не секрет, почему такая позиция?
                                                          Я понимаю, когда, скажем так, не совсем хорошие среды делают это, дабы избежать надоедания не правильными подсказками плохой системы автодополнения, но Ваша же отличная.

                                                          Более того, именно отсутствие autopopup, либо слишком медленная его реакция, не давала мне пересесть с visual studio + vs.php на netbrains, до появления WI. И первое, что я сделал в WI — это выставил задержку autopopup в 0.

                                                          Я вижу сполшные плюсы: 1) удобство и скорость — количество непосредственно набираемого кода _значительно_ сокращается; 2) практическая польза — исчезает вероятность опечаток, причем для php это втройне важно, т.к. в отличие от других языков здесь нет объявления переменных и с поиском ошибки, вызванной опечаткой можно провозиться не мало времени.

                                                          А каковы минусы?
                                                            0
                                                            Мы считаем что IDE не должно мешать «просто набирать текст». Так сказать не встревать пока его специально не попросят. Потому что в 90% случаев не надо угадывать что я там пишу — это только жрет лишние ресурсы.

                                                            А всевозможные проверки как семантические так и структурные наше IDE выполняет на лету. По крайней мере так планируется — пока что инспектор реализует только самые базовые вещи. Зачем инспектор? Например пакетный прогон с помощью Code|Analyse.

                                                            Как-то так.
                                                              –1
                                                              а может дать пользователям возможность решать как им будет удобней и вынести это в настройки
                                                                0
                                                                Почитайте тред и вы поймете что в некоторых вопросах у нас довольно принципиальная позиция и это не просто так — мы 10 лет более чем успешно создаем лучшие в мире IDE.

                                                                Тем не менее можете проголосовать за youtrack.jetbrains.net/issue/WI-341
                                                                –1
                                                                Не работает AutoComplete при вложенности
                                                                К примеру:

                                                                class A
                                                                {
                                                                /**
                                                                * @type B
                                                                */
                                                                public $b;
                                                                }

                                                                class B
                                                                {
                                                                /**
                                                                * @type A
                                                                */
                                                                public $a;
                                                                }

                                                                $a = new A();

                                                                $a-> на этом уровне варианты подстановки появляются
                                                                $a->b-> а тут уже говорит No suggestions

                                                                Какая-то из ранних сборок с этим прекрасно справлялась.
                                                                  0
                                                                  Каким-то чудесным образом комментарий из внизу попал сюда.
                                                                    0
                                                                      0
                                                                      @type не помню откуда взял )) как-то само вышло во время написания теста
                                                                      в реальном коде используется @var

                                                                      Вот примерная структура:

                                                                      class Env
                                                                      {
                                                                      public $first;
                                                                      public $second;
                                                                      }

                                                                      class Impl
                                                                      {
                                                                      /**
                                                                      * @var Env
                                                                      */
                                                                      public $env;

                                                                      public function __construct()
                                                                      {
                                                                      $this->env; // Подсказки работают
                                                                      }
                                                                      }

                                                                      $impl = new Impl();
                                                                      $impl->env;// Подсказки работают

                                                                      function (Impl $test)
                                                                      {
                                                                      $test->env-> // Подсказки не работают
                                                                      }
                                                                        0
                                                                        Спасибо за точное описание, действительно именно в таком случае саейчас не работает.
                                                                        youtrack.jetbrains.net/issue/WI-619
                                                          0
                                                          В целом вы правы.
                                                          0
                                                          1. Спасибо за детальное описание. Попозже обработаю все и занесу в трекер. Кое что из этого мы планируем в ближайшее время, остальное по мере наличия ресурсов.

                                                          2. Как тут ниже написали в целом мы принципиально против автоматического выпадания списка дополнения.
                                                          0
                                                          Мне понравилось
                                                          Не так медленно и дорого как Zend Studio.
                                                          Можно ли IDE скормить библиотеку (Zend Framework) чтобы автозаполение подхватывало эти классы?
                                                          Если нет (может быть я просто не нашел) то стоит предусмотреть эту возможность, а то плохо включать в проэкт бибилиотеку которая там не нужна только ради автозаполнения.
                                                          Опять же автозаполнение не нашел где найти галочку выключить ctrl + space
                                                            0
                                                            В общем-то в том или ином виде ее все равно прийдется «подключить». Пока что можете попробовать добавить папку через File|Settings|Directories, а в будущем появятся отдельные настройки для внешних билиотек.

                                                            Предложение
                                                            «Опять же автозаполнение не нашел где найти галочку выключить ctrl + space»
                                                            не могу понять — перефразируйте.
                                                            –1
                                                            скажите, а русский интерфейс будет?
                                                              +1
                                                              Однозначно нет.
                                                                0
                                                                а в чем проблема сделать мультиязычность?
                                                                  +1
                                                                  Это наша принципиальная позиция.
                                                                    +1
                                                                    в объёме работы и её невостребованности,
                                                                    но скажу вам по секрету, в джарах WebIDE много файлов с расширением *.properties, содержащих множество строковых констант, если рядом положить столько же файлов *_ru_RU.properties с теми же ключами, то будет русификация :)
                                                                –1
                                                                без Smarty поддержки?.. :(
                                                                  0
                                                                  Поддержка Smarty есть уже несколько месяцев как.
                                                                    0
                                                                    О! А чего на сайте молчите тогда? :) Уже качаю тестировать… :)
                                                                      0
                                                                      FYI, есть пара уже известных проблем, ну и ждем еще фидбека :)
                                                                        0
                                                                        очень даже не слабенько… :) Правда не во всем еще разобрался, но мне очень понравилось направление и буду ковырять… и этто… всетаки со скоростью надо что-то делать… ибо если притормаживает немного на C2D T8100 (2.1GHz) + 4Gb RAM… это все-таки врядли из-за слабого железа…
                                                                          0
                                                                          Мы над этим работаем… Нужен только детальный фидбек.
                                                                          А какая ОС/JDK? Размер/структура проекта? Что именно притормаживает?
                                                                            0
                                                                            Windows 7 Корпоратив, JRE 6u16, проект небольшой, притормаживает открытие файлов, загрузка кстати быстрая…

                                                                            Еще один вопрос… скажите как отключить автосохранение при закрытии окна с файлом… это ужасно… должно спрашивать сохранять или не сохранять изменения.
                                                                              0
                                                                              Открытие проекта? или вы пытались открыть один файл? Или открытие радактора при загруженном проекте?

                                                                              Автосохранение отключить нельзя. У нас есть неограниченный UNDO и локальная история для всех файлов — загляните в Version Control|Local History (она сохраняется по крайней мере несколько дней)
                                                                                0
                                                                                Открытие любого файла из загруженного проекта, причем через минут 10-15 работы.

                                                                                Это неправильно совсем… если я вырезал что-то откуда-то, и вставил в другой файл, я могу уже и не помнить что и где там было, особенно критично в больших проектах. И даже если ведется локал хистори, очень неудобно и нельзя закрывать файл с автоматическим подтверждением сохранения «без разрешения».
                                                                                  0
                                                                                  С вопросами скорости, немного с работой разгребусь и более серьезно потестю… но с сохранением лажа однозначно… :)
                                                                                    0
                                                                                    Достаточно просто снять профиль и залить его на наш ФТП
                                                                                    Последние 3 кнопки на тулбаре — управление профайлером.
                                                                                    ftp.intellij.net/upload
                                                                                      0
                                                                                      окей, ща попробую
                                                                                        0
                                                                                        Если зальете — не забудьте прислать мне в хабрапочту имя файла — а то я его там не найду %)
                                                                                  0
                                                                                  Вам помогут настройки в Setting -> General -> Synchronization
                                                                                    0
                                                                                    Пробовал — не помогли :)))
                                                                                      0
                                                                                      Да, это потому что Ctrl+S сохраняет все открытые документы.
                                                                                        0
                                                                                        И это тоже кстати неправильно. Должно быть только текущий документ. Стандартная CTRL+ALT+S = сохранить все документы.
                                                                                          0
                                                                                          Скажем так это принципиальное решение для всех наших продуктов. И упомянутые «стандарты» вещь весьма относительная.

                                                                                          … А если вы «теряете» изменения — очень рекомендую использовать Version Control. Получите Changes View, диффы и подсветку измененных регионов в сайдбаре. Git init например ни к чему не обязывает а бонусов масса.
                                                                                            0
                                                                                            А чем мотивирована такая принципиальность? И что мешает всетаки просто добавить чтобы при закрытии модифицированного случайно документа был выдан запрос на сохранение?
                                                                                              0
                                                                                              Для нас принципиально НЕ ПОТЕРЯТЬ изменения (с учетом того что мы всегда можем их откатить).
                                                                                                0
                                                                                                А почему не оставить бы этот вопрос на усмотрение пользователя?
                                                                                                  0
                                                                                                  Мы считаем что 10 лет более чем успешного опыта в построении IDE позволяют нам принимать любые принципиальные решения в отношении наших продуктов. И мы осознаем что возможно лишаем себя некоторой части потенциальных клиентов.
                                                                                                    +1
                                                                                                    Очень жаль за такую категоричность, хотя никак не пойму в чем же проблема, тем более что у продукта есть в настройках, правда не работающие, настройки на этот счет.
                                                                                                      0
                                                                                                      Эти настройки предназначены для того чтобы сохрянять файлы автоматически ЕЩЕ ЧАЩЕ и они прекрасно работают.
                                                                                                        +1
                                                                                                        Простите, но я всегда воспринимал настройки прямо: «Save files automatically if application is idle for 15 sec» если я снимаю галочку, значит мне нафиг ненужна эта опция. И уж тем более при снятой Save files on frame deactivation — тоже считаю раз если снял, значит должна быть эта опция отключена, и про Synchronize files on frame activation — тоже…

                                                                                                        Насколько понимаю это у вас жестко зашитая «фишка» системы… неужели настолько сложно её обойти и дать возможность пользователям системы пользоваться так как им реально комфортно… С удовольствием бы приобрел Ваш продукт, когда он выйдет и начнет запускаться быстрее одной-полутора минут.., но такая категоричность реально пугает.
                                                                                                          0
                                                                                                          Первый раз вижу такой длинный тред :)

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

                                                                                                          К вашему сожалению это глобальная идеология нашей платформы и я не думаю что она изменится в обозримом будущем. Вы не единственный — время от времени пользователи переходящие с других IDE поднимают эту тему. Хотя например лично я НИКОГДА (а я сам пользуюсь IntellJI IDEA уже более 7 лет) не испытывал желания изменить это поведение.

                                                                                                          По поводу аргументации «приобрел бы» я уже писал. Пользуйтесь легально публичными сборками — они обычно выходят не реже раза в месяц, вне зависимости от релизов. Мы просто уверенны что наш продукт НАСТОЛЬКО лучше что все наши потенциальные пользователи станут нашими реальными пользователями — достаточно просто попробовать продукт. И — да, часть нашей идеологии — «мы лучше знаем как лучше» :) и у нас есть все основания считать что мы правы. Хотя мы открыты для НОВЫХ идей — по поводу некоторых старых у нас весьма принципиальная позиция.
                                                                                                            0
                                                                                                            Все равно радует что еще один отечественный разработчик выходит в мир. Желаю Вам и Вашей компании всего самого лучшего! :)
                                                                      0
                                                                      почему-то под ubuntu 9.04 не работает :( установлено sun-java-6-sdk и вот что скрипт пишет в консоль по запуску: pastebin.com/m76cc4b3c
                                                                        0
                                                                        Гм… странно — у нас множество пользователей под Linux и обычно проблем под 32 нет вообще. У вас какие-нибудь другие java-приложения работают? Архив не побился/распаковался полностью?
                                                                          0
                                                                          да, работает netbeans…
                                                                            0
                                                                            Если все полностью скачалось, то единственное что мы можем предложить — попробуйте положить в путь содержащий только латинские символы.
                                                                              0
                                                                              спасибо, сработало:)
                                                                        0
                                                                        Хорошая система, удобная. Но ооооочень неторопливая.
                                                                          0
                                                                          А на чем запускаете? Какая ОС? какой размер проекта?
                                                                          Какое IDE обычно используете? чем отличается его поведение?
                                                                          0
                                                                          Есть еще ряд мм… комментариев, но чуть позже.
                                                                            0
                                                                            ftp-browser wanted!
                                                                            сделайте возможность открывать файлы по фтп\сфтп, востребованная же фича…
                                                                            +1
                                                                            Тестил на коде Drupal, много предупреждений в коде (подчеркивает желтым) в таких случаях:

                                                                            1) if (!isset($node->teaser)) $node->teaser = ''; // Undefined field
                                                                            2) global $user; if (empty($account)) $account = $user; // Undefined variable
                                                                            3) require_once './includes/theme.inc'; // Can't resolve target of expression
                                                                            4) /** @param… // аж красным подчеркивает
                                                                            5) preg_match_all($regexp, $tags, $matches); // Undefined variable ($matches)

                                                                            Много предупреждений из-за того, что в Drupal обработка всех запросов идет через index.php, который подключает всё остальные исходники и инициализирует глобальные переменные. Может сделать в настройках проекта возможность указания основного запускаемого файла(ов)?

                                                                            Большая масса предупреждений из-за того, что в Drupal часто используются объекты, но классы не объявляются. Поэтому везде undefined field. Где-то настраивается?

                                                                            — В settings при разворачивании раздела иконкой "+" сначала у всех подпунктов прорисывается иконка "+", а потом исчезает.

                                                                            — Долго искал «project settings», привык, что обычно они есть в контекстном меню проекта.

                                                                            — В контекстном меню проекта странно смотрится пункт Create «Drupal»…
                                                                              0
                                                                              Спасибо за столь подробный фидбек!

                                                                              Про предупреждения
                                                                              1) пока не поддерживается, youtrack.jetbrains.net/issue/WI-502
                                                                              2) не работает если мы не находим такую переменную нигде в проекте :( частичная деградация… в след сборке все будет ОК
                                                                              3) работа в процессе youtrack.jetbrains.net/issue/WI-178
                                                                              4) именно в Drupal много совершенно некорректных PHPDOC аннотаций, но уровень предупреждений действительно не соответствует, планируем снизить youtrack.jetbrains.net/issue/WI-503
                                                                              5) очень типичный пример, работало, но пока что пришлось отключить, скоро исправим youtrack.jetbrains.net/issue/WI-307

                                                                              С глобальными переменными проблема в этом проекте из-за п.2

                                                                              С анонимными полями пока не решили как лучше разобраться. Думаю после реализации п.1 станет понятно какой класс проблем решать следующим.

                                                                              Над косметическими проблемами платформы постоянно работаем…
                                                                              И — у нас НЕТУ контекстного меню ПРОЕКТА вообще — более того, там в корне может быть несколько равноправных папок, см Settings|Directories
                                                                                0
                                                                                По поводу youtrack.jetbrains.net/issue/WI-502 другой пример из Drupal:

                                                                                  0
                                                                                  (нечаянно нажал какой-то волшебный хоткей для поста)

                                                                                  function node_save(&$node) {
                                                                                  // Let modules modify the node before it is saved to the database.
                                                                                  node_invoke_nodeapi($node, 'presave');
                                                                                  global $user;

                                                                                  $node->is_new = FALSE; ///////// Undefined field
                                                                                    0
                                                                                    Спасибо, обязательно посмотрю повнимательнее.
                                                                                      0
                                                                                      было сделано но пришлось пока отключить… youtrack.jetbrains.net/issue/WI-307 скоро пофиксим.
                                                                                +1
                                                                                во-первых: спасибо ребята, вы круты, вы экономите мне кучу времени, особенно спасибо за быстрый поиск и навигацию во всем чем только можно.

                                                                                во-вторых: есть пара вопросов и замечаний.

                                                                                1. в идее ctrl+tab просто переключает рабочии области. Я не могу пользоваться wi потому что там показывается менюшка на это сочетание. Что вместо ctrl+tab?

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

                                                                                3. разрыв соединения. даже если оно тут же восстановилось, но идея это заметила ей уже пофиг, она как капризная девушка просто говорит «нет всё я обиделась» и виснет… и теряет все изменения… и чтоб закрыть ее надо снимать поцесс.
                                                                                  0
                                                                                  1. эта «менюшка» именно из новой идеи. При этом она сохранила свои функции — нажимайте Alt и не отпуская щелкайте по Tab — точно как и раньше.

                                                                                  2. работать быстро с удаленными дисками принципиально невозможно. Сделаем какой-то визард который будет делать локальную копию и настраивать синхронизацию.

                                                                                  3. см выше.
                                                                                    0
                                                                                    по поводу второго пункта: я не говорю что все должно быть как-то особо быстро. Просто в виде на рисунке 1 — все тормозит, на рисунке 2 ( в тех же директориях ) всё работает отлично ( при этом просматриваемые диретории не пренадлежат открытому проекту ).



                                                                                      0
                                                                                      В настоящий момент мы не поддерживаем нелокальные файлы — так то что оно вообще как-то работает приятный бонус от того что ОС пытается от вас сам факт нелокальности скрыть. В общем — пока рекомендую работать локально, следить за релиз ноутами.
                                                                                  0
                                                                                  в 613 не смог завести плагин hg4idea, включаю его, перезапускаю — он выключен
                                                                                    0
                                                                                    Возможно разработчики еще не обновили дескрипторы для работы с новыми продуктами. Сейчас, в предрелизный сезон мы переделываем репозиторий и перепроверяем плагины на совместимость. В ближайшее время доберемся и до него.
                                                                                  +1
                                                                                  Три дня усиленно пользовался WebIDE, глюкавая пока конечно — просто капец (в баг-репортинг пару раз отписался). Но так-то реально могучая вещь!
                                                                                  Когда выйдет финальный релиз, думаю будет одним из лучших инструментов для web-девелопера

                                                                                    0
                                                                                    А когда можно ждать обещанный фикс для многострочных литералов? Имхо самый гадкий баг в данном билде и судя по вашему багтрекеру он уже пофиксен.
                                                                                      0
                                                                                      Самое позднее — во вторник.
                                                                                      +1
                                                                                      Если выделена какая-то переменная, то удобно когда по коду подсвечены все переменные с этим же именем.

                                                                                      Может не нашел, но auto indent lines не работает с html (или со смешанными html/php), т.е. ожидал, что в моем документе для строк с неправильными отступами после выполнения этой команды отступы автоматически сами установятся в правильные. Посмотреть, как это работает, можно в NetBeans, нажав сочетание Alt+Shift+F или из меню source->Format.

                                                                                      Так же, на мой взгляд, неправильно устанавливаются отступы в конструкциях типа:
                                                                                      $collection = Mage::getResourceModel('catalog/product_collection')
                                                                                                      ->addAttributeToFilter('is_coming_soon', 1)
                                                                                                      ->setPageSize(1)

                                                                                      если после "->setPageSize(1)" сделать перевод строки, то отступ автоматически делается равным отступу перед переменной $collection, когда я ожидаю что он будет таким же как и у констукции "->setPageSize(1)", чтобы я мог продолжить дальнейший ввод кода без необходимости лишний раз нашимать клавишу Tab, чтобы установить нужный отступ. Лигочней было бы делать отступ на ровне с переменной $collection, когда делается перевод строки после конструкции оканчивающейся точкой с запятой (;).
                                                                                        0
                                                                                        Да, форматтер у нас пока в совершенно зачаточном состоянии… мы над ним работаем :)
                                                                                        на трекере уже есть несколько отдельных записей, можно смело писать прямо туда
                                                                                        0
                                                                                        Скажите, а будет ли комплит для таких конструкций? (в данном случае метод Display интересует)

                                                                                        $this->obj->tpl->Display(«clients/step1.xhtml»);

                                                                                        Собственно, я писал уже об этом, в задаче написано что фиксед, однако сейчас я вижу что заработал переход к методу при ctrl+click, но комплита нет.

                                                                                        Еще вопрос по форматеру. Я превык писать массивы лесенкой, ваш форматер сейчас из нее делает так:

                                                                                        $data = array(
                                                                                        'client_type' => 'legal',
                                                                                        'client_phone' => ''
                                                                                        );

                                                                                        а хочется чтобы индексы массива были на 4 пробела вперед, а не стеной стояли.

                                                                                        еще, сейчас у вас просто беда с автоотступами, жуть творится. Через раз курсор неправильно отступ делает, что напрягает, приходится его руками ставить в нужное место.

                                                                                        бага при редактировании xhtml файлов, когда пишешь тег BR после ввода R редактор сразу подставляет ="". Не понятно зачем он это делает — реально парит.
                                                                                          0
                                                                                          В конструкции $this->obj->tpl->Display(«clients/step1.xhtml»);
                                                                                          дополние работать не будет до тех пор пока IDE не сможет определить тип объекта справа от стрелки. А вот после того как код уже написан мы можем найти подходящий метод и полклюбчить всю навигацию/поиск.

                                                                                          Про форматтер и отступы см. выше. (То что вы описали уже есть в трекере)
                                                                                            0
                                                                                            странно, а почему тогда переход к методу по ctrl+клик мышой работает — значит вы смогли определить объект?
                                                                                              0
                                                                                              Повторюсь — пока код написан частично мы не можем этого определить. В законченной конструкции — мы можем проставить перекрестные ссылки и все что от них зависит будет работать.

                                                                                              Просто нажмите Ctrl-Q в любом месте и если IDE смогло определить тип текущего выражения он будет указан в первой строке попапа.

                                                                                              И самое главное — мы продолжаем и будем продолжать совершенствовать анализатор кода.
                                                                                                0
                                                                                                Tpl — Это библиотека шаблонизатора. она вполне себе закончена. ctrl+q — это описание метода, а я говорил о автоподстановке:

                                                                                                $obj->tpl->xxxxxxxx где xxxxx — это список методов класса
                                                                                                  0
                                                                                                  Вы бы лучше попробовали вызвать QuickInfo на tpl как я просил :) все-таки мне как автору лучше знать как оно работает ;););)

                                                                                                  Если в первой строке будет написано «Type: XXXX» то у выражения определился тип — если он валидный (не начитается с ?#) значит после стрелки будет комплишн.
                                                                                                    0
                                                                                                    пробовал я

                                                                                                    если нажать на уже написаном методе display — появляется окно с описанием
                                                                                                    если нажать на $obj->tpl->тут — то пусто
                                                                                                      0
                                                                                                      Именно. А на любом выражении где комплишн работает — там будет информация о типе и месте определения выражения :) (например на $obj?)

                                                                                                      Резолв и комплишн это независимые части работающие с разных сторон.

                                                                                                      В оригинальном youtrack.jetbrains.net/issue/WI-349 речь шла о резолве а не о комплишне. Пожалуй я его перефразирую и переоткрою.

                                                                                                      Давайте перенесем дальнейшую дискуссию туда :)))
                                                                                            0
                                                                                            проблема с BR не воспроизводится — пришлите в хабрапочту весь файл… может вы подключили какую-то неверную схему?
                                                                                            +1
                                                                                            Понимаю, что немного поздно, понимаю, что todo лист итак полон, но всё таки… Итак, предложение в разряд «юзабилити и фичи»:
                                                                                            Предлагаю использовать идею быстрого переключения между вкладками как в Opera или Notepad++ (Если бы я собирал идеальный редактор из разных кусочков, я бы взял из Notepad++ именно это). Я имею в виду зажать правую кнопку мыши и крутануть колесом вниз. Это очень востребованная штука (по крайней мере теми, кто пользовался этим (по крайней мере мной)), замечаю за собой, что нет-нет, но кручу колесом в WebIDE (провычка из той же оперы и notepad++). Особенно приятно, когда сидишь откинувшись на спинку кресла и читаешь код, и не тянешься левой рукой к клавиатуре, чтобы переключить вкладки: работают только два пальца (безымянный и средний), даже мышь двигать не надо. Попробуйте — это действительно удобно. То есть правая кнопка — аналог Ctrl, колесо вниз — аналог Tab (открывается окно switcher), далее колесо вниз — ещё Tab, колесо вверх — Shift+Tab, отпускаем правую кнопку — аналог отпускания Ctrl.
                                                                                            И, раз уж пошёл такой разговор, предлагаю улучшить эту функцию. В этой фиче (как в опере, так и в notepad++) можно инициировать выбор вкладки не «правая кнопка — вниз колесом», а «правая кнопка — вверх колесом». При этом выберется изначально самая «давноиспользуемая» вкладка. Это не совсем часто используемая возможность (ИМХО) — ибо кому нужно искать быстрый доступ к неиспользуемым штукам? Предлагаю на «правая кнопка — колесом вверх» инициировать список последних закладок (которые добавляются через F11). Таким образом закладки в web ide (которые уже сейчас просто чудо как удобны) станут ещё удобнее, можно будет переключаться между последними нужными местами с закрытыми глазами и одной рукой. В тот же список рядом с закладками можно добавить линк на последнее редактируемое место.
                                                                                              +1
                                                                                              Отписался на трекбеке, надеюсь, там где нужно. Надеюсь, что вообще нужно.
                                                                                                0
                                                                                                Мы все обрабатываем :)
                                                                                              0
                                                                                              Еще одно замечание. Иногда приходится редактировать сразу два проекта. При закрытии среды крестиком справа, первая из открытых ИДЕ делает запрос на закрытие, а вторая — нет. Как-то это неправильно — обе должны спрашивать.
                                                                                                0
                                                                                                Это просто два окна одного приложения а модальный диалог относится ко всему приложению. Теоретически «крестик» в таком случае должен закрывать только соответствующее окно. Создал youtrack.jetbrains.net/issue/WI-527
                                                                                                +1
                                                                                                установил, поразило и сразу захотелось приобрести :)
                                                                                                скажите, когда можно будет ждать релиз и какая ценовая политика будет?
                                                                                                (я правильно понимаю, что эта IDE платная? :))
                                                                                                спасибо.
                                                                                                  0
                                                                                                  Спасибо, мы стараемся :)
                                                                                                  Ответы на ваши вопросы в нашем FAQ
                                                                                                    0
                                                                                                    ясно, спасибо. скажите пож-ста, а будет ли free версия напрмер для opensource разработчиков?
                                                                                                    честно говоря, не понимаю, как система определния лицензии работает?

                                                                                                    спасибо.
                                                                                                      0
                                                                                                      Да, у нас есть практика предоставления бесплатной лицензии для opensource разработчиков. Можете взглянуть на типичные условия: www.jetbrains.com/ruby/buy/buy.jsp#opensource

                                                                                                      Кроме того обычно для early adopters есть какие-то дополнительные преимущества при покупке, в общем или индивидуальном порядке.
                                                                                                  0
                                                                                                  хочу тёмную цветовую схему. хорошую.
                                                                                                  0
                                                                                                  с Inject Language некая проблема:
                                                                                                  $sQuery = "CALL click({$insert['ad_id']}, {$insert['block_id']}, "
                                                                                                  . "'{$insert['day']}', {$insert['partner_cost']}, "
                                                                                                  . "{$insert['advertizer_cost']});";

                                                                                                  для каждой строчки приходится делать внедрение sql…
                                                                                                  0
                                                                                                  Очень парит не совсем понятный принцип отрисовки вкладок для открываемых файлов. Открывая новый файл, я ожидаю, что его вкладка будет последней, а она появляется черте где, приходится каждый раз искать по долгу нужный фал — зачем такая фигня сделана? Ладно бы еще можно было таскать эти вкладки, чтобы поменять их порядок, так и это не получается. Злит конкретно. Зачем нарушать порядок вкладок? Я наверное не просто так открываю файлы в определенном порядке.
                                                                                                    0
                                                                                                    Скажем так, мы относимся к ним как к «неибежному злу».
                                                                                                    Вместо навигации по владкам мы предлагаем Ctrl-E — специально заточенная вещь с полной поддержкой клавиатуры.
                                                                                                    0
                                                                                                    Очень интересует, где найти доку и описание на документирование методов, например, что вот это такое:

                                                                                                    * @return #M#P#P#Ccomponent.obj.vars.GetVar|?

                                                                                                    как это дешифровать и правильно заполнить. И вообще, хотелось бы видеть полную спецификацию на формат документирования, чтобы улучшить возможности IDE.
                                                                                                      0
                                                                                                      Это внутренности механизма выведения типов.
                                                                                                      Знать не нужно потому что конечному пользователю это ничем не поможет, да сам формат меняется.
                                                                                                      И «заполнять» ничего не нужно потому что это динамически выводится из кода.
                                                                                                      Документировать пока все как обычно — чем больше PHPDOC тем анализатору проще. Особенно в по-настоящему динамических местах.
                                                                                                      В будущем планируем ввести кое-какие специальные аннотации — подробности напишем в релиз ноутах к соответствующему билду.

                                                                                                      И кстати, скажите лучше, где это вылезло? дока сгенерилась?
                                                                                                        0
                                                                                                        Ну внутри класса над методом ввел /** и интер — ну вот и вылезло. Я не понял что это, потому и спросил, чтобы лучше понять. Кстати, там еще была проблема с форматированием, левая линейка * была не ровной, отступы разные у строк.
                                                                                                          0
                                                                                                          С форматированием известный баг, работаем. А то что это вылезло — исправили :)
                                                                                                      0
                                                                                                      phpdoc тег @todo
                                                                                                      добавил в файл этот тег, однако он нигде не отразился — ни в секции текущего файла, не в проекте в целом. это пока не реализовано? или нужно проделать какие-то действия для его появления? Перезагрузка иде тоже не возымела результатов.

                                                                                                      Мелкий, но неприятный баг: после удаления ИДЕ на десктопе остается иконка. Вы же сами ее создаете, почему не удаляете? А то ставишь новую версию, а иконка от старой болтается.
                                                                                                        0
                                                                                                        todo в PHPDOC пока не поддерживаются, youtrack.jetbrains.net/issue/WI-119

                                                                                                        Насчет иконки глянем. И, кстати, можно использовать .ZIP дистрибутив просто распаковывая поверх.
                                                                                                        0
                                                                                                        сегодня утром был замечен билд 717, но через пару часов вернули 701. Выложите новый билд. Ну пожааааалуйста!
                                                                                                        P.S. Почему-то, ожидание новых билдов WEB IDE — становится похожим на ожидание выхода новых серий любимого сериала :)
                                                                                                          0
                                                                                                          К сожалению были найдены критические баги. Как соберем что-то презентабельное — выложим. Думаю к завтра точто что-то будет. Подпишитесь на RSS оф. блога или EAP page changes.
                                                                                                          –1
                                                                                                          А вы специально в каждом новом билде ломаете что-то до ужаса абсурдное и главное рабочее в предыдущих билдах? Я с билда 500 никак слезть не могу, т.к. во всех следующих обязательно есть баги, которые часть файлов в проекте красят в красный цвет. Не то чтобы мне не нравился красный, хотя я и далеко не коммунист.
                                                                                                          Ну вои и в свежем 722 зачем-то сломали комментарии
                                                                                                          Что делать? Сидеть на 500 не могу т.к. репортить на него баги уже технически невозможно — в траке его убрали из списка affected version.
                                                                                                            0
                                                                                                            Разумеется не специально. Мы просто работаем. И именно по этому репорты на спрятанные билды уже не актуальны — там внутри все уже несколько раз переписано.
                                                                                                              0
                                                                                                              Я понимаю, но и вы должны понимать, что если среда будет нерабочей, то невозможно будет ее использовать для реального проекта. А соответственно не получится никакого тестирования. А вы же выкладываете ее для тестирования, верно?
                                                                                                              Одно дело когда среда частично функциональна и другое дело когда баги препятствуют работе большого количества функционала (как недавний баг с многострочными php литералами).
                                                                                                                0
                                                                                                                Тут я с уверенностью могу сказать что эти проблемы хоть и неприятные но не делают среду «нерабочей» — файлы/код не портятся, редактор работает, не виснет и не падает. В общем – мы специально проверяем эти сборки на соответствие некоторому уровню качества который мы считаем допустимым на данном этапе. Естественно, мы стараемся чтобы этот уровень был как можно выше.
                                                                                                                  0
                                                                                                                  Если среда мне ошибочно отрапортует об ошибках в половине файлов проекта, то я не смогу ее использовать при всем желании. Для моей пользы как тестера со стороны (который хочет сделать себе приятно, а вам — полезно) такая сборка будет нерабочая, не смотря на то что не падает и не портит файлы.
                                                                                                                    0
                                                                                                                    А таких сборки уже две. И самое плохое что подряд.
                                                                                                              0
                                                                                                              не знаю, утешит вас или нет, но эта ошибка присутствовала в билде 500 :)
                                                                                                                0
                                                                                                                У меня не присутствовала. Может у нас разные EAP 500?
                                                                                                              0
                                                                                                              Просто спасибо, отличная IDE!
                                                                                                                0
                                                                                                                билд 722, бага с автоподстановкой:
                                                                                                                пишу $labumId = ( тут получаю закрывающую скобку, продолжаю писать дальше и закрываю скобку сам, вместо того, чтобы моя скобка проскочила, она остается — получаем $albumId = (int)) что есть бага, ведь в других случаях такого эффекта нет, например с кавычками или квадратными скобками.
                                                                                                                  0
                                                                                                                  Занятно :) почему-то именно с кастом глючит… youtrack.jetbrains.net/issue/WI-618
                                                                                                                    0
                                                                                                                    уже надо начинать просить скидку :-)

                                                                                                                    еще вопрос по файлам с расширением .tpl. то, что они считаются шаблонами Смарти как бы не беспокоит, беспокоит то, что они при этом перестают считаться хотябы простым html, как следствие, не пашут подстановки в style, а также не работает напрочь форматирование, не вижу почему .tpl не может считаться хотябы просто xml
                                                                                                                      0
                                                                                                                      В этот раз совершенно не могу понять о чем вы говорите %)
                                                                                                                      Раз уж это не едитственный отчет — пишите прямо в трекер youtrack.jetbrains.net/issues/WI
                                                                                                                      1. Опишите что именно вы делаете (желательно с примером кода)
                                                                                                                      2. Что вы ожидаете увидеть
                                                                                                                      3. Что вы получаете в текущей версии (и какой)
                                                                                                                      Аттачи кода и скриншотов приветствуются.
                                                                                                                        0
                                                                                                                        Можно я лучше тут писать буду — не обладаю английским настолько, чтобы внятно описывать баги в вашем трекере.

                                                                                                                        Еще один баг:
                                                                                                                        в выпадающем меню в дереве проекта (файлы) есть вкладка Refactor в ней несколько опций. Опция Rename ищет в файлах проекта ссылки на файл и предлагает переименовать их в коде. Это все отлично, однако тут возникает закономерный вопрос, почему такая процедура не происходит при выборе опции Move. По сути это тот же Rename, но на уровне папки. Приходится потом искать в коде и исправлять вручную. Это не логично.
                                                                                                                          0
                                                                                                                          Я попросил вас переформулировать ваш предыдущий пост — я не могу понят что вы имели ввиду.

                                                                                                                          Пишите в трекер на русском — я переведу.

                                                                                                                          Move пока не поддерживается.
                                                                                                                  0
                                                                                                                  Еще мелочь.
                                                                                                                  Quirks Mode в WebIDE утверждает, что в <fieldset> обязательно должен присутствовать <legend>, не нравится.
                                                                                                                  0
                                                                                                                  Столкнулся еще с такой мелочью.
                                                                                                                  IDE считает что docoment root является корнем проекта, это где-нибудь настраивается? Очень понравилась авто-подстановка путей к инклудам, картинкам и прочим ресурсам, но не всегда получается этим пользоваться.
                                                                                                                  0
                                                                                                                  Что-то я эту штуку на Хрюшке запустить не смог, что ей надо-то?
                                                                                                                    0
                                                                                                                    Экстрасенсы все в отпуске :)
                                                                                                                    Что значит «не смог»? какой дистрабутив качали?
                                                                                                                      0
                                                                                                                      Не смог, это значит устанавливаю, и запускаю, в результате, проскакивает белая картинка и тишина.
                                                                                                                      Качал Standard Edition Build: 94.3
                                                                                                                      Я так понимаю что ей Java-машина нужна. А в системных требованиях ничего про это не сказано.
                                                                                                                        0
                                                                                                                        Вы так и НЕ написали какая у вас платформа и какой тип дистрибутива вы использовали — хотя уже очевидно что не dmg и не exe. Системные требования для каждой платформы на офсайте www.jetbrains.com/webide/download/index.html#linux
                                                                                                                          0
                                                                                                                          Я же написал, Вы не поняли наверн