Falsche Autokomplettierung in SublimeText3 beim Drücken der Tabulatortaste im PHP-Array

Ich benutze SublimeText3.

Wenn ich in array in PHP arbeite, ärgert mich die Autokomplettierung, die ich durch Drücken von Tab vorgeschlagen habe.

Ich möchte nur einige Tabellen hinzufügen, aber jedes Mal, wenn ich Tab drücke, biete sublimetext mir folgendes an:

array()
Create a PHP Array.

If a just press Tab again, he valid the proposition and write in the file .

Ich habe diese Plugins installiert:

{
    "installed_packages":
    [
        "Alignment",
        "ApacheConf.tmLanguage",
        "BracketHighlighter",
        "Comment-Snippets",
        "Comments Aware Enter",
        "eZ Publish Syntax",
        "HTML5",
        "jQuery",
        "LESS",
        "SublimeCodeIntel",
        "sublimelint",
        "Symfony2 Snippets",
        "Theme - Soda",
        "Twig"
    ]
}

Wenn jemand weiß, wie man diesen schlechten Vorschlag deaktiviert oder korrigiert?

Vielen Dank.

0
Ich bin auch sehr davon gestört. Ich habe keinen besseren Vorschlag außer vielleicht, anstatt zu versuchen, dies loszuwerden (da das fast unmöglich erscheint), sondern diese Funktionalität mit etwas anderem oder nützlicherem zu überschreiben? Ich habe keine Ahnung, wie oder was das kann, aber ich betrachte es nur aus einem anderen Blickwinkel, wenn es hilft, das -Ding aufzuhalten. Oder vielleicht könnte jemand erklären, was tun soll und vielleicht benutze ich es einfach falsch.
hinzugefügt der Autor solepixel, Quelle
Ich habe Probleme mit Paketen und Autocomplete zuvor gehabt. Ähnlich, aber nicht gleich. Ich glaube nicht, dass ich eines der Pakete habe, die du hast, aber ich habe ein oder zwei entfernt, bis es weg ist. Da du weißt, welche du hast, kannst du einfach versuchen, ein oder zwei zu entfernen, um zu sehen, ob das Problem bestehen bleibt, und wiederholen, bis es verschwindet. Außerdem würden Sie wahrscheinlich bessere Ergebnisse von den erhabenen Foren erhalten, da sie sich nur auf diese Software konzentrieren nicht alle Pr
hinzugefügt der Autor Jonathan Kuhn, Quelle
Ich habe keine Antwort für Sie, aber dies wird durch SublimeCodeIntel verursacht. Wie Sie bemerkt haben, ist es unglaublich frustrierend.
hinzugefügt der Autor John Blackbourn, Quelle
So glücklich, das zu finden und zu beantworten. Ich habe einen Tag voller Arrays und entwickle schnell Array-/Tab-bezogene Wut. Gelassenheit!
hinzugefügt der Autor Tim Ogilvy, Quelle

2 Antworten

Just started using Sublime Text 3 and this issue has been bugging me for a couple weeks. Even with "auto_complete_commit_on_tab": false and "tab_completion": false, it persisted. I ended up looking in the Sublime Forums and finding this thread, which suggests you add this code to your Key Bindings:

{ "keys": ["tab"], "command": "insert", "args": {"characters": "\t"}, "context":
    [
        { "key": "auto_complete_visible" },
        { "key": "setting.tab_completion", "operator": "equal", "operand": false }
    ]
}

Im Wesentlichen wird der Tab-Schlüssel neu zugewiesen, um einen Tabulator zu erzwingen, anstatt zuzulassen, dass die automatische Vervollständigung des Snippets funktioniert.

0
hinzugefügt
Diese Lösung ist hilfreich, aber es wird alle meine Auto-Vervollständigung deaktivieren, und ich möchte nur diese spezifische Autovervollständigung deaktivieren, nicht alle.
hinzugefügt der Autor kaal, Quelle
Danke danke danke! Das hat mich verrückt gemacht. Es sollte angemerkt werden, dass "tab_completion": false immer noch gesetzt werden muss, damit dies funktioniert.
hinzugefügt der Autor Lukas, Quelle

Update 01-29-14

Bei Github hat jemand eine bessere Lösung gefunden als die, die ich vorher gepostet habe. Neue Lösung .

Öffnen Sie den Ordner "your_packages_folder/SublimeCodeIntel/codeintel2/tree_php.py" und fügen Sie dem Tooltip-Ignore-Array um Zeile 140 ein Array hinzu.

php_ignored_calltip_expressions = ("if", "elseif",
                                   "for", "foreach",
                                   "while",
                                   "switch",
                                   "array"
                                   )

Alte Lösung

Ich habe eine temporäre Lösung auf github gefunden .

Comment out or delete line 100 & 101 in SublimeCodeIntel/codeintel2/tree_php.py

"array": "array()\n"
"Create a PHP array.",

Dann löschen Sie den Ordner ~/.codeintel in Ihrem Benutzerverzeichnis unter OS X, nicht sicher, wo dieser Cache auf Windows lebt.

0
hinzugefügt
Aufenthaltsort ist SublimeCodeIntel/codeintel2/tree_php.py? Kann es nirgends finden
hinzugefügt der Autor Nicola, Quelle
Vielen Dank ! funktioniert gut für mich
hinzugefügt der Autor kaal, Quelle
Wenn Sie OSX verwenden, können Sie ~/Bibliothek/Anwendungsunterstützung/Sublime Text 3/Pakete/SublimeCodeIntel/libs/codeintel2/tree_php.py versuchen
hinzugefügt der Autor Jason McClellan, Quelle
Auf Win7 habe ich die Datei in SublimeCodeIntel/libs/codeintel2/gefunden. Ich löschte die Zeilen und entfernte .codeintel, aber es hat es nicht behoben.
hinzugefügt der Autor Mihai Scurtu, Quelle
@Aaronbauman Ich hatte dies über die Paketsteuerung installiert, die obige Änderung funktioniert, es erfordert nur überschreiben Änderungen, wenn ein Update durchkommt. Es ist ein Schmerz, aber es löst das Problem, was meiner Meinung nach die Arbeit wert ist.
hinzugefügt der Autor Matthew Nie, Quelle
Ich weine auf meinen Knien.
hinzugefügt der Autor sepehr, Quelle
In Sublime Text 3 werden Pakete als Binärdateien (über die Paketsteuerung) installiert, sodass diese Lösung nicht funktioniert.
hinzugefügt der Autor aaronbauman, Quelle
@MatthewNie danke - ich fand schließlich heraus, wie man die Paketquelle manuell herunterlädt und diese Änderung implementiert. Bitte gehen Sie mit den Betreuern, um diese Pull-Anfrage zusammenzuführen! github.com/SublimeCodeIntel/SublimeCodeIntel/pull/390
hinzugefügt der Autor aaronbauman, Quelle
PHP - Deutsche Gemeinschaft
PHP - Deutsche Gemeinschaft
5 der Teilnehmer

In dieser Gruppe sprechen wir über PHP. Partner: de.switch-case.com