LINUX.ORG.RU

YouCompleteMe

 


1

2

Ребята, кто используетс данный плагин и у него всё работает, просьба показать выхлоп $ pip list, изматерился весь, не могу завести, может у питона чего не хватает. В лог получаю:

2019-11-30 03:27:33,793 - ERROR - The language server communication channel closed unexpectedly. Issue a RestartServer command to recover.
Traceback (most recent call last):
  File "/home/pavlick/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 331, in run
    self._ReadMessages()
  File "/home/pavlick/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 450, in _ReadMessages
    data, read_bytes, headers = self._ReadHeaders( data )
  File "/home/pavlick/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 514, in _ReadHeaders
    data = self.ReadData()
  File "/home/pavlick/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 657, in ReadData
    raise RuntimeError( "Connection to server died" )
RuntimeError: Connection to server died
★★

YCM заработал при сборке с libclang.so, но хочется связку с clangd для signature help. Не получается.

pavlick ★★
() автор топика
Ответ на: комментарий от Unicode4all

Разобрался. Спасибо за наводку, это то, что надо. Дополнение, сигнатур_хелп, … .
Может плохо искал, но никто в доках не вспомнил, что надо сделать:

{
    "languageserver": {
        "clangd": {
            "command": "clangd",
            "filetypes": [
                "c",
                "cpp",
                "objc",
                "objcpp"
            ],
            "rootPatterns": [
                ".ccls",
                "compile_commands.json",
                ".vim/",
                ".git/",
                ".hg/"
            ],
            "initializationOptions": {
                "cache": {
                    "directory": "/tmp/ccls"
                }
            }
        }
    }
}

ycm однозначно на свалку.

pavlick ★★
() автор топика
Последнее исправление: pavlick (всего исправлений: 1)
Ответ на: комментарий от Unicode4all

Навскидку не подскажешь - как прокрутить окошоко с сигнатур_хелп? Например, 20 перегрузок, все не влезают.

pavlick ★★
() автор топика
$ pip list
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Package    Version
---------- -------
pip        19.1.1
setuptools 41.0.1
six        1.10.0
wheel      0.33.4
andreyu ★★★★★
()
Ответ на: комментарий от Unicode4all

YCM на петоне,

Нет, он на плюсах. Лишь биндинги на пистоне.

а CoC на тайпскрипте, поэтому твоя претензия не ясна.

Печально. А я только думал попробовать этот ваш CoC.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Не вижу проблем, на моей малине он летает. Clangd все равно в десятки раз больше тормозит.

Unicode4all ★★★★★
()

Насчёт CoC мои впечатления - ну нормальный signature help я от него так и не получил (выдается список перегрузок, не все вмещаются, как листать хз. Но можно задать кол-во строк в списке). Например, все конструкторы vector’а туда не влезут, а как листать неясно.

Сейчас перешёл на связку vim-lsp+clangd, сигнатур хелп тоже через зад, но перегрузки показываются в общем списке дополнений. И не тянет за собой какого-нибудь петона. Статья по настройке vim-lsp.

pavlick ★★
() автор топика

Мне вообще интересно - почему не может родиться хотя бы ОДИН норамальный плагин со всем плюшками и свистелками для плюсов? Ну это так сложно сделать нормальный сигнатур хелп? Всё через костыли, петон ещё и полурабочее.

pavlick ★★
() автор топика
Ответ на: комментарий от andreyu

Спасибо за список, у меня вообще 2.7 нет, только 3, может в этом дело.

pavlick ★★
() автор топика
Ответ на: комментарий от pavlick

А как у тебя signature help отображается? И что у тебя за редактор? За обычный vim не скажу, но у меня Nvim, там с версии 0.4 завезли попапы, и signature help отображается в попапе, который можно скроллить мышью или (не тестил) при помощи функции coc#util#float_scroll()

Скрин

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)
Ответ на: комментарий от pavlick

Сейчас перешёл на связку vim-lsp+clangd

Почему не ccls?

andreyu ★★★★★
()

Для тех, кто врдуг попадёт с поиска настраивая автокомплит. Остановлися на coc, начала работать прокрутка сигнатур (перегрузок) мышью после вставки «signature.maxWindowHeight»: 100, с дефолтным 8 не хочет. /home/pavlick/.vim/coc-settings.json

{
    "signature.enable": true,
    "signature.target": "float",
    "signature.maxWindowHeight": 100,

    "languageserver": {
        "clangd": {
            "command": "clangd",
            "filetypes": [
                "c",
                "cpp",
                "objc",
                "objcpp"
            ],
            "rootPatterns": [
                ".ccls",
                "compile_commands.json",
                ".vim/",
                ".git/",
                ".hg/"
            ],
            "initializationOptions": {
                "cache": {
                    "directory": "/tmp/ccls"
                }
            }
        }
    }
}

Иногда косячит, но это лучшее, чем вообще ничего. В gvim прокрутку так и не завёл (ну мне и не надо).

pavlick ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.