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

Nirva

Dmitry Polyakov
3. мелочи вроде записи макросов и т.п.
ну писать макросы и ексед умеет
4. 4 улучшенная навигация по коду
чем улучшенная, если можно?

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

Luckasoft

Guest
Я рад что вы нашли редактор своей жизни, но меня лично интересуют как мы можем улучшить наш продукт.

Если же вы счастливы и не желаете больше ничего и никаких идей у вас нет - в принципе, и говорить тут наверное не о чем.
 

Nirva

Dmitry Polyakov
эм... благодаю покорно, я лишь интересовался вашим продуктом.. мдя..
 

fixxxer

К.О.
Партнер клуба
дебаггер работает по человечески (через debug-модуль) или через php.exe?
 

Profic

just Profic (PHP5 BetaTeam)
Luckasoft
Кстати вот и первые баги так сказать :)

1) PHP5 не держит :)
все ключевые слова php5 за таковые не считает, например final abstract private protected public (PPP) и т.п.

2) В навигаторе класс, который прописан в коде как
final class rtfParser {
не отображается вообще
если же прописать
final
class rtfParser {

то все пучком

3) Констант класса совсем нет в навигаторе

4) С функциями та же беда, что и с классами

5) С переменными вообще какая-то каша. Ни одного свойства (которые тоже объявлены как PPP) зато все ВНУТРЕННИЕ переменные из всех методов этого класса находятся в переменных КЛАССА. Имхо их нужно в описание ф-ции запихать.

6) При наличии в файле объявления нескольких классов я получаю в новигаторе ОТСОРТИРОВАННЫЙ список классов, в то время как внутренности (константы, переменные, методы) НЕ МЕНЯЮТ своего порядка вслед за классами. В итоге получается что к одному классу прописываются переменные и ф-ции, которых у него нет.

7) Shift + Срелка вверх - не работает. (по крайней мере с настройками по умолчанию)

ЗЫ. Это я в редактор загрузил только один (!) файл...

-~{}~ 26.07.04 19:29:

fixxxer
Судя по всему можно сделать как хочешь
в архиве лежит dbg.dll под разные версии php
ну и dbgListner.exe и сотоварищи до кучи :)
 

fixxxer

К.О.
Партнер клуба
2) В навигаторе класс, который прописан в коде как
final class rtfParser {
не отображается вообще
если же прописать
final
class rtfParser {
то все пучком
интересно... а если

$a=1;class foo {
..
}

отображается? =)

а если

class
foo
{
}

? ;)
 

Кром

Новичок
Luckasoft
Да, с табуляцией стало гораздо лучше.
Только я теперь не могу курсор вниз прогнать с помощью нижней стрелки. Что за глюки такие? Или это тоже какая-то настройка хитрож..я?

По поводу настроек по умолчанию. С чего вы взяли, например, что выделение зеленого цвета, кому либо понравиться? В этом плане лучше не выдумывать, а сделать как у всех.

Потом почему не убирается HTML панель? Я ее убрал, при повторном открытии редактора она вылезла снова.

Еще было бы неплохо, когда в таком коде и в похожих структурах
PHP:
if ()
{}
при условии, что курсор стоит между фигурных скобок, при нажатии enter, курсор становился на одну позицию табуляции правее, а последняя фигурная скобка, становилась на линнию с первой.

А hex редактор встроенный есть? Я не нашел.
 

LuckaSoftCEO

Guest
Я попробую объяснить ситуацию. Главный вопрос здесь, насколько я понимаю - чем наш редактор лучше (хуже) того или иного? И вообще, зачем он нужен, если есть PHPEdit, PHPBuilder, vim, notepad, Komodo, etc, нужное подчеркнуть.

Где-то с год назад мы попробовали создать этакого монстра, который бы мог открывать и обрабатывать любые файлы, предназначенные для инета - скрипты, документы, стили, словом все, вплоть до картинок. Всё, естественно, под одной оболочкой.

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

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

Нами уже выпущен Perl Editor, PHP Editor, о котором здесь идет речь, со вчерашнего дня стоит в инете для бета-тестов, CSS Editor и HTML WYSWYG - Editor в тестах внутренних, в разных стадиях разработки находятся редактор для Javascript/VBScript, редактор для ImageMaps, совмещенный с редактором изображений, а также "центральная" программа, которая управляет всем этим хозяйством и способна создавать целые сайты любой сложности - с десятками или сотнями уровней, и распределять вновь созданные файлы по соответствующим приложениям (на ASP или там ColdFusion мы изначально не замахиваемся - для таких вещей нужны специфические серверы, они, как правило, дороже, и это не для широких масс, кроме того, с PHP, PERL или их комбинацией можно реализовать практически всё)

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

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

Насчет PHP5. Ни парсинг кода / навигация, ни исполнение, ни дебаггер для PHP5 не работают. Это не баги, тому есть причина, а именно - мы, честно говоря, не рассчитывали, что 5-я версия выйдет так скоро, и планировали сделать update к концу года. Наверное, теперь следует поторопиться - хотя переход серверов на 5-ю версию, затянется на полгода, а то и на год - как это было с переходом с 3-й на 4-ю. И версия 4.3 еще долго будет оставаться актуальной.

Был вопрос о Hex-редакторе. А надо? И если да, то зачем? Мы встроили отключаемый HexDump для бинарников - смотреть можно, редактировать нельзя. Ведь HexEditor - само по себе приложение, и немаленькое. Если имплементировать все функции - приложение раздуется, если только некоторые - а зачем тогда он вообще нужен? Хотелось бы пояснений. Если аргументы будут убедительными - можно подумать на этот счет.
 

Profic

just Profic (PHP5 BetaTeam)
LuckaSoftCEO
Во всех редакторах для меня самое главное - настраиваемость подстветки (именно подстветки) синтаксиса. Имхо, неплохой пример для подражания EditPlus2. Это не реклама :) Когда встал вопрос о разработке на php5, я, благодаря тому, что все ключевые слова лежат в обычном текстовом файлике, сделал синтакс-файл и раскрасил все конструкции так, как это удобно мне. Пример того, как это у меня выглядит - http://mi.kursknet.ru/edit-plus-syntax.png. Понимая, что в данном случае парсинг контента и его отображение в виде значительно отличаются от простой подсветки, я не требую реализовать полный аналог (хотя он был-бы великолепен :)) а просто советую присмотреться к такому решению. Кстати реализация его в EditPlus оставляет желать лучшего, но уж лучше это чем то, что я увидел в ZendStudio, PHP Expert Editor и пр. редакторах, как ни странно предназначенных именно для PHP.

Второе, что я ищу - нормальный отладчик с открытым кодом модуля php и чтобы в общем-то не зависеть от редактора ещё и внешний по отнешению к последнему.
Xdebug имхо нормальный модуль php. Отладчик к нему есть, но поставляется в составе опять же монтрообразной IDE. Но протокол документирован. Может быть вы не будете ограничиваться только dbg, но и реализуете поддержку xdebug? Если нет, то, видимо, возьму как-нить в руки php-gtk и склепаю подобный сам :)

Третье и наверное последнее, что мне в ощем-то не помешало бы, это автодополнение кода. Но не только для встроенных ф-ций/классов, но и определенных программистом.

Мдя не мелкий пост получился :) Но идеал как-говориться недостижим...
 

LuckaSoftCEO

Guest
Насчет возможности создавать собственный парсер синтаксиса - мы думаем, и думаем интенсивно. Но, скорее всего, в данной версии этого сделано не будет. Причина: если уж делать это, то заодно надо и увеличивать функциональность редактора - например, имплементировать code folding. Когда весь пакет будет готов - займемся новыми версиями. Пока не будем, просто некогда.

Насчет отладчика: да, мы включили dbg, но планируем сделать свой модуль - ведь неизвестно, будет ли dll для 5-й версии, и если да, будет ли эта библиотека иметь подходящую лицензию. Не хочется зависеть от кого-то. Код библиотеки открыть? А почему бы и нет? Но я с трудом представляю, какая практическая польза от дебаггера без графической обертки. В нашем редакторе для Perl мы использовали стандартный дебаггер perl5db.pl, его хоть можно гонять в DOS-окне без оболочки. Но php не интерактивен...

Автодополнение - есть, а как же, в том числе и для внутренних функций текущего модуля, а также для подключенных найденных внешних модулей. Ctrl+Space. Это если в PHP. А если в HTML - то для HTML, CSS или Javascript, в зависимости от того, где находишься.
 

Profic

just Profic (PHP5 BetaTeam)
LuckaSoftCEO
Про парсер синтаксиса я уже понял :) Ну что ж будем ждать...

Насчет отладчика, вы видимо меня не до конца поняли.
Xdebug (http://www.xdebug.org/) уже есть в том числе и для php5. Вторая (develop) версия которого поддерживает 3 протокола удаленного дубагинга: DBGp - Common DeBuGger Protocol, GDB - GNU Debugger protocol, PHP3 - PHP 3 Debugger protocol. Вот как раз dbgp хорошо документирован на сайте xdebug-а. Т.е. ничего не нужно изобретать :) И консольный клинт есть для этого протокола опять таки на сайте xdebug-а.
Я прекрасно понимаю, что всегда хочется иметь всё своё (сам такой :)), и уж если вы решитесь писать свой модуль, то хотябы используйте протокол dbgp, а не изобретайте велосипед

Я к сожалению не успел помучить основательно ваш редактор, и видимо не получится, т.к. пишу проект на php5, с которым ваш редактор немного не совместим :(

Я надеюсь, остальные мои баг-репорты не прошли даром (про сортировки и Shift+Стрелка вверх)?

В общем редактор мне понравился, довольно продумано сделан. А то я как первый раз увидел PHPEdit ужаснулся, столько всего было напихано :)

-~{}~ 27.07.04 05:36:

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

Luckasoft

Guest
Originally posted by voodoo
простите, а как можно поставить чтобы курсор устанавливался в конец строки (если я мышкой щелкаю правее)?

вот еще, про настройку подсветки.
берем два атрибута, например Identifier и Reserved Word.
Foreground Color для обоих none (если не так -- то ставим в ноне).
Теперь в Resever Word меняем цвет на зеленый, Apply.
переключаем Attribute Name на Identifier -- дроп-даун меню foreground color показывает тоже зеленый. хотя в примере подсветки видно что он черный.
Про подсветку - это же надо, Вам прям в тестеры надо идти :0) Есть такое дело.

про конец строки - Main menu - > View -> Settings -> Options -> Scroll past end of file.

По умолчанию пожалуй включим в следущих билдах.
 

RASAMAHA

Новичок
TAG Editor хорошая штука, мне понравилась :)

-~{}~ 04.08.04 13:26:

Не так не прикольно, подсветка мне не очень понравилась... :(
Я сам как бы не знаю что особо посоветовать по ней. Но надо сделать по качественнее :)
 

Luckasoft

Guest
Originally posted by RASAMAHA
TAG Editor хорошая штука, мне понравилась :)

-~{}~ 04.08.04 13:26:

Не так не прикольно, подсветка мне не очень понравилась... :(
Я сам как бы не знаю что особо посоветовать по ней. Но надо сделать по качественнее :)
Ох уж Вы и критикан! :0) Посоветовать не можете а критиковать можете :0)

идите в опции (view-settings-phphilghliter) и сделайте подсветку по своему вкусу. А потом пришлите нам ([email protected]) файлик phpedit.cfg с качественной подсветкой.

Если сделаете подсветку которая будет луччше - я вышлю вам ключик на программу.
Договорились?
 

RASAMAHA

Новичок
Хорошо, беру назад свои слова У меня плохой вкус, я не смогу :( но оценить смогу :)

Просьбы и пожелания:
1. На сайте писать номер билда и версию :)
2. Желательно сделать возможность открытия меню правой кнопкой, на вкладках имён файлов внизу
3. Мелочь. В навигаторе, при перемещении ползунка внизу влево-право, ИМХО лучше сделать одновремменное перемещение. То есть не так, как у вас. Где его отсановил там и будет, а одновремено с перемещением

Пока всё :)
 

Luckasoft

Guest
Апдейт - редактор поддерживает PHP 5 и кажется готовым, с нашей скромной точки зрения :0) PHP Editor

Еще раз напоминаем что с мы удовольствием поделимся ключиками в обмен за ваши замечания!
прямая ссылка на инсталлятор - http://www.enginsite.com/download/php-editor.exe

Желающие взглянуть - просьба обратить внимание на
- Дебаггер
- Работу с FTP серверами
- Tag Editor и non-WYSIWYG HTML редактор
- autocomlete и IntelliSense
- Проект и его опции

[email protected]
Luckasoft
 

LuckaSoftCEO

Guest
А я дополню

Предлагаемый файл - простая инсталляция, без php в какой-либо версии. В итоге будет предлагаться несколько версий, с php4 и/или php5. Но здесь, надо думать, все имеют установленный php, а вот быструю подключку, надо полагать, не все. И то, что предлагается, дистрибуции php не содержит. Зато всего 5 с небольшим мегабайтпв.

Поэтому при первом старте стартует помощник, надо будет предпринять 2-3 шага, чтобы сказать приложению, где php. Этот же помощник используется для переключения дистрибуций.

Если что-то не стаботало, то можно установить все это дело вручную. Для этого надо:

1. Скопировать подходяющую библиотеку дебаггера из директории bin/server в директорию, в которой находятся расширения (значение переменной extension_dir в php.ini)

2. Добавить в php.ini библиотеку дебаггера, например extension=php_dbg.dll-5.0.0

3. Добавить в php.ini следующие строчки:
[Debugger]
debugger.enabled=on
debugger.profiler_enabled=on
debugger.hosts_allow=localhost 127.0.0.1

4. Прописать в реестре в ключе
HKEY_CURRENT_USER/Software/LuckaSoft/PHPInfo следующие строковые переменные:

Client=php.exe (для 4-х версий PHP) или Client=php_cgi.exe (для 5-х версий)

ExtensionDir=path_to_dir, например c:\php\ext

PHPVersion=version, например PHPVersion=5.0.1

WherePHP=php_directory, например WherePHP=c:\php

WherePHPIni=php_ini_directory, например WherePHPIni=c:\php

-~{}~ 11.10.04 17:23:

О, это упущение. Действительно, работа несколько подзатянулась, и 21 день закончился. Но это ничего. напишите мне на [email protected], я ключик сей момент вышлю.

это чтобы Вам по новой не загружать.

А через 15 минут, от времени сего поста, я загружу новую версию, с другим ключом. Она будет работать и там, где предыдущая версия уже была установлена и ее trial period закончился.
 

voodoo

Новичок
я там кнопку Freeware нажимаю пока, большая разница с полной версией?

пока что:
tools->ftp servers

servers, выбираю свой сервер, properties закладка Root settings.

Document Root: пишу ~/www, по кнопке Apply меняется на /~/www
Это какая-то совсем неочевидная для меня замена, потому что /~/www у сервера нету. В итоге, при открытии файла по фтп, по умолчанию показывает домашнюю директорию, которая мне, в общем-то, не нужна.
-
письмо отправил.

-~{}~ 11.10.04 15:40:

опаньки. сейчас при закрытии получил
"phpe.exe has generated errors and will be closed by Windows..."

попытаюсь воспроизвести...

-~{}~ 11.10.04 15:44:

ага. стабильно вываливается такая ошибка, если на момент закрытия есть файл, загруженный с фтп сервера.
если файл предварительно закрыть, ошибки нет.

-~{}~ 11.10.04 15:50:

tools->regexp tester

"program has expired" (даже с полученным ключом)
 
Сверху