
Tenkawa é um servidor de idiomas para PHP, com poderosa análise estática e mecanismo de inferência de tipo emprestado sem pedir o Phpstan.
Ainda experimental, mas deve ser utilizável. Quaisquer relatórios de bug, solicitações de recursos, sugestões e perguntas são bem -vindos.
Requer php> = 7.1 com a extensão PDO_SQLITE.
Para a Extensão do Código do Visual Studio, veja aqui.
Com composer create-project ( ~ diretório é um exemplo):
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/Ou clonando o repo:
$ cd ~
$ git clone https://github.com/tsufeki/tenkawa-php-language-server.git tenkawa/
$ cd tenkawa/
$ composer install --no-dev
$ cd ..Índice de construção da biblioteca padrão:
$ php ~ /tenkawa/bin/tenkawa.php --build-indexAgora configure seu cliente para iniciar o servidor com este comando para usar o stdio:
php ~ /tenkawa/bin/tenkawa.phpOu para conectar -se a um soquete TCP:
php ~ /tenkawa/bin/tenkawa.php --socket=tcp://127.0.0.1:12345Não implementado (ainda?):
--socket=<socket> -Conecte -se a um soquete em vez de se comunicar através do stdio. Formato permitido: tcp://127.0.0.1:12345 ou unix:///path/to/socket .--log-stderr -Log to stderr.--log-file=<file> -Faça logon no arquivo especificado.--log-client -Log usando o método de protocolo de window/logMessage .--log-level=<level> -Log apenas as mensagens do nível fornecido e acima. <level> pode ser de emergency , alert , critical , error , warning , notice , info , debug . Padrões para info .--build-index -Construa o índice da biblioteca padrão em vez de iniciar o servidor.--config-json=<json> -Opções padrão, consulte Configuração. Exemplo: --config-json={"completion":{"autoImport":false}} . Você pode passar as opções de configuração para o servidor através do parâmetro initializationOptions do Método initialize o Método do Protocolo ou implementar a solicitação workspace/configuration e enviando notificações de workspace/didChangeConfiguration do Cliente.
Opções reconhecidas:
{
"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 é um software livre: você pode redistribuí -lo e/ou modificá -lo nos termos da licença pública geral da GNU, conforme publicado pela Free Software Foundation, versão 3 da licença ou (por sua opção) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas sem garantia; sem a garantia implícita de comercialização ou aptidão para uma finalidade específica. Veja a licença pública geral da GNU para obter mais detalhes.
Você deveria ter recebido uma cópia da licença pública geral da GNU junto com este programa. Caso contrário, consulte http://www.gnu.org/license/.