我正在使用複雜對象層次結構的現有php項目。 Netbeans在這裏是一個很大的幫助,因爲它的自動完成功能(這不完美,但在很多情況下足夠準確)。這幾乎是不可能的,要記住所有這些屬性,關係等。VIM php omnicomplete - 多級對象層次結構
但是,netbeans是用java編寫的,它很慢,臃腫等等。 最近,我一直在玩vim,並在考慮拋開netbeans。 我目前使用這個腳本:http://www.vim.org/scripts/script.php?script_id=3171
有一件事我缺少的是對對象的多層次,例如自動完成:
a.php只會
<?php
class A {
/**
* @var B
**/
public $b;
}
b.php
<?php
class B {
/**
* @var C
**/
public $c;
}
c.php
<?php
class C {
/**
* @var D
**/
public $d;
}
test.php的
$a = new A();
$a-> //omni complete here works fine, it lists "b"
$a->b-> //displays 'b' again, instead of 'c'
所以,它僅適用於第一級..是有可能以某種方式獲得VIM這個功能?
如果不是,您如何在這些項目中找到自己的方式?
這不會在PHP中工作 - 你不能直接在類屬性中實例化對象。我使用了phpdoc類型的提示,因爲它適用於大多數php IDE,我不確定ctags是否可以配置爲正確解析。 – Nevermind 2012-04-09 20:57:19
是的。我的代碼根本不正確。非常糟糕。但實際上這是有意的:因爲Vim不理解你的代碼,ctags'不支持PHPdoc暗示我不知道如何在Vim中使用PHPdoc暗示完成。得到你想要的東西的唯一方法似乎是編寫可怕的非法代碼。 – romainl 2012-04-09 21:50:56