
Tenkawa es un servidor de idiomas para PHP, con un potente análisis estático y un motor de inferencia de tipo prestado sin preguntar desde PHPSTAN.
Todavía experimental, pero debería ser utilizable. Cualquier informe de errores, solicitudes de funciones, sugerencias, preguntas es bienvenida.
Requiere php> = 7.1 con la extensión PDO_SQLITE.
Para la extensión del código de Visual Studio, vea aquí.
Ya sea con composer create-project ( ~ el directorio es un ejemplo):
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/O clonando el repositorio:
$ cd ~
$ git clone https://github.com/tsufeki/tenkawa-php-language-server.git tenkawa/
$ cd tenkawa/
$ composer install --no-dev
$ cd ..Índice de compilación de la biblioteca estándar:
$ php ~ /tenkawa/bin/tenkawa.php --build-indexAhora configure su cliente para iniciar el servidor con este comando para usar stdio:
php ~ /tenkawa/bin/tenkawa.phpO para conectarse a un socket TCP:
php ~ /tenkawa/bin/tenkawa.php --socket=tcp://127.0.0.1:12345No implementado (¿aún?):
--socket=<socket> -Conéctese a un socket en lugar de comunicarse a través de Stdio. Formato permitido: tcp://127.0.0.1:12345 o unix:///path/to/socket .--log-stderr -registrar a stderr.--log-file=<file> -registre en el archivo dado.--log-client -registrar usando el método de protocolo window/logMessage .--log-level=<level> -Registre solo mensajes del nivel dado y arriba. <level> puede ser de emergency , alert , critical , error , warning , notice , info , debug . Ponal predeterminado a info .--build-index -Construya el índice de biblioteca estándar en lugar de iniciar el servidor.--config-json=<json> -Opciones predeterminadas, consulte la configuración. Ejemplo: --config-json={"completion":{"autoImport":false}} . Puede pasar las opciones de configuración al servidor a través del parámetro de initializationOptions del método de protocolo initialize o mediante la implementación workspace/configuration y enviando notificaciones workspace/didChangeConfiguration desde el cliente.
Opciones reconocidas:
{
"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
Este programa es un software gratuito: puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por Free Software Foundation, ya sea la versión 3 de la licencia o (a su opción) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero sin ninguna garantía; Sin siquiera la garantía implícita de comerciabilidad o estado físico para un propósito particular. Vea la Licencia Pública General de GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU junto con este programa. Si no, consulte http://www.gnu.org/licenses/.