Size: a a a

2021 November 23

И

Игорь in Modern::Perl
А я не знаю кто тут vscode юзает. Тут вроде много кто придерживается формата "использую vim" либо идею используют.
источник

И

Игорь in Modern::Perl
Да и в vsc свет клином не сошелся на Perl::LanguageServer. Раньше я успешно использовал https://metacpan.org/pod/PLS и все устраивало))
источник

И

Игорь in Modern::Perl
А вот теперь выбор сильно ограничен. Или Perl::LanguageServer или ничего😁
источник

И

Игорь in Modern::Perl
Я его вроде даже запустить смог, но работает как-то частично. Дебагер работает, а вот "Goto Definition" что-то как-то не очень. И не пойму в чем причина и как вообще отладку сделать чтобы понять.
источник

SZ

Sergey Zhmylove in Modern::Perl
$Perl::LanguageServer::debug3 как вариант, тогда просто проверишь, нормально ли он распарсил. Хотя можно ещё debug1 и debug2 включить, там тоже что-то полезное можно увидеть
источник

И

Игорь in Modern::Perl
А как ему что-то скормить чтобы он распарсил? В нем всего 1 тест и то на use_ok для Perl::LanguageServer
Автор не очень тесты любит похоже😁
источник

SZ

Sergey Zhmylove in Modern::Perl
В смысле? :)) Так он же парсит твой документ в ide, судя по всему, нет? По крайней мере, там есть парсер в исходниках, можешь поставить эти дебажные переменные и глянуть лог
источник

И

Игорь in Modern::Perl
Ну в смысле - он для меня черный ящик. Ну поставил я его, поставил плагин в редакторе. А как оно вызывается и код ему передает - хз.
В исходники Perl::LanguageServer глянул, а там только 1 тест на подключение собственно модуля..
источник

SZ

Sergey Zhmylove in Modern::Perl
Ну поправь исходники, задай три переменные в 1, укажи прям в переменной log_file, перезапусти визуалку и посмотри в лог
источник

И

Игорь in Modern::Perl
хм...занятная история. По логам модуль работает, но реально ничего не находит. Что-то я упускаю походу.

На вызов "Goto Definition" лог такой:
 running: {} coros: {}
LS: end aio read cnt=23, buffer len = 23
LS: line=<Content-Length: 165>
LS: line=<>
LS: read data={"jsonrpc":"2.0","id":14,"method":"textDocument/definition","params":{"textDocument":{"uri":"file:///workspaces/perl/test.pl"},"position":{"line":4,"character":12}}}
LS: read header={ "Content-Length" => 165 }
LS: ---> Request: {
  "params" : {
     "textDocument" : {
        "uri" : "file:///workspaces/perl/test.pl"
     },
     "position" : {
        "line" : 4,
        "character" : 12
     }
  },
  "jsonrpc" : "2.0",
  "method" : "textDocument/definition",
  "id" : 14
}

LS: handle_req id=14
LS: method=_rpcreq_definition
LS: line 4: <use Data::Dumper;>
LS: word: <use> pos: 3 len: 3
LS: word: <Data> pos: 8 len: 4
LS: word: <Dumper> pos: 16 len: 6
LS: ok
LS: start aio read, buffer len = 0
LS: start aio read, buffer len = 0
LS: <--- Response: {
  "id" : 14,
  "jsonrpc" : "2.0",
  "result" : []
}


Говорит, что Data::Dumper не находит нигде.
источник

A

Alexander in Modern::Perl
Пару раз пытался. Потыкался немного, оно как-то вообще никак не заработало. В итоге забил и продолжил писать перловый код в саблайме
источник

И

Игорь in Modern::Perl
А в саблайме что есть для поддержки перла? В целом на саблайм не проблема пересесть, если там есть возможность по ssh подключиться к удаленному серверу и он умеет больше чем просто подсветку синтаксиса.

В VSC, если интересно  можешь попробовать https://metacpan.org/pod/PLS с плагином https://marketplace.visualstudio.com/items?itemName=FractalBoy.pls. Я на нем долго сидел. В принципе все тоже самое есть кроме отладки.
источник

DF

Denis F in Modern::Perl
раньше была, думаю что никуда не делась :)
источник

DF

Denis F in Modern::Perl
та же история, только в идее :)
источник

A

Alexander in Modern::Perl
Минимальная. Кроме подсветки почти ничего, все нужно доводить до ума под себя
источник

И

Игорь in Modern::Perl
Какие плагины там для перла использовать порекомендуешь? А то на словах вот и  Perl::LanguageServer все умеет, а на практике не все так хорошо.
источник

DF

Denis F in Modern::Perl
не подскажу, к сожалению. Я лет 7 уже только идею использую
источник

И

Игорь in Modern::Perl
Похоже, оно не работает в Perl-LanguageServer, автор вводит в заблуждение описанием.

https://github.com/richterger/Perl-LanguageServer/issues/94

Если кто-то захочет с перлом из VSC поработать, рекомендую попробовать второй плагин о котором писал выше.
источник
2021 November 24

SZ

Sergey Zhmylove in Modern::Perl
Так а что именно не работает?
Gо2definition вообще не работает? Или только для системных пакетов типа Data::Dumper, а внутри проекта работает?
источник

И

Игорь in Modern::Perl
Вообще, даже внутри проекта. Я тоже подумал сначала что может быть для пакетов не из проекта не страбатывает.
источник