
Tenkawa est un serveur de langue pour PHP, avec une analyse statique puissante et un moteur d'inférence de type emprunté sans demander à PHPSTAN.
Toujours expérimental, mais devrait être utilisable. Tous les rapports de bogues, demandes de fonctionnalités, suggestions, questions sont les bienvenus.
Nécessite PHP> = 7.1 avec l'extension PDO_SQLITE.
Pour l'extension de code Visual Studio, voir ici.
Soit avec composer create-project ( ~ Le répertoire est un exemple):
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/Ou en clonage le repo:
$ cd ~
$ git clone https://github.com/tsufeki/tenkawa-php-language-server.git tenkawa/
$ cd tenkawa/
$ composer install --no-dev
$ cd ..Index de construction de la bibliothèque standard:
$ php ~ /tenkawa/bin/tenkawa.php --build-indexConfigurez maintenant votre client pour démarrer le serveur avec cette commande pour utiliser STDIO:
php ~ /tenkawa/bin/tenkawa.phpOu pour se connecter à une prise TCP:
php ~ /tenkawa/bin/tenkawa.php --socket=tcp://127.0.0.1:12345Sans implémentation (encore?):
--socket=<socket> - Connectez-vous à une prise au lieu de communiquer via STdio. Format autorisé: tcp://127.0.0.1:12345 ou unix:///path/to/socket .--log-stderr - log à stderr.--log-file=<file> - Connectez-vous au fichier donné.--log-client - Log à l'aide de la méthode du protocole window/logMessage .--log-level=<level> - Log uniquement les messages du niveau donné et plus. <level> peut être l' emergency , alert , critical , error , warning , notice , info , debug . Par défaut info .--build-index - Créer un index de bibliothèque standard au lieu de démarrer le serveur.--config-json=<json> - Options par défaut, voir la configuration. Exemple: --config-json={"completion":{"autoImport":false}} . Vous pouvez transmettre des options de configuration au serveur via le paramètre initializationOptions de initialize de la méthode du protocole ou en implémentant la demande workspace/configuration et d'envoi de notifications workspace/didChangeConfiguration du client.
Options reconnues:
{
"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
Ce programme est un logiciel gratuit: vous pouvez le redistribuer et / ou le modifier en vertu des termes de la licence publique générale GNU publiée par la Free Software Foundation, soit la version 3 de la licence, ou (à votre option) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais sans aucune garantie; Sans même la garantie implicite de qualité marchande ou d'adéquation à un usage particulier. Voir la licence publique générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce programme. Sinon, voir http://www.gnu.org/licenses/.