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

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

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

Мне нравится эта функция, я действительно это делаю. Напоминает мне немного Intellisense.
Это экономит много времени. Code hinting example, showing mysql_connect code hint

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


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

Так как PHP реализовал Classes and Objects, я смог объединить мои методы внутри классов/объектов. Цепочка на самом деле легко, возвращая $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 для отображения следующей информации о вызовах.

Code hinting failure when chaining methods

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

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

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

Как показано на первом снимке, появляется много информации. Фактически, есть такой же документ, как в онлайновой библиотеке. Константы обычно имеют очень небольшую часть информации, например, число. Code hinting a constant, with the number 3 in the information window
На этом изображении MYSQL_BOTH представляет 3.

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

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

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

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

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


Update

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

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


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

Ответ 1

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

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

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

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

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

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

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

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

Цепочка метода работает чудесно, как видно здесь: PHP method chaining on NetBeans (Это касается вопроса № 1)

Поддержка PHPDoc

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

<?php

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

?>

Другой пример: PHPDoc support in NetBeans (Это касается вопроса № 2)

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

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

Также следует отметить, что IMHO - это инструменты отладки, включенные в NB. Вы можете отслеживать все переменные (также суперглобалы!), Пока вы продвигаетесь шаг за шагом.

NetBeans PHP xDedbug support

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

Другие вещи

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

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

NB имеет приятный выбор цвета, но он почти никогда не предлагает этого; Я подумал, что некому было, пока я случайно не узнал об этом. Теперь я знаю, как его вызывать (CTRL + SPACE, начните вводить Color chooser и Enter). Очень громоздко, действительно.

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

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

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

Заключение

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

Конечно, Adobe-DOS имеет свои преимущества, но этот скромный программист с трудом оправдывал $399 USD ~ 400MB IDE против очень сопоставимой бесплатной многоплатформенной IDE на 49 МБ.

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

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

Ответ 2

Использовать функцию подсказки Site-Specfic Code

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

Ответ 3

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

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

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

Ответ 4

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

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