Скажем, я хочу ввести следующее в PhpStorm:
$longObjectName->propertyName = 'some value';
Кажется, невинно, нет? Если я начну вводить текст longOb
, завершение кода начнется и поможет $longObjectName
в качестве предложения, так как оно существует в другом месте моего проекта. Я думаю про себя: "Ах, отлично, это именно то, что я хотел", поэтому я нажал Enter или Tab, чтобы принять предложение. На данный момент я очень доволен.
Но теперь я хочу вставить ->
, PHP неудобный, но знакомый оператор объекта. Если я наберу его вручную, это три целых нажатия клавиш (включая Shift), что заставляет меня чувствовать себя немного грустно. На меня начинает проникать далекое, вопиющее сомнение. "Три нажатия клавиш: что это за злая IDE? Кто эти безжалостные диктаторы на JetBrains?"
Эмоциональные горки продолжаются, когда я вижу следующее в диалоговом окне PhpStorm Tip of the Day, в результате чего в моем темном мире Monokai-schemed появляется ненавязчивый, но настойчивый проблеск надежды:
При использовании завершения кода вы можете принять текущий выделенный выбор в всплывающем списке с символом периода (
.
), запятой (,
), точка с запятой (;
), пробел и другие символы.Выбранное имя автоматически вводится в редактор, за которым следует введенный символ.
В JavaScript это означает, что я могу набрать longOb
и нажать ., чтобы принять первое предложение о завершении кода и вставить оператор объекта JS, в результате получив longObjectName.
, после чего я могу продолжать вводить имя свойства и продолжайте автозаполнение в течение всего дня, не нажимая Enter. Удивительно. Революционный даже.
Теперь о некоторых разрушительных новостях: он, похоже, не работает в PHP. (Не беспокойтесь, дети - эта мучительная сказка почти готова.)
Если я набираю longOb
, а затем нажимаю -, я получаю следующее:
longOb- // :(
Я уверен, что интерпретатор PHP мне не очень понравится, если я попытаюсь выполнить это.
(Боковое примечание: ., , и ; демонстрируют практически то же поведение, что и против цитированного подсказки дня выше.)
Итак, вот что я хотел бы получить, если бы я воплотил свой фантастический мир в реальность:
$longObjectName->[handy dandy code completion list, primed and ready for action]
Разве это не было бы потрясающим?
Итак, наконец, мы пришли к окончательному вопросу, добавив лишние вещи для тех, кто не удосужился прочитать мою футуристическую, сердитую историю:
Есть ли в PhpStorm единственная комбинация клавиш для "Принять текущее выделенное предложение завершения кода и вставить оператор объекта PHP (->
)"?
Или это просто ошибка?