Обычно, если вы знаете, ваши живые шаблоны аббревиатуры хорошо , вам не нужно нажимать Ctrl + J (Code | Insert Live Template...
) - вы просто написали аббревиатуру и нажмите клавишу расширения (обычно это Tab). Например, у меня есть t[TAB]
, который должен быть расширен до $this->
и rt[TAB]
в return $this;
.
Точка, которую я пытаюсь сделать здесь .. заключается в том, что набирать Live Templates таким образом намного проще, если не беспокоить малыми/прописными буквами и печатать все мелкие.
Если вы проверили все стандартные шаблоны по умолчанию (за исключением объемных), вы заметите, что все они используют небольшие буквы в аббревиатурах и не имеют капитала.
Назад к данному случаю: с Live Templates, когда вы набрав route
, то его лучше матчи первые два (Helper::link_to_route
и Helper::route
), чем фактические Route::xxx
них. Следовательно, ввод route:
(добавление символа без буквы) вызовет первый (наиболее подходящий) шаблон в списке.
Ваших вариантов:
Использование капитализации - тип Route:
(обратите внимание на капитал R
) - это будет соответствовать Route::xxx
лучше, чем другие два, где route
присутствует
Изменить фактические сокращения для те шаблоны Live - заставляют их использовать только небольшие буквы (например, это будет route::get
). Таким образом, вам не нужно беспокоиться о случаях письма.
Редактирование аббревиатур для этих живых шаблонов, чтобы быть чем-то короче, использует только маленькие буквы и быть уникальным. Например: переименовать Route::get
в rget
. Если вы используете такой шаблон, чаще всего вы можете извлечь из этого много преимуществ.
Работает отлично для меня в PhpStorm 2016.1.1 (я нахожусь в Windows 7, если это имеет значение). Протестировано с моими собственными шаблонами - назвали их «Route :: abc», «Route :: get» и «Route :: note» - нажав Ctrl + J, а затем набрав «route :: g' preselects» Route :: get' просто отлично.Ваше поведение может быть связано с вашими настройками - пожалуйста, покажите снимок экрана своих настроек/настроек | Редактор | Общий | Code Completion' – LazyOne
Я думал, что если вы измените опцию «Case sensitive completion» от «First letter» до «None», она будет лучше ... но ей это не понравится. Я полагаю (и мои дополнительные эксперименты, похоже, доказывают это), что проблема в том, что 1) у вас есть такие вещи, как «Helper :: link_to_route' (ваши первые 2 совпадения в списке) и 2) вы вводите' route: '(small' r' - который соответствует вашим первым двум записям, но не тем, которые начинаются с «Маршрут ::». – LazyOne
Попробуйте ввести «Маршрут:» - должен выполнить задание (теперь для меня добавлен дополнительный пользовательский шаблон «Помощник :: маршрут» чтобы лучше имитировать вашу ситуацию) .Если вы не хотите вводить 'Route:', тогда рассмотрите редактирование шаблонов (измените их аббревиатуры) и используйте 'route ::' там (аббревиатуры). Использование всех строчных букв для аббревиатур, безусловно, лучше идея (все стандартные шаблоны по умолчанию, похоже, используют их без заглавных букв) – LazyOne