Подсказки по коду для пользовательских функций/объектов/констант, а также комментарии по цепочке в Adobe Dreamweaver CS5

В Dreamweaver CS5 есть нечто, называемое Code Hinting (назовем его для краткости CH).

В CH есть куча информации о функциях, константах и ​​объектах, встроенных в основную библиотеку. Когда вы нажимаете CTRL+ПРОБЕЛ или начинаете структурировать утверждение, начинающееся с $, всплывает окно с большим количеством информации, предоставляя мне информацию об этом без необходимости искать ее. сам. Если я нажму ENTER, когда CH включен и что-то выбрано, он автоматически заполнит остальное за меня.

Мне нравится эта функция, правда. Немного напоминает мне Intellisense.
Это экономит мне много времени. Пример подсказки кода, показывающий подсказку кода mysql_connect

Проблемы, с которыми я сталкиваюсь и не нашел решений, просты.


Проблема № 1 Связанные методы не отображают подсказку по коду

Поскольку PHP реализовал классы и объекты, я смог связать мои методы внутри классов/объектов. Цепочка на самом деле проста, возвращая $this (экземпляр этого класса), вы можете иметь непрерывную цепочку вызовов

class Object_Factory{
    public function foo(){
        echo "foo";
        return $this;
    }
    public function bar(){
        echo "bar";
        return $this;
    }
}        

$objf = new Object_Factory;
//chaining
$objf->foo()
     ->bar();

Вызов их по отдельности показывает CH.

$objf->foo();
$objf->bar();

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

Ошибка подсказки кода при цепочке методов

Итак, вот мой первый вопрос:
Есть ли способ в Dreamweaver CS5 сделать так, чтобы подсказки кода появлялись при цепочке?
Плагины, некоторые настройки, которые я не нашел, что-нибудь?

if("no") "Could you explain why?";

Проблема №2 Подсказка кода для пользовательских функций, объектов и констант

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

Вот мой второй вопрос:
Можно ли получить некоторую информацию в окно CH для пользовательских функций, объектов и констант?

Например, с Intellisense вы можете использовать настройку с тегами HTML и тремя косыми чертами. ///

///<summary>
///This is test function
///</summary>

public void TestFunction(){
    //Do something...
}

Можно ли сделать что-то подобное здесь?
Изменить какие-то настройки, плагин, что-нибудь?


Обновлять

Я думал, что нашел что-то, что может быть ответ по крайней мере на вопрос № 1, но это стоит денег, и я не собираюсь ни за что платить, пока не узнаю, что это действительно делает то, что я хочу.
Кто-нибудь пробовал это или знает, что это не решит из вопросов?

Поиски продолжаются...


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


person ShadowScripter    schedule 04.01.2012    source источник
comment
Для проблемы № 2 попробуйте использовать /**, а затем * comment here в следующей строке. В любом случае, именно так работает Netbeans, и, возможно, Dreamweaver такой же ... просто догадываюсь.   -  person Tim Withers    schedule 04.01.2012
comment
@TimWithers Не работает. Пробовал раньше, пробовал даже с тремя /***. Я попытался сделать это, поскольку WordPress также комментирует их.   -  person ShadowScripter    schedule 04.01.2012
comment
У них должен быть какой-то более сложный способ сделать это... сделать его проще, конечно.   -  person Tim Withers    schedule 04.01.2012
comment
offtopic: отказаться от dreamweaver в пользу ZendStudio, PHPStorm или NetBeans. Не пожалеете ;)   -  person c69    schedule 05.01.2012
comment
@ c69 Я действительно некоторое время смотрю на NetBeans. Просто я привык к Dreamweaver, а изучение новой IDE всегда требует времени. Кроме того, это только две проблемы, которые у меня были с CS5 до сих пор. Сможет ли NetBeans делать то, что я хочу и уже привык делать в Dreamweaver? :3   -  person ShadowScripter    schedule 05.01.2012
comment
@ShadowScripter это зависит от того, но, скорее всего, будут некоторые функции, которые вы в нем не увидите (например, .DWT и возможность создавать сценарии пользовательского интерфейса в js), но в целом - любая из IDE, которую я назвал, намного лучше, чем DW, если вы программируете. (Для простого редактирования содержимого в режиме wysiwyg - DW, возможно, лучший выбор, но кого это волнует). NetBeans бесплатна - вы можете попробовать ее в любое время, когда у вас есть свободное время.   -  person c69    schedule 05.01.2012


Ответы (4)


Я только что перешел на NetBeans после 10 лет использования Dreamweaver. Мои впечатления могут вам помочь. (с этого момента я буду называть их NB и DW соответственно)

Подсказки по коду/документация

Встроенные функции PHP.

И DW, и NB показывают все встроенные функции и константы PHP. Приятной особенностью является то, что они также предоставляют ссылку, которая открывает соответствующую страницу документации PHP.

DW намного медленнее обновляет определения (через спорадические обновления Adobe или в следующем выпуске), и их обновление не выглядит легким (с другой стороны, я быстро нашел файлы .zip, которые NB использует для PHP/HTML/CSS). ссылку на случай, если я захочу отредактировать/обновить их вручную).

Однако, поскольку документацию можно открыть так легко, я не считаю это проблемой.

Пользовательские функции/классы

Здесь NB явно лучше; он мгновенно учится на коде вашего проекта. Подсказки для параметров функции во многих случаях являются умными, предлагая сначала наиболее вероятную переменную.

Цепочка методов прекрасно работает, как показано здесь: Связывание методов PHP в NetBeans(это решит вопрос №1)

Поддержка PHP-документов

Меня очень впечатлила эта функция. Возьмем, к примеру, скриншот выше. Я просто набрал /**, а затем Enter, и NB автоматически завершил комментарий подсказкой типа возвращаемого значения (а также параметрами функции, если они есть).

<?php

    /**
     * 
     * @return \Object_Factory 
     */
    public function foo(){
        echo "foo";
        return $this;
    }

?>

Другой пример: Поддержка PHPDoc в NetBeans(это ответ на вопрос №2)

Вы можете включить код HTML, а также некоторые специальные теги @ в свои комментарии PHPDoc, чтобы включить внешние ссылки, ссылки, примеры и т. д.

Инструменты отладки

Также следует отметить, ИМХО, инструменты отладки, включенные в NB. Вы можете отслеживать все переменные (в том числе и суперглобальные!), шаг за шагом продвигаясь вперед.

Поддержка NetBeans PHP xDedbug

Настроить xDebug очень просто, просто раскомментируйте несколько строк в вашем php.ini и все!

Другие вещи

Рефакторинг (то есть переименование или безопасное удаление функций/переменных) в NB действительно хорош. Это дает вам очень подробный графический предварительный просмотр изменений перед их фиксацией.

Однако функции поиска/замены DW намного лучше. Я очень скучаю по функции "поиск определенного тега с атрибутом...". NB обеспечивает только поиск/замену RegEx.

У NB есть хороший выбор цвета, но он почти никогда не предлагает его; Какое-то время я думал, что его нет, пока случайно не обнаружил. Теперь я знаю, как его вызвать (CTRL+ПРОБЕЛ, начните вводить Color chooser и Enter). Очень громоздко, правда.

Я не использовал FTP часто с тех пор, как перешел на NB, но у меня есть ощущение, что DW также был намного лучше, особенно для синхронизации локальных и удаленных папок.

У NB действительно хорошая встроенная поддержка SVN, Mercurial и Git. Когда вы активируете поддержку версий, вы можете видеть каждое изменение рядом с номером строки (зеленая часть на моих снимках экрана означает, что эти строки новые). Я могу щелкнуть блок и сравнить/отменить эти изменения, посмотреть, кто первоначально зафиксировал каждую строку (и когда) и т. д.

Даже когда управление версиями [группы] деактивировано, NB имеет встроенную локальную историю, которая помогает вам восстанавливать предыдущие версии, а также удаленные файлы.

Вывод

Начинать с Macromedia Dreamweaver и видеть, как он медленно отстает от Интернета, пока Adobe изо всех сил пытается интегрировать и адаптировать свои продукты, — это болезненный процесс. (По сей день DW все еще не отображает правильно, даже с LiveView. Честно говоря, в NB нет встроенного средства визуализации)

Конечно, Adobe-изация DW имела свои преимущества, но этому скромному программисту было трудно оправдать IDE стоимостью 399 долларов США ~ 400 МБ по сравнению с очень сопоставимой бесплатной мультиплатформенной IDE на 49 МБ.

После начального обучения я очень хорошо освоился с NetBeans и не думаю, что в ближайшее время вернусь к Dreamweaver.

Я знаю, что это не дает прямого ответа на ваши вопросы о DW, но я надеюсь, что это все равно поможет.

person MrFusion    schedule 09.04.2012
comment
Действительно, судя по тому, что вы показали, NetBeans делает все то, что в настоящее время не может Dreamweaver, и делает это намного лучше. Это также бесплатно. Я не понимаю, почему Adobe пытается конкурировать с программами, которые бесплатны и работают лучше. Может быть, им следует принять менталитет открытого исходного кода. - person ShadowScripter; 09.04.2012
comment
Работаю с ДВ уже 5 лет. потому что вы советуете, я загружаю и устанавливаю netbeans. это здорово. очень красивый и умный. Благодарность - person EmRa228; 11.10.2012

Используйте функцию подсказки кода для конкретного сайта

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

person Wyatt    schedule 12.09.2013

Я знаю, что это старый вопрос, и это не полный ответ. Но кому-то точно поможет.

http://tv.adobe.com/watch/learn-dreamweaver-cs5/sitespecific-code-hinting-in-dreamweaver-cs5/

«Используйте Dreamweaver CS5 для просмотра подсказок по коду, связанных с платформами систем управления контентом, такими как WordPress, Drupal и Joomla. Узнайте, как настроить подсказки по коду для конкретных сайтов для CMS, чтобы вы могли легко работать с PHP-сайтом в Dreamweaver».

person Nadeer Madampat    schedule 11.09.2013

для № 1. Сложность языка сценариев заключается в том, что он не имеет строгой типизации. Функция/метод может возвращать null, false, true, int, array, string... Таким образом, у «intellisense» нет типа, на основе которого можно было бы основывать подсказку, если только он не перекомпилирует его и не проверит все возможные возвращаемые типы.

для № 2 подсказка основана на файле определения клипа, который существует для каждой версии PHP. В продуктах Microsoft добавляются определения текущих (скомпилированных) проектов. С PHP нет компиляции, проверки или добавления к базе данных клипов (автоматически). Некоторые, такие как PSPad, предоставят вам CodeExplorer, в котором перечислены все функции и классы в этом файле, но единственное известное мне средство заставить их отображаться в хинтинге — это добавить его в определение cips. Я не знаю, где и возможно ли это в Dreamweaver. Zend Studio и другие компании выполняют индивидуальную компиляцию и включение.

person ppostma1    schedule 04.01.2012