В Visual Studio нет кода наведения типа для Haskell - PullRequest
0 голосов
/ 09 сентября 2018

Я не могу получить свой код VS, чтобы показать зависания типа Haskell. Также нет автозаполнения. Все, что я вижу, это просто маленькое пустое поле чуть выше элемента, который я наведите мышью (см. Прямоугольник справа о функции "getArgs").

my VS Code with Я использую расширение "Haskelly", хотя я также пробовал расширения для редактора Atom, и результат был похожим.

Кто-нибудь имел подобную проблему раньше? Я использую:

  • VS Код: 1.27.1
  • ghc: 8.0.2
  • GHC-мод: 5.8.0.0
  • haskelly: 0,5,4
  • Интеро: 0,1.32
  • ОС: Linux Mint 19

Отказ от ответственности: Я довольно новичок в Хаскеле, так что, возможно, я делаю что-то ужасно неправильное здесь. Извините, все еще учусь;).

EDIT:

Как и предлагалось в комментарии, я переключился на Хаскеро и сумел добиться небольшого прогресса. Существует тип hover, но он содержит мусор.

enter image description here

Одна вещь, которая может иметь значение: я следую этому уроку: https://www.youtube.com/watch?v=a7R-2vtPLDM,, поэтому я использую Cabal, а не стек. Это имеет значение вообще?

РЕДАКТИРОВАТЬ 2:

Я пытался использовать стек, но результат был еще хуже. Расширение VS Code разбилось со следующим кодом:

The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
Configuring GHCi with the following packages: MyProject

Warning: Didn't find expected autogen file:
         <path_to_project>/MyProject/.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/build/autogen/cabal_macros.h

Warning: Didn't find expected autogen file:
         <path_to_project>/MyProject/.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/build/MyProject-exe/autogen/cabal_macros.h
<home>/.stack/programs/x86_64-linux/ghc-8.4.3/lib/ghc-8.4.3/package.conf.d/package.cache: GHC.PackageDb.readPackageDb: inappropriate type (Not a valid Unicode code point!)


  Code: -32603 

РЕДАКТИРОВАТЬ 3:

Все еще ничего хорошего, но немного ближе. Для встроенных значений и в том же пакете я вижу красивые типы наведения. Тем не менее, я вижу ошибки для значений из моих модулей при обращении к ним в других модулях (даже если они живут рядом друг с другом, и все прекрасно компилируется):

enter image description here

Есть идеи, как помочь с этим?

1 Ответ

0 голосов
/ 14 сентября 2018

Как самое быстрое решение, я решил установить Haskell IDE Engine (HIE: https://github.com/haskell/haskell-ide-engine) и использовать его с Atom. Хотя не удалось настроить его с помощью кода VS, но пока это нормально.

...