Какие-нибудь функции NetBeans, которые сделают мой день? - PullRequest
44 голосов
/ 29 мая 2009

Я недавно полюбил netbeans для моей работы с PHP из-за интеграции с XDebug. Это заставило меня забыть о textmate (который по-прежнему превосходит netbeans по мелочам)

Как вы думаете, о какой замечательной функции netbeans я должен знать, и что более важно, почему и как ее использовать?

Я прошу это оптимизировать мои навыки использования IDE и основываться на идее, что то, что хорошо работает для других, может работать только для меня (и, надеюсь, других).

Ответы [ 21 ]

42 голосов
/ 02 октября 2009

Я нашел еще один замечательный отрывок гения, которым хочу поделиться:

вы можете сделать пользовательское свертывание кода (на самом деле не связано с php, только netbeans)

просто поместите это в файл кода:

// <editor-fold defaultstate="collapsed" desc="getters and setters">

some boring code you don't need to see every time here

// </editor-fold>

Это будет вести себя подобно #region с в visual studio или pragma mark с в xcode. но в отличие от region s, это не портит работу вашего кода, это просто комментарий!

26 голосов
/ 29 мая 2009

Интеграция Subversion непосредственно в IDE и Локальная история - мои любимые любимые функции.

19 голосов
/ 04 июля 2009

Я считаю, что единственной наиболее полезной функцией в работе Netbeans для PHP является то, что она понимает PHPDoc (так же, как и Javadoc) и использует ее для подсказок типов.

Введите /** перед определением функции, нажмите return, и он создаст шаблон PHPDoc.

/**                              <-- I typed this one line
 * @param <type> $otherObj       <-- Netbeans added these 3 lines
 * @return <type>                <--
 */                              <--
public function exampleFunction($otherObj)
{
    $myObj = new MyClass($otherObj);
    return $myObj;
}

Замените метки <type> соответствующими типами:

/**      
 * @param OtherClass $otherObj
 * @return MyClass
 */
public function exampleFunction($otherObj)
{
    $myObj = new MyClass($otherObj);
    return $myObj;
}

И вуаля, вы получите завершение типа (и всплывающую документацию) с помощью Ctrl-пробела.

17 голосов
/ 29 мая 2009

Потрясающие привязки Vi через плагин jVi .

13 голосов
/ 21 марта 2010
if ($x instanceof SomeClass) {
  $x->.... // now it has code completion with SomeClass' methods.
}
11 голосов
/ 23 июля 2010

Макросы и Шаблоны кодов с расширенным вводом!

Параметризованные шаблоны кода (попробуйте ввести fnc в netbeans, а затем сразу же нажать Tab, а затем продолжайте нажимать Tab, чтобы увидеть, что происходит, как он циклически перебирает имя функции и параметры функции - загляните внутрь кода Шаблон, чтобы увидеть, как это делается). (Параметры> Редактор> Шаблоны кода)

Несколько простых примеров (некоторые я сделал, некоторые поставляются с netbeans):

  • [forek] расширяется до: [foreach ($ array as $ key => $ value) {}] (этот идет с netbeans, остальное я сделал)
  • [arr] + Tab расширяется до: [array ();]
  • [kv] + Tab расширяется до: ['key' => "val",] (key и val - это параметры, которые я могу циклически просмотреть и отредактировать с помощью tab. Шаблон кода выглядит следующим образом: ['$ {key } '=> "$ {val}",] где [$ {кое-что}] - параметр шаблона, он печатает [что-то]. если вы хотите его напечатать tio print [$ кое-что], я думаю, вы должны использовать три] $] символы: [$$$ {key}])

РЕДАКТИРОВАТЬ: Вы можете сделать шаблон кода для стрелки с одной буквой (например, «м» для ex), но когда вы вводите код, вы должны поставить пробел перед буквой, иначе это не узнает это. Пример: $ obj m [нажмите Tab], расширяется до [$ obj ->]. Пространство между ними работает нормально и не является ошибкой синтаксиса. / EDIT

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

Макросы с ярлыками в качестве шаблонов мини-кодов ! (NetBeans> Меню> Изменить> Начать / остановить запись макроса)

Best Макросы Я сделал для php на самом деле шаблоны кода (потому что '+ Tab по какой-то причине не работает как шаблон кода, только если шаблон начинается с буквы, с которой он работает) ([ярлык] вставляет [текст]):

  • ярлык [Ctrl +;] вставляет [->] (не более гимнастика, не более Синтаксическая зависть на других языках:))
  • сочетание клавиш [Ctrl + Shift +;] вставляет [=>]
9 голосов
/ 04 июня 2009

Эта ссылка содержит множество сочетаний клавиш, которые пригодятся. У меня есть его распечатанная копия, прикрепленная к стене рядом с моим компьютером. К сожалению, я не вижу никаких специальных ярлыков PHP.

ОБНОВЛЕНИЕ: http://netbeans.org/project_downloads/usersguide/shortcuts60.pdf ОБНОВЛЕНИЕ 2: http://netbeans.org/project_downloads/www/shortcuts.pdf (для 7.0)

8 голосов
/ 22 марта 2010

Я бы добавил Задачи интеграция. Не успели что-то доработать? Добавьте простую задачу, которую NetBeans будет отслеживать для вас. Вы можете настроить то, что отслеживается в Задачах, в Options -> Miscellaneous -> Tasks, но я нашел формат ниже наиболее полезным, так как он хорошо согласуется с комментариями PHPDoc (см. оттуда комментарий):

/**
 * @todo Create public setters and __toString() for this class.
 */
6 голосов
/ 19 января 2010

Это прозвучит смехотворно тривиально, но в Netbeans я занимаюсь форматированием кода. Его форматирование кода (источник-> формат) качается.

Его интеграция с SVN тоже великолепна, но это уже было сказано.

6 голосов
/ 29 мая 2009

Ctrl + Пробел - моя любимая и наиболее часто используемая функция при программировании на Java, я думаю, что она включена и для PHP. Но если вам нравятся чистые компоненты, вы, скорее всего, уже знаете об этом, а если нет, то узнайте, что они делают.

Также приятной возможностью является переход к соответствующему исходному коду с помощью Ctrl + щелчок по чему-либо от переменных, до вызовов методов и ссылок на классы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...