Page 1 of 1

Разработка на PHP - как задействовать LSP сервер PHP ?

Posted: 20.03.2022 08:00
by agb2008
В плагинах для CudaText есть LSP клиент. Возможно ли задействовать использование PHP LSP сервера ?
Например felixbecker/php-language-server: https://github.com/felixfbecker/php-language-server
или Serenta https://gitlab.com/Serenata/Serenata ? Они оба написаны на PHP...
Или может быть есть еще какие-то альтернативные варианты, облегчающие жизнь при разработке на PHP ?

Posted: 20.03.2022 12:49
by main Alexey
я и юзеры , уже давно пробуем найти работающий с Кудой PHP LSP,
https://github.com/Alexey-T/CudaText/issues/3901

Posted: 20.03.2022 17:41
by agb2008
В таком случае могу поделиться результатами своих тестов. Основной вариант LSP PHP сервера, который я тестировал это felixfbecker/php-language-server
Под Windows 10 - открывается черное окно консоли, но я не вижу даже стандартных диагностических сообщений, соответственно ничего не работает.
Под Linux (Rosa Fresh 2021.1 LXQT x64) - при использовании вот такого файла конфигурации lsp_php.json и варианта https://github.com/zobo/php-language-server:

Code: Select all

{
    "name": "PHP",
    "lexers": {
        "PHP": "php",
    },
    "cmd_unix": [
        "php",
        "/home/agbogdanov/Tools/phpls/bin/php-language-server.php"
    ]
}
если выбираю опцию меню Плагины->LSP Client->Debug: view server responces (current server) то получаю вот такую информацию:

Code: Select all

{'capabilities': {'codeActionProvider': None,
                  'codeLensProvider': None,
                  'completionProvider': {'resolveProvider': False,
                                         'triggerCharacters': ['$', '>']},
                  'definitionProvider': True,
                  'dependenciesProvider': None,
                  'documentFormattingProvider': None,
                  'documentHighlightProvider': None,
                  'documentOnTypeFormattingProvider': None,
                  'documentRangeFormattingProvider': None,
                  'documentSymbolProvider': True,
                  'executeCommandProvider': None,
                  'hoverProvider': True,
                  'implementationProvider': None,
                  'referencesProvider': True,
                  'renameProvider': None,
                  'signatureHelpProvider': {'triggerCharacters': ['(', ',']},
                  'textDocumentSync': 1,
                  'typeDefinitionProvider': None,
                  'workspaceSymbolProvider': True,
                  'xdefinitionProvider': True,
                  'xdependenciesProvider': True,
                  'xworkspaceReferencesProvider': True}}

Code: Select all

{'message': 'OK!', 'type': <MessageType.INFO: 3>}

Code: Select all

{'diagnostics': [], 'uri': 'file:///home/agbogdanov/src/PHP/ShapeInterface.php'}
Что наверное хорошо, но увы работать, как можно ожидать он LSP сервера он не хочет...

Хотя возможно я не указал какие-то опции в настройках - если так то прошу совета как же заставить его работать хотя бы в Linux...

Posted: 20.03.2022 19:05
by main Alexey
Помочь тут может только автор LSP plugin, я ему дал пост тут,
https://github.com/halfbrained/cuda_lsp/issues/113

Posted: 20.03.2022 19:22
by main Alexey
добавлю, что автор УЖЕ пытался настроить PHP server (не помню какой именно, может даже два варианта их) и запутался, "то ли сервер не едет, то ли плагин Куды".