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

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

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

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

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


Выпуск # 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 для отображения информации о следующих вызовах.

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...
}

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


Обновление

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

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


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

Ответы [ 4 ]

5 голосов
/ 09 апреля 2012

Я только что перешел на 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

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

<?php

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

?>

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

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

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

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

NetBeans PHP xDedbug support

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

Другие вещи

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

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

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

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

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

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

Заключение

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

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

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

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

2 голосов
/ 12 сентября 2013

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

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

1 голос
/ 11 сентября 2013

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

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

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

0 голосов
/ 05 января 2012

для # 1, сложность с языком сценариев заключается в его не строгой типизации. Функция / метод может вернуть ноль, ложь, истину, int, массив, строку ... Таким образом, у 'intellisense' нет типа, на котором можно основывать подсказку, если только он не перекомпилирует его и не проверит все возможные типы возвращаемых данных.

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

...