
Tenkawa - это языковой сервер для PHP, с мощным статическим анализом и типовым выводом, заимствованным не спрашивая у PHPSTAN.
Все еще экспериментальный, но должен быть пригодным для использования. Любые отчеты об ошибках, запросы на функции, предложения, вопросы приветствуются.
Требуется PHP> = 7.1 с расширением PDO_SQLite.
Для расширения кода Visual Studio см. Здесь.
Либо с composer create-project ( ~ Directory является примером):
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/Или клонируя репо:
$ cd ~
$ git clone https://github.com/tsufeki/tenkawa-php-language-server.git tenkawa/
$ cd tenkawa/
$ composer install --no-dev
$ cd ..Индекс построения стандартной библиотеки:
$ php ~ /tenkawa/bin/tenkawa.php --build-indexТеперь настройте свой клиент, чтобы запустить сервер с этой командой, чтобы использовать Stdio:
php ~ /tenkawa/bin/tenkawa.phpИли для подключения к розетку TCP:
php ~ /tenkawa/bin/tenkawa.php --socket=tcp://127.0.0.1:12345Невыполнение (еще?):
--socket=<socket> -подключиться к сокету вместо передачи через stdio. Допустимый формат: tcp://127.0.0.1:12345 или unix:///path/to/socket .--log-stderr -журнал в Stderr.--log-file=<file> -Войдите в заданный файл.--log-client -журнал с использованием метода протокола window/logMessage .--log-level=<level> -регистрировать только сообщения данного уровня и выше. <level> может быть одним из emergency , alert , critical , error , warning , notice , info , debug . По умолчанию info .--build-index -Создайте стандартный библиотечный индекс вместо запуска сервера.--config-json=<json> -Параметры по умолчанию, см. Конфигурацию. Пример: --config-json={"completion":{"autoImport":false}} . Вы можете передавать параметры конфигурации на сервер с помощью параметра initializationOptions метода initialize протокола или реализации запроса workspace/configuration и отправки уведомлений workspace/didChangeConfiguration от клиента.
Признанные варианты:
{
"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
Эта программа является бесплатным программным обеспечением: вы можете перераспределить его и/или изменить ее в соответствии с условиями общей публичной лицензии GNU, опубликованных Фондом Free Software, либо версией 3 лицензии, либо (по варианту) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезна, но без каких -либо гарантий; даже без подразумеваемой гарантии торговой точки зрения или пригодности для определенной цели. Смотрите общую публичную лицензию GNU для получения более подробной информации.
Вы должны были получить копию общей публичной лицензии GNU вместе с этой программой. Если нет, см. Http://www.gnu.org/licenses/.