Ich versuche, omni completion für PHP in vim 7.3 mit ctags 5.9 ~ svn20110310 auf Ubuntu 12.04.1 (LTS) einzurichten, aber ich stoße auf ein seltsames Problem, bei dem die Vervollständigung radikal andere Vorhersagen liefert Instanzen der gleichen Klasse.Omnicompletion hört auf, nützliche Vorhersagen zu geben
habe ich die folgenden zwei Dateien:
// Foo.php
class Foo {
public function do_stuff() {
echo 'Working...';
}
}
// index.php
require 'Foo.php';
$f = new Foo();
$f->[cursor position 1]
$g = new Foo();
$g->[cursor position 2]
Wenn sich der Cursor in der Position 1 und I drücken CTRL + XCTRL + O es die Zeile mit do_stuff(
wie wir comples würde erwarten. Aber wenn ich drücke CTRL +XCTRL +O in der zweiten Position erhalte ich eine Liste von Vorhersagen, die mit key, next, rewind
beginnt. Was mache ich falsch?
Wenn Sie STRG + X STRG + O in der zweiten Position drücken, ist der gesamte Code (einschließlich der '$ f -> [Cursorposition]') gültigen Code? –
Ja, absolut. '$ f -> [Cursorposition 1]' verwandelt sich in '$ f-> do_stuff();' –
Wird 'Foo' implementiert' Iterator'-Schnittstelle? – philix