小编pet*_*mag的帖子

在PhpStorm代码完成时是否有插入PHP对象操作符的快捷方式?

假设我想在PhpStorm中键入以下内容:

$longObjectName->propertyName = 'some value';
Run Code Online (Sandbox Code Playgroud)

似乎无辜,不是吗?如果我开始输入longOb,代码完成就会启动并提供$longObjectName一个建议,因为它存在于我的项目的其他地方.我对自己说,"啊完美,这正是我想要的",所以我点击EnterTab接受了这个建议.在这一点上,我感到非常高兴.

但现在我想插入->,PHP的笨拙但熟悉的对象操作符.如果我手动输入,那就是三次全键击(包括Shift),这让我觉得有点难过.一种遥远的,唠叨的怀疑开始进入我的脑海." 三次击键?这是什么样的邪恶IDE?在JetBrains这些无情的独裁者是谁?"

当我在PhpStorm的每日提示对话框中看到以下内容时,情绪过山车仍在继续,给我黑暗的,Monokai计划的世界带来了一个微不足道但却坚持不懈的希望:

使用代码完成时,您可以在弹出列表中接受当前突出显示的选项,其中包含句点字符(.),逗号(,),分号(;),空格和其他字符.

所选名称将自动输入编辑器,后跟输入的字符.

在JavaScript中,这意味着我可以输入longOb并命中.两个接受第一个代码完成建议并插入JS对象操作符,从而产生longObjectName.,此时我可以继续键入属性名称并一直进行自动完成而不会命中Enter.惊人.革命甚至.

现在有一些毁灭性的消息:它似乎不适用于PHP.(烦恼不是孩子 - 这个悲惨的故事几乎就要结束了.)

如果我输入longOb然后点击-,我得到这个:

longOb-      // :(
Run Code Online (Sandbox Code Playgroud)

我很确定如果我尝试执行它,那么PHP解释器就不会非常喜欢我.

(旁注:.,,并且;表现出几乎相同的行为,与上面引用的提示相反.)

所以,如果我想让我的幻想世界变为现实,我会得到的是:

$longObjectName->[handy dandy code completion list, primed and ready for action]
Run Code Online (Sandbox Code Playgroud)

这不是很棒吗?

最后,我们得出了一个终极问题,为那些没有费心阅读我充满动感,令人心碎的故事的人添加了一些冗余的东西:

在PhpStorm中是否有一个键盘快捷键用于"接受当前突出显示的代码完成建议并插入PHP对象操作符(->)"?

或者这只是一个错误?

php intellij-idea phpstorm

15
推荐指数
1
解决办法
1910
查看次数

标签 统计

intellij-idea ×1

php ×1

phpstorm ×1