我在Vim中打开了完成功能:
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=
下面是我问题的文件结构:
test1.php
<?php
class Test1 {
public function testMethod () {
echo 'test1';
}
}
test2.php
<?php
include('test1.php');
$test1 = new Test1();
include('test3.php');
test3.php
<?php
$test1-> //this is where I'd like the autocomplete to
我正在使用复杂的对象层次结构处理现有的php项目。Netbeans在这方面帮了大忙,因为它的自动补全功能(它并不完美,但在许多情况下已经足够准确了)。几乎不可能记住所有这些属性、关系等。
但是,netbeans是用java编写的,它很慢,臃肿等等。最近,我一直在玩vim,并在考虑抛弃netbeans。我目前正在使用这个脚本:
我遗漏的一件事是多级对象的自动补全,例如:
a.php
<?php
class A {
/**
* @var B
**/
public $b;
}
b.php
<?php
class B {
/**
* @var C
**/
我有一个函数,它可以给我一个特定年份的所有日历周。我创建了一个包含所有日历周的下拉菜单。我的函数看起来像这样:
function listYearWeeks($year) {
$weeks=array();
$run_stamp=strtotime($year."-01-01");
for ($x=0;$x<366;$x++) {
if (date("w",$run_stamp)==0) { // Montag
if ($weeks[date(
我有下一个php代码
<?php
class A {
public function foo() {
}
}
/**
* @var A $a
*/
$a->
我想让我的ide自动补全$a->正确,并告诉我在$a中只有一个可用的方法foo。没有任何像$a = new A();$a这样的字符串在另一个地方实例化并由自动加载器处理。