PhpStorm中的活动模板

PhpStorm中的活动模板,phpstorm,code-snippets,Phpstorm,Code Snippets,我用。当我想插入代码段时,例如Route::get,我按ctrl+j,键入Route,弹出窗口显示: 如何在不使用箭头键的情况下导航到Route::get?当我键入冒号(route:)时,它接受第一个代码段: 编辑 我的完成配置 通常,如果您熟悉live templates缩写,则无需按Ctrl+J(code |插入live Template…)——只需键入缩写并按展开键(通常是选项卡)。例如,我将t[TAB]扩展为$this->并将rt[TAB]扩展为返回$this 我想说的是。。当不必麻

我用。当我想插入代码段时,例如
Route::get
,我按
ctrl+j
,键入
Route
,弹出窗口显示:

如何在不使用箭头键的情况下导航到
Route::get
?当我键入冒号(
route:
)时,它接受第一个代码段:

编辑 我的完成配置


通常,如果您熟悉live templates缩写,则无需按Ctrl+J(
code |插入live Template…
)——只需键入缩写并按展开键(通常是选项卡)。例如,我将
t[TAB]
扩展为
$this->
并将
rt[TAB]
扩展为
返回$this

我想说的是。。当不必麻烦使用小写/大写字母和所有小写字母时,以这种方式键入实时模板要容易得多

如果您选中所有默认live模板(不包括环绕模板),您会注意到它们都使用缩写中的小写字母,并且没有大写字母


回到您的案例:对于Live模板,当您键入
route
时,它比实际的
route::xxx
模板更好地匹配前两个(
Helper::link_to_route
Helper::route
)。因此,键入
路由:
(添加非字母字符)将触发列表中第一个(最匹配的)模板

您的选择:

  • 使用适当的大写字母——键入
    Route:
    (注意大写字母
    R
    )——它将比存在
    Route
    的其他两个更好地匹配
    Route::xxx

  • 编辑这些活动模板的实际缩写——只使用小写字母(例如,它将变成
    route::get
    )。这样你就不必担心书信箱了

  • 编辑那些活动模板的缩写,使其更短,仅使用小写字母,并且保持唯一性。例如:将
    Route::get
    重命名为
    rget
    。如果您经常使用这样的模板,那么您可以从中受益匪浅


  • 在PhpStorm 2016.1.1中对我来说效果很好(我使用的是Windows 7,如果这有什么不同的话)。不过,使用我自己的模板进行了测试——将它们命名为
    Route::abc
    Route::get
    Route::note
    ——按
    Ctrl+J
    ,然后键入
    Route::g
    预选
    Route::get
    。您的行为可能与您的设置有关——请显示您的
    设置/首选项|编辑器|常规|代码完成的屏幕截图
    我认为如果您将“区分大小写完成”选项从“第一个字母”更改为“无”,效果会更好。。但它不喜欢这样。我相信(我的附加实验似乎证明了这一点)问题在于1)你有像
    Helper::link_to_route
    (你在列表中的前两个匹配项)这样的东西,2)你键入
    route:
    (small
    r
    ——它匹配你的前两个条目,但不匹配那些以“route:”开头的条目尝试键入<代码>路由: -应该做这项工作(对我来说,在添加附加自定义模板<代码>助手::路由< /代码>以更好地模拟您的情况)。如果您不想键入代码>路由:,请考虑编辑模板(更改缩写),并使用<代码>路由::(缩写)。使用所有小写字母作为缩写绝对是更好的主意(所有默认的live模板似乎都不使用大写字母)。你是wright!我键入了
    Route:
    ,效果很好!谢谢!