由于包含大量可用包,我最近刚刚使用Sublime Text 2换出Espresso。我主要使用该软件进行网页开发,并安装了不少软件包。
所有自动完成,AndyPHP,PHP完成KIT和SublimeCodeIntel完成。
安装所有这些,而不仅仅是SublimeCodeIntel的原因是因为SublimeCodeIntel没有像我预期的那样工作。
这些(一起或不一起)都不会完成项目文件中定义的类,函数或变量名称。
只是举例说明问题。
如果我在我的一个文件中定义一个简单的函数,
function sayOutLoud($x) { echo $x; }
当我开始输入sayOu时...我希望Sublime建议函数名称,如果我选择sayOutLoud,我想知道该函数需要什么参数(当然我知道,但你理解)。这些软件包中的任何一个都不应该这样做吗?
更新:重新启动后,奇怪的是一些完成工作开始了。但它没有给我参数列表。
如果我禁用SublimeCodeIntel(我被告知最好的包之一),没有任何改变,换句话说,它在活动时不会添加任何内容。
答案 0 :(得分:2)
如果您经常使用此功能,我建议您通过创建自己的代码段来实现此目的,这里有一个您可以使用的简单代码段(您不需要任何sublime插件) 1)转到工具>新摘要您将获得的页面的默认内容 像这样:
<snippet>
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
2)在第三行写下你的函数定义(删除Hello,$ {1:this}是$ {2:snippet}。)
在我们的例子中,函数定义将是这样的:
function sayOutLoud(${1:\$x}) { ${2:echo} ${3:\$x};${4:} }
3)取消注释第六行,这样当你输入sayOutLoud(用以下内容替换第六行)并按标签时它会起作用:
<tabTrigger>sayOutLoud</tabTrigger>
4)以名称 sayOutLoud.sublime-snippet
保存文件现在如果您打开任何php文件并输入sayOutLoud,您将看到自动完成 如果你按标签,你会看到添加到你文件的功能,那就是IT。