
Tenkawa ist ein Sprachserver für PHP mit leistungsstarken statischen Analysen und Typinferenz -Engine, ohne von Phpstan zu fragen.
Immer noch experimentell, sollte aber nutzbar sein. Alle Fehlerberichte, Feature -Anfragen, Vorschläge und Fragen sind willkommen.
Erfordert Php> = 7.1 mit PDO_SQLite -Erweiterung.
Für die Visual Studio -Code -Erweiterung finden Sie hier.
Entweder mit composer create-project ( ~ Verzeichnis ist ein Beispiel):
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/Oder durch Klonen des Repo:
$ cd ~
$ git clone https://github.com/tsufeki/tenkawa-php-language-server.git tenkawa/
$ cd tenkawa/
$ composer install --no-dev
$ cd ..Erstellen Sie den Index der Standardbibliothek:
$ php ~ /tenkawa/bin/tenkawa.php --build-indexKonfigurieren Sie nun Ihren Client, um den Server mit diesem Befehl zu starten, um STDIO zu verwenden:
php ~ /tenkawa/bin/tenkawa.phpOder um eine Verbindung zu einer TCP -Socket herzustellen:
php ~ /tenkawa/bin/tenkawa.php --socket=tcp://127.0.0.1:12345Unimplemented (noch?):
--socket=<socket> -Stellen Sie eine Verbindung zu einem Socket an, anstatt über Stdio zu kommunizieren. Erlungenes Format: tcp://127.0.0.1:12345 oder unix:///path/to/socket .--log-stderr -log an stderr.--log-file=<file> -Loggen Sie sich bei der angegebenen Datei an.--log-client -Protokollieren Sie mit window/logMessage -Protokollmethode.--log-level=<level> -Log nur Nachrichten des angegebenen Levels und Up. <level> kann von emergency , alert , critical , error , warning , notice , info , debug gehören. Standardeinstellungen zu info .--build-index -Standard-Bibliotheksindex erstellen, anstatt den Server zu starten.--config-json=<json> -Standardoptionen finden Sie in Konfiguration. Beispiel: --config-json={"completion":{"autoImport":false}} . Sie können Konfigurationsoptionen über den Parameter " initialize Protocol" oder durch die Implementierung workspace/configuration und das Senden workspace/didChangeConfiguration -Benachrichtigungen vom Client über initializationOptions übergeben.
Erkannte Optionen:
{
"tenkawaphp" : {
"diagnostics" : {
"phpstan" : {
// Enable PHPStan diagnostics.
"enabled" : true
}
} ,
"completion" : {
// Enable automatic import (use) of completed classes.
"autoImport" : true ,
// By default, only some PHP extensions are used for autocompletion.
// Additional ones can be enabled here.
"extensions" : [ "mysqli" , "redis" ]
} ,
"index" : {
// Additional stubs directories
"stubs" : [ "/path/to/stubs/dir" ]
}
}
} Copyright (C) 2017 Tsufeki
Dieses Programm ist kostenlose Software: Sie können es neu verteilt und/oder unter den Bestimmungen der GNU General Public Lizenz wie von der Free Software Foundation, entweder Version 3 der Lizenz veröffentlicht, oder (nach Ihrer Option) jede spätere Version ändern.
Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, jedoch ohne Garantie; Ohne die implizite Garantie für Handelsfähigkeit oder Eignung für einen bestimmten Zweck. Weitere Informationen finden Sie in der GNU General Public Lizenz.
Sie hätten zusammen mit diesem Programm eine Kopie der GNU General Public Lizenz erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.