
TenkawaはPHPの言語サーバーであり、PHPSTANから尋ねることなく借りた強力な静的分析とタイプの推論エンジンを備えています。
まだ実験的ですが、使用可能である必要があります。バグレポート、機能リクエスト、提案、質問は大歓迎です。
pdo_sqlite拡張機能を備えたphp> = 7.1が必要です。
ビジュアルスタジオコード拡張機能については、こちらをご覧ください。
composer create-project ( ~は例です):
$ 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の1つです。デフォルトはinfoになります。--build-indexサーバーを起動する代わりに標準ライブラリインデックスを構築します。--config-json=<json> - デフォルトオプション、構成を参照してください。例: --config-json={"completion":{"autoImport":false}} 。 Configurationオプションは、初期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
このプログラムはフリーソフトウェアです。フリーソフトウェアファンデーションの条件、ライセンスのバージョン3、または(オプションで)後のバージョンのいずれかで公開されているように、GNU一般公開ライセンスの条件の下でそれを再配布したり、変更したりできます。
このプログラムは、それが有用であることを期待して配布されますが、保証はありません。商品性や特定の目的に対するフィットネスの暗黙の保証さえありません。詳細については、GNU一般公開ライセンスを参照してください。
このプログラムとともに、GNU一般公開ライセンスのコピーを受け取る必要があります。そうでない場合は、http://www.gnu.org/licenses/を参照してください。