Код Подсказка пользовательских функций/объектов/констант, а также цепочка комментариев в 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 явно лучше; он мгновенно узнает из вашего кода проекта. В большинстве случаев подсказки для параметров функции являются умными, предполагая наиболее вероятную переменную.
Цепочка метода работает чудесно, как видно здесь:
(Это касается вопроса № 1)
Поддержка PHPDoc
Я был очень впечатлен этой функцией. Возьмем, к примеру, приведенный выше снимок экрана. Я просто набрал /**
, а затем Enter, и NB автоматически завершил комментарий с помощью подсказки типа возвращаемого типа (также параметры функции, если они есть).
<?php
/**
*
* @return \Object_Factory
*/
public function foo(){
echo "foo";
return $this;
}
?>
Другой пример:
(Это касается вопроса № 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 и другие выполняют пользовательскую компиляцию и включение.