Публикация для конкурса проводимого агрегатором Delphi новостей DelphiFeeds.ru.
Интеграция с SVN
Я говорю не просто о добавлении комманд Update/Commit в какие либо меню. Всё это возможно и в варианте интеграции SVN в Delphi для бедных. Я говорю о широкой визуальной поддержке. Чтобы на Tab-ах редактора и в дереве проекта отображался значок как в TortoiseSVN.
Чтобы изменённые строки в исходниках подсвечивались другим цветом.
Мне понравилось, как сделана интеграция SVN в NetBeans.
SVN команды доступны в отдельном субменю при правом клике как на файле в дереве так по заголовку таба в редакторе.
Фильтры/поиск
Фильтрация и/или поиск везде где только возможно. Я имею в виду, фильтр, который сокращает список доступных для выбора вариантов, по мере набора (filter as you type). Сейчас в Delphi есть фильтр для палитры компонентов - это хорошо и удобно. А какое-то из расширений, позволяет сделать поиск компонентов ещё более удобным. Хочется чего-то подобного и для других окон. Мне очень не хватает такого фильтра/поиска в следующих местах:
- в инспекторе объектов. Для компонентов с большим числом свойств приходится постоянно скроллить инспектор.
- в менеджере (дереве) проектов (впрочем, IDE Insight позволяет быстро найти файл по его имени для любого проекта в группе)
Самодиагностика
Хотелось бы, чтобы Delphi умела сама себя диагностировать и предупреждать о случаях возникновения потенциальных ошибок. Например, в случае, если компилятору доступны 2 .pas/.dcu файла с одинаковыми именами. Или если в путях IDE видны несколько BPL-ок с одинаковыми именами. Мне грустно вспоминать сейчас, сколько часов было убито в молодости на попытки выяснить откуда появляются ошибки типа "The procedure entry point @UnitName@initialization$ProcName could not be located in the dynamic link library Package.bpl" или "Unit XXX was compiled with different version of .." и ручной поиск по всем Path папкам делфей. Ведь всё это можно автоматизировать.
Документирование кода
Поддержка синтаксиса JavaDoc. Всё-таки это удобнее и компактнее чем писать в комментариях тэги XML.
Обновлённые Db-контролы
Стандартные контролы в Delphi хороши - спору нет. Но такие вещи как VCL DbControl-ы, сейчас мало кто использует, предпочитая им альтернативные
Дизайнер
Меня немного раздражает дизайнер форм, особенно в последних версиях Delphi. На мой взгляд было бы здорово если б Delphi появилась возможность открывать форму и код в отдельных закладках.
Также, было бы хорошо, если б дизайнер отображал чуть больше информации по контролам/компонентам (например, также, как CnWizards рисует TabOrder прямо на форме) и был чуть более интерактивным, например позволял бы редактировать Caption-ы прямо в дизайнере.
Редактор кода
Очень не хватает автоматической синхронизации параметров процедур в interface и implementation части. Сейчас я для этого использую ModelMaker Code Explorer, но хотелось чтобы такая функция была доступна сразу в IDE.
Подсветка парных begin/end-ов тоже не помешала бы.
Да в общем-то много что можно улучшить и сделать удобнее, достаточно лишь как следует изучить другие продукты такого класса.
Публикации по теме
- Чего не хватает в Delphi от Александра Алексеева (gunsmoker-a)
- Чего не хватает в Delphi от Влада WebDelphi
- Не знаю как в России, а в моей стране рынок недвижимости пережил огромный спад. Цены уменьшились в 3-5 раз. И если и покупать недвижимость, то сейчас для этого лучшее время. Но это в моей стране. А что об этому думают агентства недвижимости города Москвы - для меня загадка.
- Раньше, я очень не любил сочетание 3х букв: "SEO". Меня раздражал сам факт того, что люди устраивающие продвижение сайтов, подтасовывают результаты поисковой выдачи, и впереди поисковой выдачи всё чаще попадаются не сайты, производящие хороший контент, а сайты хорошо вложившиеся в поисковую оптимизацию. Сейчас, я стал относится к этому толерантней.
дпо поводу спонсоров поста - сочетание трех букв CEO означает Chief Executive Officer - директор. Видимо, имеется ввиду SEO
ОтветитьУдалитьПо поводу первой хрюли: в принципе, аналогичное уже есть - это файлы history и вкладка "History" в редакторе кода - она тоже показывает и историю и diff-ы.
ОтветитьУдалить>> Первый пункт...
ОтветитьУдалитьИ в CnWizards есть вроде такое. Или я не про то?
>> Поддержка синтаксиса JavaDoc. Всё-таки это удобнее и компактнее чем писать в комментариях тэги XML.
Зато очень хорошо дружит с PasDoc =)
>> Самодиагностика
Поддерживаю! Можно бы сделать и проверку контрольной суммы себя и своих файлов (чтобы вот такого не было: http://www.gunsmoker.ru/2009/08/delphi-delphi.html).
> сочетание трех букв CEO означает Chief Executive Officer - директор. Видимо, имеется ввиду SEO
ОтветитьУдалитьdeksden, имеется в виду действительно SEO. Просто я набрал это русскими буквами, не подумав, о том, что теперь это выглядит как другое сокращение. My fault. =)
GunSmoker, существенная разница в том, что в NetBeans нет нужды идти на отдельную вкладку. Все изменения подсвечиваются прямо в редакторе кода. =)
ОтветитьУдалитьреально нужен "модный" набор DB-компонентов и полная интеграция с SVN, все остальное ИМХО - лишнее!
ОтветитьУдалитьRob, я тут как раз готовлю материал по небольшому обзору средств генерации документации, но ни разу не слышал про PasDoc. Удобная вещь? Оно действительно поддерживает формат XmlDoc?
ОтветитьУдалитьТеперь обязательно попробую, спасибо.
> Можно бы сделать и проверку контрольной суммы себя и своих файлов
Я очень надеялся что они добавят что-нибудь в таком духе после выходы первого Induc-a, но к сожалению нет. Хотя было бы действительно актуально.
Роман, кому как. Я например готов отказаться от интеграции с SVN, в обмен на фильтры/поиск. =)
ОтветитьУдалить>>Очень не хватает автоматической синхронизации параметров процедур в interface и implementation части.
ОтветитьУдалитьО да..отсутствие этой функции иногда прямо таки раздражает
А не могли бы Вы рассказать как Вы это делаете в Model Maker? Я сколько не пытался реального облегчения труда в нем так и не добился. strict-модификаторы и классовые члены он не поддерживает :(
Алексей, нет, я скорее всего не так немного вас понял. Хотя посмотрите всё равно.
ОтветитьУдалитьВам бы присмотреться вот к этому: http://dephicodetodoc.sourceforge.net/ там поддержка javadoc есть точно.
> А не могли бы Вы рассказать как Вы это делаете в Model Maker?
ОтветитьУдалитьНа всякий случай уточню: Modelmaker Code Explorer, и "просто Model Maker" - это разные продукты. Первый - инструмент только для рефакторинга, а второй ещё и для дизайна и работы с UML.
Я использовал только MMX, и там такая синхронизация делается просто - с помощью функции Sync Declaration/Imlementation (горячая клавиша - Ctrl+Alt+Y).
> Вам бы присмотреться вот к этому: http://dephicodetodoc.sourceforge.net/ там поддержка javadoc есть точно.
ОтветитьУдалитьRob, я смотрел. И даже немножко модифицировал. =)
Кстати, очень интересный проект для изучения исходников. Там очень широко используются паттерны проектирования, и к тому же вместе с кодом идёт большая куча юнит-тестов.
Вот тут http://keeper89.blogspot.com/2009/12/delphi.html тоже есть несколько желаний :)
ОтветитьУдалитьKeeper - ничего себе немного. Там довольно основательный список претензий =)
ОтветитьУдалитьага =)
ОтветитьУдалить>>strict-модификаторы и классовые члены он не поддерживает :(
ОтветитьУдалитьЭто опять я =)
В общем со strict'ами и классовыми членам и разобрался.
Оказывается, надо в опциях проекта задавать версию языка.
Но вот, как добавлять вложенные типы в класс? Например перечисление.
Опять я туплю?
>>Очень не хватает автоматической синхронизации параметров процедур в interface и implementation части.
ОтветитьУдалить>>О да..отсутствие этой функции иногда прямо таки раздражает
Во-истину век живи - век учись. Оказывается в меню Refactor(Delphi 2009) есть операция Change Params...Чтобы ее вызвать надо курсор поставить на имя подпрограммы
И куда я раньше смотрел
> Оказывается в меню Refactor(Delphi 2009) есть операция Change Params...
ОтветитьУдалитьА я в Delphi 6 для это юзаю ModelMaker Code Explorer. Там и Change Params есть и вышеупомянутый Ctrl+Alt+Y. =)
Delphi не хватает надгробия :)
ОтветитьУдалитьДаже не знаю, что сказать... Пришлось поработать в С# в мелкомягкой студии - нет слов, такое г..но... Свои проекты - исключительно в Delphi.
ОтветитьУдалить> Пришлось поработать в С# в мелкомягкой студии - нет слов, такое г..но
ОтветитьУдалитьА я вот читаю про C# - очень красивый язык. И автодополнение в Visual Studio на первый взгляд работает лучше чем в Delphi IDE.