簡體   English   中英

本地依賴導致 Haskell Extension for VSCode 中的錯誤消息

[英]Local dependency causes error messages in Haskell Extension for VSCode

我正在嘗試結合pandocpandoc-types 存儲庫,以便能夠同時更改兩者的源代碼,同時具有 Haskel Extension for VSCode 的優勢(有關懸停自動完成的文檔

我使用了我自己對我的問題的回答中描述的兩種方法。 我能夠使用cabal buildstack build使用pandoc-types作為本地依賴項成功編譯我的代碼。

如上面鏈接中所述,為了向stack項目添加本地依賴項,需要更改以下文件:

flags:
  pandoc:
    trypandoc: false
    embed_data_files: true
    static: false
packages:
- '.'
extra-deps:
- pandoc-types-1.22
- texmath-0.12.0.3
- rfc5051-0.2
- haddock-library-1.9.0
- skylighting-0.10.0.3
- skylighting-core-0.10.0.3
- doclayout-0.3
- emojis-0.1
- hslua-1.1.2
- jira-wiki-markup-1.3.2
- HsYAML-0.2.1.0
- HsYAML-aeson-0.2.0.0
- doctemplates-0.8.2
- commonmark-0.1.1
- commonmark-extensions-0.2.0.2
- commonmark-pandoc-0.2.0.1
- git: https://github.com/jgm/citeproc
  commit: 1860f189e9995c1dc27a68893bedfbf8de1ee67f

ghc-options:
   "$locals": -fhide-source-paths -Wno-missing-home-modules
resolver: lts-14.6
nix:
  packages: [zlib]

...到這個:

flags:
  pandoc:
    trypandoc: false
    embed_data_files: true
    static: false
packages:
- '.'
- pandoc-types
extra-deps:
- texmath-0.12.0.3
- rfc5051-0.2
- haddock-library-1.9.0
- skylighting-0.10.0.2
- skylighting-core-0.10.0.2
- doclayout-0.3
- emojis-0.1
- hslua-1.1.2
- jira-wiki-markup-1.3.2
- HsYAML-0.2.1.0
- HsYAML-aeson-0.2.0.0
- doctemplates-0.8.2
- commonmark-0.1.0.2
- commonmark-extensions-0.2.0.1
- commonmark-pandoc-0.2.0.1
- citeproc-0.1.0.1

ghc-options:
   "$locals": -fhide-source-paths -Wno-missing-home-modules -exclude-module={Paths_pandoc.hs}
resolver: lts-14.6
nix:
  packages: [zlib]

但是這種變化導致大約 400 條A do-notation statement discarded a result of type <...>A do-notation statement discarded a result of type <...>警告A do-notation statement discarded a result of type <...>以及大約 40 條錯誤,例如Could not deduce ... arising from a use of ... 在 VSCode 的 Haskell 擴展中。 第一個警告實際上應該已經被 pandoc.cabal 文件中的 ghc-options 中的 -fno-warn-unused-do-bind 標志抑制了(假設這是擴展為了打印警告/錯誤而讀取的內容)。 但最重要的是懸停文檔無法正常工作。 編譯仍然有效。

由於我是 Haskell 的新手,我需要了解代碼庫,因此我確實需要適當的 IDE 功能。 但我真的不知道錯誤/警告是由什么引起的。 有誰知道如何解決這個問題?

對於我在問題中提到的情況,一般設置似乎是正確的。 為了讓 Haskell-Language-Server(擴展的基礎)正常工作,需要使用名為hie.yaml的文件設置hie-bios 在我的情況下,文件如下所示:

cradle:
  stack:
    - path: "./pandoc-types/src"
      component: "pandoc-types:lib"

    - path: "./src"
      component: "pandoc:lib"

    - path: "."
      component: "pandoc:exe:pandoc"

語言服務器正確啟動,沒有錯誤,並且本地依賴項不會在此過程中下載和構建。

但是,我仍然沒有使懸停文檔起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM