Symfony/PHP 相关 UltiSnips Snippets 补全计划

Symfony/PHP 相关 UltiSnips Snippets 补全计划

Chris Yue No Comment
Posts

如果你还不知道什么是 UltiSnips 是什么,请看这里

2017-07-04 更新:最近整理了一下 snippets,将一些常用 snippet 的触发符变短了,可能与截图的显示有所不同:

  • entity 改成 e
  • form 改成 f
  • newact 改成 na
  • editact 改成 ea
  • delact 改成 da
  • act 改成 a
  • menu 改成 m

除此之外,

当然,最重要的变化是,从 `composer.json` 文件读取 “psr-4” 的 namespace 根目录以支持 PSR4 项目的命名空间的正确生成。

曾经https://github.com/honza/vim-snippets 发布过 PHP 的 snippets。后来好像有一次重大的升级,把我之前辛辛苦苦贡献的 snippets 给弄没了!!这 repo 管理员也忒不靠谱,全面调整项目也不跟相关人员打个招呼,当时就催生了自己弄一个 snippets 仓库的想法。后来在使用中也发现,自己的个性化需求也越来越多,直接用 github 那些写好的 snippet 根本就满足不了我的兽欲(都是些极其简单的代码片段一点都不酷),所以这事儿是不得不弄了,趁着几天写 Symfony2 教程呢,顺便总结了一些常用的 Symfony 的 snippets。

我录了一些gif动画给大家看看,有个直观印象。 2020-08-07 补充:由于 chrome 升级之后,HTTPS 站点默认不显示 HTTP 图片,所以下面动图都粗暴的改成了链接。

ns 生成当前文件 namespace

http://img.chrisyue.com/ns.gif

nc 连击,也就是 namespace + class

nc 连击可以猜测你是要创建一个 class 还是 abstract class

http://img.chrisyue.com/nc-abstract.gif

当然也可以判断是 interface 还是 trait。以上判断需要你的文件命名满足 PSR-0PSR-1 以及 Symfony 类命名标准。

http://img.chrisyue.com/nc-interface.gif

你要觉得还不够省事儿,咱们可以再来多点:

c 是的,MVC 里的C,以及 action

http://img.chrisyue.com/controller-action.gif

或许你想添加一个 newAction?

http://img.chrisyue.com/new-action.gif

entity 以及 setter 和 getter,注意根据属性的类型,setter 可自动判断是否需要 Type Hint:

http://img.chrisyue.com/entity-setter-getter.gif

当然这些只是冰山一角,snippets 也不只包含 PHP 和 Symfony 的而已,我只是懒得录动画了。Snippet 最大的好处我觉得都不是省打字量,而是帮助记忆,节省精力。比如 CSS 里实现文字超出显示范围使用省略号显示的规则怎么写,有谁能想都不想就写出来?呵呵呵呵~有了它,打三个点加 tab 答案就出来了。

大家可以去这里围观

Symfony/PHP 相关 UltiSnips Snippets 补全计划 by Chris Yue is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

微信赞赏码

写作累,服务器还越来越贵
求分担,祝愿好人一生平安
天使打赏人

发表评论

29 − = 25