我知道 Sublime Text 不是 IDE,但这就是我喜欢它的地方。尽管如此,不时拥有某些 IDE 式的功能还是很不错的。
主要用于 Laravel,我希望 Sublime 能够找到未以标准 PHP 方式定义的符号定义,例如。
public function truncate()
我定义了一个名为 的 Str 宏truncate
,但是 Sublime(以及我尝试过的各种包)显然没有将其识别为符号。
如果在宏定义之上写一个 doc 块,Sublime Text 会在goto_definition
调用它时将其识别为符号,这将是惊人的。也许是这样的:
/**
* @method Str::truncate()
* ...or...
* @function truncate()
*/
Str::macro('truncate', fn() => '...');
相同的概念可以应用于使用__call()
. 我已经看到其他开发人员在类的文档块中列出了魔法或继承的属性,可能是为了他们选择的编辑器/IDE,但它可能只是考虑到人类可读性的体贴编码人员。
我假设 PHP Storm 和类似的东西足够聪明或针对这些 Laravel 概念量身定制来实现这一点,但我不确定如何为这个用例配置或扩展 Sublime。我在 Sublime 中看到了一些关于自定义符号识别的参考,但我记得它非常复杂,没有太多文档或示例。
我确信有多种方法可以实现这一点,但我还没有看到任何有希望的东西。有任何想法吗?