
Tenkawa adalah server bahasa untuk PHP, dengan analisis statis yang kuat dan mesin inferensi tipe yang dipinjam tanpa meminta dari PHPStan.
Masih eksperimental, tetapi harus dapat digunakan. Laporan bug apa pun, permintaan fitur, saran, pertanyaan dipersilakan.
Membutuhkan PHP> = 7.1 dengan ekstensi PDO_SQLITE.
Untuk ekstensi kode Visual Studio, lihat di sini.
Baik dengan composer create-project ( ~ direktori adalah contoh):
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/Atau dengan mengkloning repo:
$ cd ~
$ git clone https://github.com/tsufeki/tenkawa-php-language-server.git tenkawa/
$ cd tenkawa/
$ composer install --no-dev
$ cd ..Bangun indeks perpustakaan standar:
$ php ~ /tenkawa/bin/tenkawa.php --build-indexSekarang konfigurasikan klien Anda untuk memulai server dengan perintah ini untuk menggunakan stdio:
php ~ /tenkawa/bin/tenkawa.phpAtau untuk terhubung ke soket TCP:
php ~ /tenkawa/bin/tenkawa.php --socket=tcp://127.0.0.1:12345Tidak diimplementasikan (belum?):
--socket=<socket> -Sambungkan ke soket alih -alih berkomunikasi melalui stdio. Format yang Diizinkan: tcp://127.0.0.1:12345 atau unix:///path/to/socket .--log-stderr -Log ke Stderr.--log-file=<file> -log ke file yang diberikan.--log-client -Log Menggunakan Metode Protokol window/logMessage .--log-level=<level> -Log saja pesan dari level dan atas yang diberikan. <level> dapat menjadi salah satu dari emergency , alert , critical , error , warning , notice , info , debug . Default ke info .--build-index -Bangun indeks pustaka standar alih-alih memulai server.--config-json=<json> -Opsi default, lihat Konfigurasi. Contoh: --config-json={"completion":{"autoImport":false}} . Anda dapat meneruskan opsi konfigurasi ke server melalui parameter initializationOptions yang initialize metode protokol atau dengan mengimplementasikan permintaan workspace/configuration dan mengirim pemberitahuan workspace/didChangeConfiguration dari klien.
Opsi yang Diakui:
{
"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" ]
}
}
} Hak Cipta (C) TSUFEKI 2017
Program ini adalah perangkat lunak gratis: Anda dapat mendistribusikannya kembali dan/atau memodifikasinya berdasarkan ketentuan lisensi publik umum GNU seperti yang diterbitkan oleh Yayasan Perangkat Lunak Gratis, baik versi 3 lisensi, atau (pada opsi Anda) versi selanjutnya.
Program ini didistribusikan dengan harapan akan bermanfaat, tetapi tanpa jaminan apa pun; bahkan tanpa jaminan tersirat dari dapat diperjualbelikan atau kebugaran untuk tujuan tertentu. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya.
Anda seharusnya menerima salinan Lisensi Publik Umum GNU bersama dengan program ini. Jika tidak, lihat http://www.gnu.org/licenses/.