Ввод / ** / в файлах PHP

Я использую /**/ в качестве личного маркера для битов кода, которые необходимо обработать перед фиксацией. Как только я наберу это:

/**

… Редактор думает, что мне нужен докблок, и запускает автозаполнение:

/**| */

… Где | - это курсор. Таким образом, когда я набираю последнюю косую черту, я наконец получаю:

/**/| */

Это происходит с несколькими установленными расширениями PHP (включая PHP DocBlocker и PHP Extension Pack Феликса Беккера), а также с --disable-extensions, поэтому он должен запускаться встроенным автозаполнением.

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

Соглашение заключается в том, чтобы ввести //TODO some comment what to do, тогда большинство сред автоматически поместят его в список TODO, где вы можете щелкнуть, чтобы перейти к этому блоку кода.

Tschallacka 01.06.2018 13:00

Возможно, было бы проще изменить стиль кодирования - большинство людей используют / ** TODO: любой * /.

Neville Kuyt 01.06.2018 13:00
/** обычно используется в IDE для комментариев к документации. См. Phpdoc.org
Barmar 01.06.2018 13:02

@Tschallacka Именно поэтому нужно использовать другой маркер. Я хочу быть уверенным, что обнаруживаю незаконченный код с первого взгляда, поэтому не передаю его в систему контроля версий. Я не хочу просматривать все задачи в рамках проекта, чтобы каждый раз рассказывать свои.

Álvaro González 01.06.2018 13:14

@Barmar Конечно, /**/ не является допустимым док-блоком, потому что он пуст :) В других редакторах, которые я использовал, автозаполнение выполнялось только при вводе пробела, табуляции или последующего ввода.

Álvaro González 01.06.2018 13:16

Да, PhpStorm так работает. Думаю, VSCode немного более агрессивен.

Barmar 01.06.2018 13:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
292
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны использовать

// TODO some_description_of_what_to_do 

или же

/** TODO some_description_of_what_to_do */

Это общепринятое обозначение чего-либо.

Вы можете опустить часть описания и просто пометить ее как

// TODO* 
// or 
/** TODO */

Большинство IDE (наверняка PhpStorm) выделяют такой комментарий, и вы сможете увидеть его еще лучше. Также есть возможность при фиксации через IDE проверять наличие отметок TODO перед фиксацией.

Просто попробуйте, и вы заметите, насколько это удобно;)

P.S .: Если вы используете Visual Studio Code https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight

В кодовой базе, над которой я сейчас работаю, есть 102 таких маркера, и это небольшой проект. Вводить туда мои временные маркеры - безумная идея ...

Álvaro González 01.06.2018 13:42
Ответ принят как подходящий

Насколько я могу судить, вот как работает эта функция, и нет параметр, чтобы настроить или даже отключить ее. Таким образом, я открыл запрос функции: # 51047 autoClosingPairs слишком агрессивны. (autoClosingPairs задействован, потому что он обрабатывается так же, как и скобки.)

В качестве обходного пути я создал собственный фрагмент кода:

"/**/": {
    "prefix": "/**/",
    "body": "/**/",
    "description": "Workaround to be able to type /**/"
}

Мне нужно только быть осторожным и набрать / + Enter (или / и Tab), но как только вы к этому привыкнете, это действительно сэкономит ваше время.

Другие вопросы по теме