
Tenkawa는 PHPS의 언어 서버로, PHPSTAN에게 요청하지 않고 빌린 강력한 정적 분석 및 유형 추론 엔진이 있습니다.
여전히 실험적이지만 사용할 수 있어야합니다. 모든 버그 보고서, 기능 요청, 제안, 질문을 환영합니다.
pdo_sqlite 확장으로 php> = 7.1이 필요합니다.
Visual Studio Code Extension은 여기를 참조하십시오.
composer create-project ( ~ 디렉토리는 예입니다)와 함께 : :
$ cd ~
$ composer create-project --no-dev --keep-vcs
tsufeki/tenkawa-php-language-server tenkawa/또는 repo를 복제하여 :
$ 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> -주어진 레벨 및 UP의 메시지 만 로그인합니다. <level> emergency , alert , critical , error , warning , notice , info , debug 중 하나 일 수 있습니다. 기본값으로 info .--build-index -서버를 시작하는 대신 표준 라이브러리 인덱스를 빌드하십시오.--config-json=<json> -기본 옵션은 구성을 참조하십시오. 예 : --config-json={"completion":{"autoImport":false}} . initialize 프로토콜 메소드의 initializationOptions 옵션 매개 변수를 통해 구성 옵션을 서버에 전달하거나 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" ]
}
}
} 저작권 (C) 2017 Tsufeki
이 프로그램은 무료 소프트웨어입니다. Free Software Foundation, 라이센스의 버전 3 또는 이후 버전에서 게시 한 GNU 일반 공개 라이센스의 조건에 따라 재분배 및/또는 수정할 수 있습니다.
이 프로그램은 유용 할 것이지만 보증이 없다는 희망으로 배포됩니다. 상업성 또는 특정 목적에 대한 적합성에 대한 묵시적 보증조차 없습니다. 자세한 내용은 GNU 일반 공개 라이센스를 참조하십시오.
이 프로그램과 함께 GNU 일반 공개 라이센스 사본을 받았어야합니다. 그렇지 않은 경우 http://www.gnu.org/licenses/를 참조하십시오.