Профессиональный PHP Editor

По FTP понял, буду ждать.
5. В установках - Intellisense - убрать везде крючки около Ignore
http://www.subdomain.ru/bug1.png
6.
а) Неудобно. Я ставлю мышь на нужную строчку. Не представляю, когда может пригодиться возможность писать с произвольного места строки.
б) Даже если не привычно. ИМХО, Ваш потенциальный покупатель тоже обладает некоторыми привычками =)

А так в остальном вроде все нормально. Ждёмс Ftp
 

LuckaSoftCEO

Guest
5. Это не баг.

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

Если написать не

function testing...

а

static function testing...,

тогда будет показывать.

http://enginsite.com/testdir/test.jpg

6. Ну это кому как непривычно. Мне, например, привычно. В любом случае, достаточно в установках редактора (Main menu-Settings-Editor-Options) убрать галочку у Scroll past end of line. чтобы сделать поведение привычным, т.е. более или менее ноутпэдовским.
 
5.
Хм... Я чего-то не понял, видимо... Т.о. Вы позиционируете Ваш редактор как редактор php5, с минимальной поддержкой php4?
Это я к тому, что в четверке синтаксис static function отсутствует и является ошибочным.
 

LuckaSoftCEO

Guest
да, это редактор php5. но мне не совсем понятно, в чем заключается минимальность поддержки php4?

я, конечно, понимаю, что на 90% серверов по прежнему установлен php4, и это будет продолжаться достаточно долго.

но, кроме того, я больше чем уверен, что "долго" это от силы год-полтора.

Ограниченность же поддержки php4, в сущности, только в том, что внутренний парсер ориентирован на php5, и только в плане видимости переменных и методов в классах.
 
Ну, идею понял. Собственно учту этот момент при дальнейшей работе.
Ещё из мелких замечаний/предложений - хотелось бы, что бы "Intellsense Autocomplete" срабатывал и для функций, как делают большинство серьезных IDE
 

LuckaSoftCEO

Guest
хотелось бы, что бы "Intellsense Autocomplete" срабатывал и для функций
не понял. а разве не срабатывает? в чем заключается несрабатывание для функций?
 
Ну, например.
Хочу написать mysql_result

Как я делал это в Zend'е:
Там есть настройки "автоматического дополнения кода":
а. Показывать автоматически
а.1 Показывать только если вариантов больше чем (по умолчанию 100)
а.2 Всплывать через (по умолчанию) 1 сек.
У меня а2 стоит в 0.
Таки образом, набираю
Набираю mysql_r, потом остаётся во всплытии два варианта, и я выбираю нужный. Очень удобно (когда доходит до автоматизма).

В EnginSite, автоматически же вываливается список методов, там еще кое-чего, но для функций (по крайней мере у меня) автоматически список не вываливается....

-~{}~ 07.03.05 01:49:

Еще: Как мне открыть файл с нестандартным расширением? У меня система создаёт файлы с расширением cache. Попытка открыть такой файл через панель workspace приводит к попытке открыть его виндой. Как мне настроить эдитор, что бы файл открывался нормально?

З.Ы. Не поймите меня неправильно, редактор мне очень даже нравится и я хотел бы в нём работать. Именно по этому я блох и ловлю - иначе ни слова бы не сказал =)
 

McLay

PHP5 BetaTeam
1.При первом запуске, убрал все лишние тулбары и зашел в опции, и там нажал на отмену, в итоге все тулбары вернулись на место. Если нажать ОК, то все работает правильно - опции утстанавливаются, тулбары не появляются. Повторил два раза.

Неуверен насчет новой версии, может кто будет устанавливать - пусть посмотрит.


2. По мимо косяка с <??> еще что-то с <script>code</script>.
Если <script> - то не работает подсветка для jscript, если с пробелом <script > - то работает. Может так и должно быть хз :)


PS. HINT. Большинство проблем с табом можно избежать, убрав опцию "Обрезать концы линий". Из за нее как раз кривизна с уделением предпоследнего символа вместе с табом и еще что-то.
 

LuckaSoftCEO

Guest
но для функций (по крайней мере у меня) автоматически список не вываливается....
надо нажать Crtl+Space, все вывалится. мало того, можно нажать его даже на пустом месте, тогда вывалится всё - и продолжать ввод, список будет сокращаться.

Как мне открыть файл с нестандартным расширением?
это, вероятно, не ASCII-файл.по умолчанию редактор может открывать все ASCII-файлы. Тем не менее, можно зайти в Main menu - View - Settings - File types, активитовать опцию Handle only these files и вручную отредактировать список расширений.

все тулбары вернулись на место
сохранение оболочки происходит при выходе из приложения а также при нажатии кнопки OK в диалоге установок. Нажатие кнопки Cancel приводит к тому, что файл установок читается по новой. т.е. после того, как тулбары были удалены из главного меню, установки не были сохранены. Это, конечно, не совсем корректно, но и не является большой проблемой.

не работает подсветка для jscript
тэг script без указания типа не совсем корректен. В редакторе имеется подсветка не только для JavaScript, но и для VBScript. По умолчанию используется JavaScript, но хайлайтер ждет пробела после script.
 
LuckaSoftCEO
Про ctrl+space мне более чем понятно. Меня интересует именно автоматическое выскакивание списка. Попытаюсь объяснить почему (хотя, во многом, это уже автоматизм, но постараюсь проанализировать свои действия).
Понимаете, 99% кода - это использование функций/классов/переменных уже объявленных/описанных ранее. На 10-20...90(в зависимости от стиля)% кода - это функции php или пользовательские.
Понимаете, данный функционал нужен не для "напоминания" функции, а для ускорения скорости работы.
По большому счету, мне нет смысла нажимать ctrl+space для var_dump. Я прекрасно знаю как пишется эта функция, а нажатие ctrl+space уже даст мне потерю времени, сравнимую с набором функции в целом. В случае того же ZEND'а, когда функции выскакивают сами, я, набирая var_dump экономлю ровно 2 нажатия клавиш (пишу v+a+r+_+d+enter).
За полчаса "кодирования" таких нажатий экономиться уже под сотню. Короче, это, может показаться мелочью, но если в таком режиме работать всегда, это становится уже очень полезной привычкой.
LuckaSoftCEO
Про файл с "нестандартным расширением" - это ASCII-файл. Это дамп массива сохраненный как array.cache, другое дело, что тип, Вы, видимо, определяете по расширению. Вопрос - верно ли это, или же правельнее поведение других редакторов (того же Zend'а), когда встречается нестандартное расширение, выскакивает окно "открыть как ASCII" (с галочкой "все такие файлы"), или же "открыть системой". Это бы очень положительно сыграло в пользу юзабилити (в конце концов, раз пользователь открывает такой файл из текстового редактора, значит ему это наверняка зачем-то нужно).
 

LuckaSoftCEO

Guest
Про ctrl+space мне более чем понятно
это очень тонкое дело. мне, например, поступали письма, в которых было сказано, что постояннов еыскакивание списка просто раздражает. От нашего тестового отдела даже было предложение, вообще отключить всю автоматику-полностью.

Я согласен - все это можно сделать отключаемым и устанавливаемым юзером.

Но самая большая проблема в том, что в установки никто не смотрит.

У нас при деинсталлации софта вылезает просьба написать нам пару строк и указать причину. Люди пишут, часто и охотно. В основном выясняется, что им не нравится такое-то и такое-то поведение (хайлайтер, фонт, другие мелочи, нужное подчеркнуть).

Все они, как правило, являются устанавливаемыми. Но вот привык юзер работать с каким-нибудь XYZ-Pad, и не нравится ему наша раскраска (я вообще, например, по натуре пурист и не люблю пестрый код, так что я их вполне понимаю)

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

Да что там далеко ходить. Вот выше по ветке о установке курсора в произвольное место строки. Есть опция, все решилось. Но ведь мне пришлось подсказывать, что такая опция есть!

Наш тестер сразу начинает шуметь: сделай по умолчанию.

С чем я, например, категорически не согласен - думаю,такое ноутпэдовское поведение многих отпугнет. Меня бы лично оно отпугнуло.

А постоянное выпрыгивание комбобокса с подсказками отпугнет еще больше народа. Да, его можно сделать отключаемым. Но 99 процентов даже не удосужатся проверит, а можно ли отключить? и просто деинсталлирует приложение, хорошо еще если напишет почему.

тип, Вы, видимо, определяете по расширению
Нет, тип определяется по структуре файла. Если в первых 1024 знаках не встретилось ни chr(13), ни chr(10), это значит файл бинарный.

текстовые файлы содержат разделители строк.

дамп массива вполне может быть именно таким файлом - бинарным. если строки массива одиналковой длины, в целях экономии разделители строк могут в файл и не писаться. А то, что его можно видеть в текстовом редакторе, еще не означает, что файл ASCII, Exe-файлы тоже можно видеть там.

поведение редактора для всевозможных типов файлов устанавливаемое в диалоге устанвок, и нет нужды выносить эти функции в пользовательские запросы. тем более - клянусь! всего предусмотреть все равно нельзя. имеет смысл выносить только операции МНОГОРАЗОВЫЕ, т.е. те, к которым необходимо обращаться несколько раз в течение сессии. А зайти в установки и добавить cache в список расширений - это именно одноразовая операция, сделано и забыто.

Вообще, вы уже, наверное, догадались, что Zend Studio вовсе не является для нас эталоном. Я, разумеется, детально проматривал приложения конкурентов , и могу сказать, что никогда бы не стал покупать данный софт да еще за 300 долларов. Ну что там есть такое, чего нет у нас? PHPDoc? у нас он тоже будет, со временем. Еще что? Запрос о типах файлов? Вообще, я просмотрел различные конференции на тему "кто чем пользуется" - в основном высказывания типа "Zend потому что это Zend".

В данный момент наш редактор страдает вовсе не недостатком возможностей, скорее недостатком рекламы. Над чем мы в данный момент усиленно трудимся (разумеется, не здесь - хорошая реклама штука далеко не бесплатная(
 

McLay

PHP5 BetaTeam
2LuckaSoftCEO, ну понятно, теперь буду везде вместо <script> писать <script > :)
Это немного странно, т.к. для любого браузера открытие этого тега означает начало jscript (если специально неуказанно что-то другое).
 

LuckaSoftCEO

Guest
Это немного странно
как с этим обходятся браузеры, нам совсем не интересно. Есть спецификация W3C, и мы хотим придерживаться ее.

http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1

в особенности важен этот абзац:
As HTML does not rely on a specific scripting language, document authors must explicitly tell user agents the language of each script.

Разумеется, тип скрипта может быть определен в META-декларации и в атрибутах тэга опущен. Но поскольку мы в общем случае не имеем полноценный DOM документа (большинство экементов еще не существует в момент написания скрипта) и парсим только отдельные тэги, нам надо знать тип скрипта.
 
LuckaSoftCEO
Поповоду настроек - я уже заметил Вам один раз, что они какие-то не очень понятно органгизованные. Вот, например, почему мне для того, что бы настроить поведение табов, необходимо менять опции сразу в двух разных вкладах?

Это во первых.
Во вторых, я же не спорю с умолчательными установками. Я спорю именно по поводу возможных установок в принципе. Вот я скачал Ваш редактор. Ознакомился с ним изначально. Изначально он мне понравился. Потом попробовал исправить баги по текущим проектам, используя Ваш editor. Вот тут начали проявляться мелкие неудобства. И вот эти удобства, я понимаю, что надо устранять используя настройки. И в диалоге с Вами я пытаюсь дать Вам идеи того, что можно либо реализовать, либо, возможно, описать в настройках подругому, либо вообще ничего не менять, а просто ответить - это есть там-то и там-то. Но покрайней мере узнали бы, что у русскоязычного пользователя, настроившего ни одну англоязычную софтину, возникли проблемы с настройкой Вашей программы. И над этим ИМХО надо зауматься.
Обратите внимание, по мелким недостаткам я так и пишу "мелочь", а вот некоторые недостатки, которые Вам кажутся некритичными, для меня могут быть жизненноважными.
Я же не настаиваю, что такие настройки должны быть по умолчанию. Но ИМХО, редактор должен быть максимально настраиваемым, что бы пользователь мог сделать его работу наиболее похожей к тому, с чем он имел дело, но при этом он получил и плюсы Вашего редактора.

Вам интересно, что я нашел в Вашем редакторе по сравнению с Zend'ом?
Дело в том, что я перебрал кучу редакторов, которые дадут такой же удобный project manager, c таким же удобным auto_complete, но при этом не такой тяжелый и неуклюжий. Я действительно перебрал огромное количество PHP-IDE. В конце концов мне захотелось просто - хороший project manager, и чёрт с ним с auto_completion. И вот в Вашем мне тот самый менеджер понравился.
Это ИМХО, и есть одно из того, чего должен делать новый редактор. И именно на этом он и получает пользователя - тем, что пользователь его запускает "из интереса", находит что-то очень интересное. И только если редактор его зацепил он начинает копаться в настройках.
Это я всё к тому, что может не стоит арканиться, а проще сделать, что бы было. Все-таки это не сложно, былго ctrl+space уже есть.

З.Ы. Поповоду того, что есть в Zend'е. Там есть всё то, что я написал Вам. И не надо говорить "это не надо, это надо." МНЕ это надо. И, там есть еще много чего, с чем я еще не разбирался. В частности, настроить отладчик в EngineSite у меня еще не получилось, в то время как в Zend он работает по умолчанию. Настройки ftp там интуитивно понятны. Да и вообще все настройки там более чем понятны. По крайней мере МНЕ.
 

LuckaSoftCEO

Guest
Ну, это все, конечно, правильно, но ведь не находят люди настройки! хотя мы пытались собрать все, что можно, в одном окне - за парой редких исключений.

вот недавно поступило предложение Code templates переименовать в Code insight и вынести в тот же диалог опций. С этим нельзя не согласиться. Предложившему понравилось буквально все - за исключением того, что нет Code insight. А ведь он есть, только не очевиден.

Короче, будем думать. В основном проблема не в том, что настроек не хватает - скорее наоборот. Проблема в том, что настройки не там, где привык юзер. А он привык к какому-то другому продукту, что вполне естественно - наш существует менее полугода.

Но можно понять и нас - нам не хочется терять лицо. И у нас тоже есть честолюбие, и мы хотим, чтобы через годик за образец брали наш редактор.

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

Ибо до сих пор жалоб по этому поводу не поступало. Редактор встает и дебаггер сразу работает.

Есть, правда, одно "но". Отладчик у нас не свой, а нумеговский. У них есть коммерческая версия и фривэр версия. Их PHPEd не работает с фривэр и ставит про старте коммерческую, а наш не работает с коммерческой, но если дебаггер был переназначен, то он автоматически другой не ставит.

Может быть, дело в этом?

В главном каталоге приложения есть файл instsrv.bat, который ставит "правильный" сервер. надо исполнить его и попробовать стартовать по новой
 
Да, проблема, почти наверняка в моих настройках - при нажатии f5 в output открывается localhost/[путь к файлу], естественно с текстом "невозможно отобразить страницу", при ctrl+F5, вообще виснет секунд на 10, а потом тоже открывает "невозможно отобразить страницу".

Я примерно понимаю, в чем проблема, но в том же Zend'е отладчик сильно встроенный, и срабатывает даже для файлов вообще без проекта. И output там идёт ввиде viewsource прямо рядом (без всяких внешних броузерных компонент).

Собственно, возможно, если я начну разбираться, я, наверняка настрою этот debug, пока что это не критично, и я особо не парюсь. Кстати, DBGListener на этот F5 никак не реагирует (instsrv.bat запустил)

А он привык к какому-то другому продукту, что вполне естественно - наш существует менее полугода.
Нне в том дело, что к другому, а в том что к другим. Все продукты имеют более ли менее одинаковый вид настроек.
Возьмём к примеру тот же tab.
На примере Zend. Заходим в настройки.
Там видно вкладки:
Desktop, Editing, Code Completion, Color&fonts,Debug, KeyMap,Templates и т.п.
У Вас:
Interface,Editor, Highliter,Browsers, PHP Settings
Мне надо отредактировать табы: что бы они заменялись на пробелы, что бы [tab] срабатывал, и что бы пробелов было 2.
В Zend'е я захожу в, что естественно, editing и сразу вижу "Tab size" и "Tab as spaces".
Обратите внимание на названия пунктов - они понятны, даже человеку едва-едва знающему английский.

У Вас, надо зайти в editor->options, отметить Want tabs, убрать галочку со smart tabs, еще поставить галочку tabs to spaces.
И... А где же размер? А для этого, оказывается, еще надо выйти в пункт editor, и там отдельно указать Tab width.

А теперь подумайте, что для пользователя, впервые запустившего Ваш редактор, означает тот же smart tabs?
А ведь именно эта галочка вызвала у меня затруднение. Т.е. все остальное я с горем пополам (особенно размер таба) нашел, а вот со smart tabs разобрался, только при помощи хелпа, читая описание всех этих кнопок.

Так вот интерфейс описанный в Zend'е, на самом деле, более ли менее стандартен для большинства редакторов.
Вот, открываю notepad++ (у меня русская версия).
В меню:
настройки->
->Табуляция
->размер...
->заменить пробелами
Открываю aditor:
preferences, тут же Fill tabs with spaces, Tab size.

Вывод: большинство разработчиков выносят эту опцию на видное место, видимо потому, что эта опция слишком разная для разных людей, и, она слишком важна для редактирования. Человек вообще не станет изучать редактор "в живую", если не сможет настроить табы так как ему надо (еще бы - кто же будет корежить свой код для таких исследований).

Именно табы я привел как пример того, почему иногде следует перенять опыт других редакторов. И почему не следует разделять настройки одного инструмента/функции, на разные вкладки настроек (как это происходит у Вас).
Вот не понимаю я почему tab width и tabs as spaces отноятся к разным пунктам настроек.
 

Say[26]

Guest
Код:
   if ($a == 1)
   {
      echo 1;
      }
"echo 1;" -> enter -> закрывающая скобка не равняется с открывающей :(
 

McLay

PHP5 BetaTeam
2LuckaSoftCEO, а где в спецификации написанно про обязательный пробел? :)

-~{}~ 09.03.05 15:26:

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

В phpedit от waterproof так сделано, удобно.
 

Say[26]

Guest
Вот еще:
Код:
	if($a == 1)
	{
	$var = $a;
	}
Если начать стирать '$var = $a;' бэкспейсом, то после удаления '$var' курсор переходит в самое начало строки, хотя должен остаться на уровне скобок.
 
Сверху